Hi everyone. In this lesson, we're going to write function for Fibonacci series in Python programming language. Length of Fibonacci series will be given by user. First in first. What is Fibonacci series? Fibonacci series is a series whose first number is zero. Second number is one. And other numbers you will get by adding two previous numbers from that series. So for example, for the third member of series, two previous numbers are zero and one. So when we'll add zero plus one, we will get that the third member is one, because zero plus one is one. Then the fourth element is the sum of the two previous elements. Fourth element is a sum of one plus one, so fourth element is two. The fifth element is now sum of one plus two, which is three. The sixth element is sum of two plus three, which is five. The seventh element is the sum of two last elements, three and five. And that is eight. And list goes on. Now let's write function for Fibonacci series. Let's open new file. Okay, first we'll define function. Let's call it just Fib. And our function will have one argument. That argument will be the length of Fibonacci series. We'll use letter N for this argument. Now, if length of series is zero, then the result is zero. So if N is zero, if N is zero, we'll return zero as a result. Of course, you must notice that assignment operator in if statement will be with two equal signs. Next, if N is one, our function needs to return one as result. So we'll say if N equals one, then return one. Now, otherwise, if N is greater than one, then it will return the result of sum of last two arguments. So else we'll return sum of last two elements. We'll use recursion to call our function again. And as arguments, we'll put values of last two elements and they are N minus one and N minus two. So we'll be calling again our function Fib with arguments N minus one and with argument N minus two. And that is our function for Fibonacci series. Of course, there is other ways to write function if you go to the Python site. You can see this Fibonacci example of Fibonacci series. This version may be a little difficult for understanding for beginners. So I'm using this version, which is easy to understand. That's all for this video. Thanks for watching. Happy coding.


Welcome, Tom Potter talking to us, OpenStack and non-developers. OK, thank you. Take it away. Sure, thanks. OK, thanks for coming along, everyone. I hope you've all been enjoying the conference. So my name is Tim, and I've been working at HP with and on OpenStack for nearly five years now, which is a scary amount of time. And today I'm going to be talking about building a personal cloud with OpenStack. So this talk is aimed at a slightly different audience than other OpenStack talks that you may have been with. And the title kind of gives it away. It's OpenStack for Non-Developers. So my big idea is that last year, sometime last year, OpenStack has hit an inflection point where it's no longer the domain of solely developers to be able to install and use it. So today I'm going to explain how someone who isn't an OpenStack developer, someone who hasn't got a deep domain knowledge of how OpenStack works, someone with only basic sysadmin and networking knowledge can install, maintain, and use a small OpenStack system on very modest hardware. Now this is actually super exciting. I find this is super exciting because OpenStack is just a fantastic tool for getting things done. And it's actually pretty easy to run up a big bill on cloud services like Amazon or HP Cloud or whatever. And that can be OK if you're using it as part of a business or you have money coming in. But if you're at home and on a budget or whatever, then having a personal cloud that you can use for free is just a fantastic resource. So OpenStack is a hot new technology, which is kind of an understatement, really. I mean, there's a lot of hype about it in the tech press and the media, but also among general tech users. So I was at the dentist the other day and what do you do? I mentioned something about cloud and cloud services and then had to kind of get through 10 minutes of being barraged with questions about what cloud was and how it worked. And this is from my dentist. So perhaps I'm showing my age a bit here, but all the energy and excitement around OpenStack really reminds me of Linux itself about 15 years ago. So it's something that's taken the IT world by storm. And it's kind of upset a lot of existing products and companies' plans. And lots of big companies are announcing that they're doing something with OpenStack. And everyone's joining in, contributing kind of code and money, documentation and what. And of course, everyone's talking about OpenStack at conferences. I counted at least eight talks this year that were directly about OpenStack. We're all here at LCA because we love open source and we like building things with it. We're all here because we love tinkering. And I'm going to say that this is one of the best ways to learn about something. So typically someone like you or I would download the latest version of something, stick it on a machine, see what it does, break it, reinstall it again, and then think about how we can use it in our lives at home and at work. And this is what I want to be able to show you how to do with OpenStack. So right now there are about a half dozen or so kind of OpenStack distributions that you can download and start using for free. Hewlett-Packard has HP Heal-On, which I highly recommend. Rackspace have the Rackspace private cloud. And Morantis has a product called Morantis OpenStack, just to name a few. So these products are all great, but they operate at too high a level to do kind of serious tinkering and messing around with. So most OpenStack distribution style products are very much organic downloads. And you kind of install that image directly onto a server. And I think skipping over that initial install phase kind of cheats you out of an opportunity to learn what all the bits of OpenStack are and how they fit together and how they break. So I think you're going to learn a lot more in a build versus a buy situation. So there's a lot of piecemeal bits and pieces of information available on the internet about installing OpenStack in the form of blog postings, answers on Q&A sites, tutorials, and documentation by vendors on getting various situations working. But bloggers and people like that usually only document something that they've done, some complicated situation that they've solved or something that they've got working. And they kind of cut and paste a bit of configuration file and then say what they did. So it's a pretty disjointed experience, just kind of coming in and trying to work out what OpenStack is, how to get it working. So what I believe is missing is some basic getting started information for someone who just wants to kick the tires. So what about DevStack? If you've dipped your toes into this OpenStack thing already, you might have heard of DevStack. So DevStack is just a shell script that both documents and installs how to configure a complete OpenStack system. But it's geared more towards developers and particularly the developers of OpenStack itself. So it really isn't suited at all to production deployments or kind of long-term installs. My main problems with DevStack is that it doesn't always run to completion successfully because it's under constant development itself and it's got to cope with a lot of many situations. And it doesn't survive a reboot. So if something happens to your server, your DevStack system doesn't run. So you've got to run some scripts to get it going again. And it seems you've already got quite a lot of knowledge about existing OpenStack knowledge already before you start. But the good news is you can install OpenStack at home. What I'm presenting in the next section is a straightforward technique for installing OpenStack at home on a spare PC. So you're not gonna need huge amounts of RAM or a name brand rack-mounted server. Just a regular old desktop machine with a single network card will do. So I developed this talk on a five-year-old HP workstation that I had lying around with only 12 gigs of RAM in it. So we're gonna be using vendor-supported packages from a major distribution and kind of standard distribution tools and repositories that are actively being developed and maintained. And at the end, you'll have a working OpenStack service that you can use as a springboard to get started in cloud computing and OpenStack.  I started off writing this talk from the point of view of, hey, this is something cool, you might wanna try out, it could be fun. And then it went to, wow, this is actually really, really handy. And really, more than handy, it's insanely useful and everyone should have one of these. So I won't go back to the buzzword bingo side at the start, but having local access to a free method of virtualization and managing virtual machines is a game changer just personally and getting your own work done. You get all the regular benefits of cloud computing. It's cheaper, it's faster, it's more convenient. And having a personal cloud also gives you an extra freedom that you might not have considered before and that's the freedom to experiment. You can do lots of things on a public cloud service, trying out new software and new operating systems. And if you do that on a public cloud as Amazon or HP, the HP public cloud, that's reasonably cheap, it's 30 cents an hour, something like that. But just for personal, it's not really that cheap for personal mucking around. So I managed to rack up a $1,000 bill on the HP public cloud, just writing this talk, just firing up stuff and forgetting about it and fire up 20 virtual machines and accidentally leave a few of them running. Luckily I've got a free gratis account on the HP cloud, but if you're at home and you accidentally blow 1,000 bucks, you know, I don't know, that's not gonna be much fun. It has to be beans and rice for the next year or so. Okay, so what I'm presenting in the next section is the actual technique, straightforward technique for installing OpenStack at home on a spare PC with a very modest hardware and networking requirements. Okay, what exactly are we gonna do? We're gonna install the Ice House release of OpenStack. We're gonna install it onto Ubuntu 12.04. We're gonna have it use a range of IP addresses on your home network. So the particular OpenStack release and operating system I picked here, I just picked because it worked more or less straight off the bat the first time I tried it. But other OSes and OpenStack versions are certainly doable if you wanna put the extra work in. But for the purposes of getting something up and running at home to try out, that kind of exact details, they don't matter all that much. So the hardware requirements are quite modest. A spare PC, number one, a spare PC with a reasonable amount of memory. As I said before I mentioned, I developed this talk on a 12 gig machine with 12 gigs of RAM, but 8 should be usable as well. Number two, access to a console would be handy. If you end up messing up the networking, if you've got a keyboard and a monitor you can plug in, it'll be useful, or out of bands through your console. So if you've spent much time messing with Linux, it's actually surprisingly easy to lock yourself out of something by messing with the networking. I've done it many times and I'm sure people in the audience have too. Okay, the networking requirements are similarly quite modest. A single NIC and an undisturbed range of IPs on your local home network. So by undisturbed I mean your DHCP server isn't going to start handing out addresses for them in that range, sorry. And you can most likely change this quite easily in your home router. You just go into the web interface and tweak a few settings. So I've just described on the slide, my network at home is pretty standard, one, two, one, six, eight, one, dot zero, class C network, gateway at one, dot one, and I've twiddled the DHCP server to hand out addresses in the bottom half of the network. So up to and including dot 127, which means I've reserved the top half, dot 128 to 254 for OpenStack. And in the example here I'm saying the OpenStack host will live at dot one, dot two. So if you have general knowledge about Linux networking, that's pretty handy. So DNS, DHCP, most people know, have a basic idea how they work. ARP, the address resolution protocol, that's pretty important for understanding how things put together. And of course the, how things, how IP routing in Linux works, it's useful to understand for our setting up a server. So we're going to end up with a standard set of OpenStack pieces. Horizon, the web interface, which is actually really, really good compared to a lot of open source web interfaces. It's quite, it's quite, it looks quite good. Nova, the compute service and glance image service. Neutron for networking to allow your virtual machines to communicate on layer two and layer three levels. Cinder for block storage and Keystone kind of ties everything together for authentication. So even though we've left out a bunch of kind of fairly big and important projects, we've still got the essence of OpenStack here. The ability to create virtual machines, authentication, persistent storage, networking and a pretty interface to play with it. Okay, so we're going to install OpenStack using Chef and StackForge. So you might not be familiar with Chef. It's one of a growing set of automation tools that's basically used to install and configure software on servers. We're going to be using a set of cookbooks that are part of the StackForge project. And our StackForge project is a big set of tools and repositories used for building infrastructure. And it's what actually what the OpenStack infrastructure team uses to install and run the infrastructure to develop OpenStack itself. So Chef is actually a pretty complicated piece of software and it can do a lot. But for the purposes of just setting up a single server to mess around with at home, you don't need to know very much about it. To get started, you just need to create a configuration file, run Chef, and then you can mostly just forget about it. If you're running a production system or you want to keep up with a very latest version of everything, then you need to think about it a bit more. But just for, to creating a single-node server, you don't need to know very much about Chef at all. So I'm going to go through a series of command lines here, but don't worry about writing it down or understanding it completely. I've got some pretty detailed instructions of a walkthrough on the Wiki page for this project. It's on GitHub and username is teapot. And the repo name is OS4ND, which stands for OS4 Non-Developers. Okay, so here's just a very quick overview of installing a base operating system for our server. Firstly, we install Ubuntu 12.04 using a DVD or whatever your favorite method of getting an OS onto a server is. Secondly, we add an extra software repository, the Ubuntu LTS releases, which is the one we're using. They're not updated very frequently, usually only for security reasons or with fixed bugs that cause data loss or data corruption. So here we're adding the cloud archive repository, which is a collection of open-stack packages that's maintained by the Ubuntu cloud team. So this repository is updated a lot more frequently than the LTS operating system repository. And then we install a slightly more modern kernel, that port of the next LTS releases kernel and reboot. Right, so we can install Chef by just downloading a gigantic dead file from the vendor, and installing it using deep package. And fortunately, as is the case these days with a lot of kind of large complex pieces of software, they tend not to be packaged in Ubuntu or Debian. You have to use the vendor package. Secondly, we pull down an umbrella repository from Stackforge, and this is just a top-level repository that has a bunch of links and metadata that point to other parts of Stackforge. And then we run Chef's dependency management tool called Berkshelf for some reason. And that kind of just installs, pulls down all the dependent cookbooks and installs them locally. Finally, we create a configuration file that describes our setup, and then run Chef to install and configure OpenStack. And this process only takes about 10 to 15 minutes. It depends mostly on the speed of your network. And that's actually it. Thanks, everyone. Once you finish running Chef, you've got a very basic single node, more or less fully working OpenStack server. Okay, here's an example of the configuration file that we would feed to Chef. For a single node install, we don't really describe very much. I've left off a few things, so it fits mostly on the slide, but they don't matter too much. But the essence of it is that it's JSON, and you say what you want and what you don't want on there and kind of describe a few other components of what your system looks like. We've just got an IP address there that says which IP address that we're gonna listen on. One thing to call out is that we're turning on, even though this talk is called for non-developers, we're turning on developer mode, but don't worry about that little inconsistency. And developer mode in this case just says to Chef, don't try and install random passwords, just create well-known passwords because to configure random passwords for all of Chef, for all of OpenStack is a lot more work and I don't really wanna confuse everyone with that. So well-known passwords are fine for kind of mucking around at home, but obviously if you wanna install this at home, you'll need to do that a bit more. That's a bit beyond the scope of the talk, but I wanna put that up on the wiki pretty soon, how to do that. All right, so Chef, as I said, creates some well-known passwords and usernames. So we can start poking around with the system more or less immediately. The commands above set up the environment variables that are used by OpenStack's command line tools and you can start messing around with the OpenStack command line tools here or just head over to the web interface and start from there. Interestingly, if you run PS or any other kind of performance monitoring tool, it turns out that a base install of OpenStack with no virtual machines uses about two gigs of RAM. So if you've got a eight gig machine, that still leaves you six gigabytes for virtual machines, which is not bad just for mucking around. So one last thing before we can say that we're actually finished is that's to hook up a networking. I'm gonna go into lots more detail about the networking in a few moments, but I'm just putting up some command lines here to describe how to connect each zero of our PC to one of the virtual ethernet switches that OpenStack uses. And we're also creating a record for the slice of the external network that we're gonna be using on our home network. So if you remember back to the start of the talk, my home network was <IP_ADDRESS>. I've reserved the .128 up to 254 for use by OpenStack and the gateway is 1.1. And I'm turning off DHCP because we don't really wanna have two DHCP servers running on the same network that usually ends in tears. So networking, networking in OpenStack, it's probably the most complicated part of the system. And it's the piece that I had the most trouble understanding when I was trying to put this all together. And it took me a really long time to get it all together in my head. So hopefully I can save you all a bit of time and explain how it works for you now. Okay, open vSwitch, you might have heard about it already. It's one of the major components of OpenStack's networking service. And it's an open source multi-layer virtual ethernet switch. So if you think of a physical switch, with lots of cool security, monitoring and management features, but it's totally in software, an open source, then that's basically what OpenVswitch is. After we've run Chef and configured our network, as described previously, we ended up with two virtual switches on our server. The first is called BRInt, which stands, which is the switch for the OpenStack integration network. It's not internal. Which is confusing, it's integration. And this is the switch that the virtual machines get plugged into, and also OpenStack's DHCP and some other internal services that are all connected together on the internal, on the integration bridge. And BREX is the switch that represents our external network, and that is connected to our home network. So this is what networking looks like after Chef is finished on our home network. It looks like after Chef is finished on our, Chef is completed on our host. There are the two virtual network switches that I've just mentioned, BREI integration and BREX for external access. Now, unfortunately, these interfaces are confusing, sorry, OpenVswitch goes and creates some ports and interfaces to connect to these switches, but unfortunately, they're named, they're all port, the switch, and the interface are all given the same name as the switch itself. So if you're talking about BREX, then you have to kind of figure out whether you're talking about, you know, which bit you're talking about. Usually it's obvious, but something to not get confused about. And also notice we've got the ETH0 physical network interface, the only physical part of the system, just down there on the bottom left there. Okay, let's look at what happens when the networking, to the networking when some virtual machines are created. So when a virtual machine is created, it's given a virtual port on BRInt and gets plugged in and that appears as ETH0 on the virtual machine. Notice how there's no connection between the BRInt and the BREX bridges at the moment. So at this stage, virtual machines can only communicate with each other. They don't have access to anything outside the host. To allow virtual machines to communicate with the outside world, we need to link the two virtual switches together using a router, the virtual router, surprisingly. So the router operates at the level three layer, that is the IP address level. And for the most part, the open V-switch bridges operate at the layer two level, the MAC address level. So if we add a virtual router between the BRInt and BREX bridges, then IP packets can flow between virtual machines to the outside world. And notice we also, we actually also need to plug in ETH0 into, in a virtual sense, of course, into BREX. And that was one of the commands on the previous slide was telling open V-switch to plug the physical port into the virtual switch. Okay, so just to demonstrate, you know, how to hook up the networking, I'm gonna have a quick demo using a virtual machine. I didn't want to press my luck and try with native networking. So I've created a virtual machine on the laptop here. I'm just gonna give you a quick demo of yeah, of how to do this initial networking setup. Right, so I'm just gonna create and configure an unprivileged user to do this. And the same way that you don't do everything as root on your Linux box, it's not a good idea to do stuff in OpenSack as the admin user. So I'm just going to follow the instructions here. I'm just in the web interface, create a project or a tenant called demo. I'm gonna create a user and then I'm gonna sign out. So let's see how this goes. That's not what I wanted. Is that what I wanted? No, I think I might have messed up my, that's annoying. Okay. Right, so I was just gonna log in as admin. I was gonna zip on down to the identity panel, projects, create, create a demo user. Sorry, a demo project. Say drew on five demo. Okay. And I'm gonna create a demo user. Demo. Okay, and it's gonna be a member of the demo project or tenant. Okay, user demo was successfully created. I'm gonna sign out. Okay, that was easy. All right, the next step, I'm actually glossed over a little bit of exactly how the networking works in OpenSack. So in the previous slides, you might have got the impression that all VMs connected to the BR ints which can talk to each other. So that's not the case. Linux, some Linux networking tricks are used to isolate the different users from each other by using some private networks. So we need to create a private network for our demo user inside OpenSack. And I'm just gonna go through the instructions here and create a layer two and a layer three network with a dress up there. So to do this, we log in as the demo user. I'm gonna go to network. I am gonna create a network. Notice we can see the public net here. That's the slice of our external home network. Gonna call the demo net. Demo net. I'm gonna create a demo subnet, which has, sorry, which has that 10.0 address. And I'm gonna turn on DHCP and I'm gonna give it some name servers. I'm just gonna point at Google's ones because it's easy. Okay, so that is create, whoops. Okay, so that is creating a network for the demo user that only the demo accounts virtual machines can talk on. Okay, now remember we need to link the internal network and the external, sorry, the integration network and the external network together with the router. So I'm gonna go through the instructions here to create a demo router. And okay, I'll do that right now. That's quite quick. So yes, it's still logged in as the demo user. I'm just gonna pop down to router here. Create a router, demo router. Okay, and now I'm gonna set the one half of the router to point at the forwarding, sorry, the forwarding gateway, I'm gonna set to point at the public net because we want all packets coming into our gateway to go out to the public network or the internet or your home network. And we also need to hook up another part, the other half of the router I'm gonna add, I'm gonna add the demo network to the other side of the router. So now we've got two sides of the router, one on the internal side, one on the external side. And that's all nice and happy. Okay, I'm just gonna create a virtual machine and show that packets can go from the virtual machine out to the home, sorry, out onto your home network, in this case, the conference network, and then back again. Okay, I'm just gonna follow the instructions here. So I'll go to compute instances. I'm gonna launch an instance. I'm gonna call it demo. I'm not gonna call it demo router, thank you auto complete. I'm gonna give one of the chef installs a kind of testing virtual machine image here. So I'm gonna run that, and I'm gonna connect the virtual machine up to our little private network and launch. Okay, now we make a sacrifice to the demo gods and hope this comes up. It has every time I've tested it, it has. Excellent, okay, thank you. So I'm just gonna go to the console. So we should be seeing the standard Linux kernel boot up messages here. And in a few seconds, as if by magic, we'll get a login prompt. How good is that? So this is the, oops, demo. Okay, I'm just gonna log in using the credentials that are up here. Yeah, it's handy isn't it? More and more systems to do that I think. Okay. Okay, right. So if we, this is on the console of a virtual machine, it should be connected up to, it should be have an address in the 10 range on our private network. And let's see whether we can head out to our router and back again. Okay, well, we will just pretend that worked, okay? I won't tell anyone it didn't work if you don't. Oh yeah, right. Oh yeah, no, I had that. Okay. Oh yeah, no, I had to do this in virtual box before I started, but okay. Okay, so I know. Okay, right. 21683. Oh, okay, look, I'm not gonna have enough time to do all this, but this basically works, trust me. You can't connect from the conference network. We can, you can send pink packets to Google's <IP_ADDRESS> name server, but you can't get requests back. So you just need to, if I go back to my network configuration, I should say use the conference name servers, which are 130.something. So yeah, that was, I didn't, I didn't remember that I had to deviate from my script and install different name servers, but yeah, although you can ping, yeah, anyway. Yeah, you should, you should, but I have only gotten another 10 minutes to get through the rest of this, so. Right, so I've already done this. I've logged into the console with the credentials. I have shown slash not shown the networking works and VMs, don't forget the VMs by the same tenant can see each other at the layer two level if they're on the same network and virtual machines from different tenants are completely isolated and they can't communicate with each other at all with each other at all. Okay, this next test demo should work because I'm not using our names. I'm going to create a floating IP and attach it to the virtual machine. So if we just instances, right, so what we're doing is we're actually, yeah, so what we are, what we're doing here is we're saying to open stack, please give me an IP, please allocate me an IP address from my home network and assign it to a virtual machine. So publicness will be on 192.168, but the demo is a bit different because it's running locally. So it's giving me a floating IP and I should, I'll associate that with my demo virtual machine. Okay, so the demo virtual machine here has two IP addresses, one on the demo network and another one on the external network. And if I ping, I'll put a bit more of this on the screen for you. Right, if I ping <IP_ADDRESS>, that should, that's me talking to the virtual machine using a floating IP address through the router. Okay, we'll just get back to, watch and lean, we've got to zip through the next bit. Okay, networking, I'm gonna go over it again. So this is what the networking looks like with some IP addresses attached. We've got two virtual machines, dot three and dot four. If dot three wants to talk to dot four, it'll do it in the same way that physical machine would dot three sends out an up request. It says, hello, I'm dot three. I'm looking for the MAC address of dot four. And dot four will receive that broadcast request and say, hello, I'm dot four. My MAC address is whatever. And then the two virtual machines can communicate with each other. For packets heading out. So if you wanted to ping, you wanted to download some software or whatever from your virtual machine. This process is quite similar. Dot three knows that it needs to send out packets through the gateway dot one. So it would send out an up request and find the MAC address of dot one. And then once the packet hits the router, some source NAT happens and it rewrites the source address of the packet to be the address of the OpenStack host, which was one dot two in our example. And the packet zips out the internet and comes back again. For public IP addresses, the flow is pretty similar, except in this case, whether the packet goes out to the router, the, in the source NAT stage, the router changes the outgoing IP address to be the floating IP address, which in the example is one dot 128. And then it goes out to the internet. Packets coming back in will be addressed to one dot 128. So the router needs to act as a proxy ARP server. So it will, it knows that it needs to respond to ARP request for itself, but also for dot 128 and other IP addresses that it's responsible for. So on ETH0, if someone asks for the layer two MAC address of dot 128, our dot two server will respond by proxy for it. And that's how we can send packets out and back again. And I mean, obviously the floating IPs allow incoming connections to your router virtual machines, which is the, which is the thing. So you can set up an open, if you set up an open-sack server at home, by using floating IPs, you can have other users on your network connect to services on your virtual machine. So you might want to set up a Minecraft server or a web server or something that's accessible on your local network. That's what we'd use floating IPs for. All right, so we've got a basic open-sack system. We can boot virtual machines, talk to the internet, except incoming connections using floating IP addresses. So I'm just gonna go over a few bits and pieces to help you get more out of the system. Okay, operating your cloud, obviously these things need a little bit of maintenance and kind of day-to-day troubleshooting sometimes. So open-sack is it's not, you know, it's not a black box. Although it might be a collection of black boxes, but it's not, it's just a collection of REST interfaces. And these REST interfaces are in front of lots of Linux technologies that you might already have familiarity with. So for Nova, I mean, this is a bit of an over simplification, so sorry, Michael. Nova is just a REST interface in front of LibVert. Keystone, you know, it's a REST interface that interacts with MySQL or some other backend that can perform authentication. Cinder, for just a local machine, we can use LVM2. Glance just kind of allows us to read and write disk files, you know, fundamentally. And Neutron is a REST interface in front of, again, a bit of an over simplification.  So troubleshooting your little server. So what do you do when you find something that goes wrong? You're looking at log file. What's the second thing you do? You poke around in the configuration file to see if it's not configured the way you thought it was. What's the third thing you do? You go search on Stack Overflow.  Networking is probably the only really tricky thing to worry about. It uses a few projects that I guess your average system admin might not have seen so much. IP network namespaces, something I hadn't actually heard about until I started messing with OpenStack. That's the technology that allows much in the way control groups and Docker kind of allows process isolation. Network namespaces allow network namespace isolation. And OpenVswitch, it's got a bunch of command line tools that you can use to kind of poke around at what's going on. Okay, back to Chef. So at some stage, if you want to kind of mess with the configuration of your server, you might want to change some part of Nova. So the very, very simplified process of doing this is you work out what configuration file you want to change. Say it's nova.conf. There'll be a template file somewhere in your cookbooks that you've downloaded called nova.conf.eab. You take a look at that file, work out what template variable you want to change and then add that to your configuration file and rerun Chef. And Chef will rewrite that nova.conf file and then restart the write services so that things will start working again. So for example, if you want, I'm running right now, I'm running OpenStack inside a virtual box VM. So you can't run, well, apart from the fact that it's a Mac and it doesn't do KVM, if you're running on Linux, you can't run KVM in KVM. Mindless prior arrangements with management have been made. You can run QEMU in KVM though. So you're running QEMU in QEMU, which is a bit slow. But nonetheless, that's a useful thing to do. So it turns out that nova has a little configuration parameter that you can change. So you change the vert type from KVM to QEMU and by poking around in the template file, you can see that the attribute, the JSON variable you're looking at is in a dictionary called OpenStack compute libvertvert type. So we add that to our JSON file rerun Chef and everything's good. Okay, again, a bit of oversimplification but this is the general idea. So this is what this would look like. This is the configuration file I used to build a virtual OpenStack on VirtualBox. So we probably can't remember the previous JSON file but we've just added, I've just added OpenStack compute libvertvert type and set it to QEMU. Okay, to start off with virtual, sorry, opens Chef, right. So when Chef installs OpenStack for you, it gives you one very small image that's basically only used for testing.  There are a couple of places you can do that. Ubuntu has a site and Red Hat has a site too if it's got links to other images. So you just download a couple of hundred megabytes of disk image and then run glance image create to import that. Or you can do that through the web interface as well. That's pretty easy. Okay, block storage, for a single-node OpenStack server we can use LVM. So if you've got an extra disk in your server or if you had the foresight to partition it with LVM beforehand, you can configure Cinder, the block servers, the block storage service to use LVM, a volume group. So there's just some commands on the slide there of how to create an LVM volume group called Cinder Volumes and that's kind of standard stuff if you've done LVM before. So using Cinder gives us persistent storage for our virtual machines, which we can do snapshots and backups with. You can actually use NFS if you enjoy working with NFS but not many people do. Okay, finally, multi-node setup. I haven't considered it in this presentation. I wouldn't think that too many people would have the resources lying around at home to install a multi-node situation but if you do some Chef tricks, you kind of split the services into some control node and some computer-only services and you install them on different nodes. But the interesting thing to know, multi-node networking is a bit more complicated. OpenStack creates a third virtual switch called BRTUN and then it creates a mesh between each compute node so they can all talk to each other. Okay, thanks. There's a lot of... Okay, so there's a lot of islands of information about OpenStack in the form of blog posts, Q&A sites, vendor tutorials and documentation but I don't think there's not a huge amount on really basic getting started stuff. So I hope in the previous 45 minutes you've seen how straightforward it is just to install a server and start using it. Sorry, and start using it. So if you're gonna only remember one thing from this talk, it's this. In 2015, you don't need to be a developer to install and use OpenStack effectively.  And I once you're over that kind of initial hump, learning, initial hump in the learning curve, you can move forward and start, you're discovering more about how OpenStack works. So installing OpenStack isn't an end in itself in the same way that installing Linux or Apache or MySQL isn't an end in itself. OpenStack is just a tool and these tools, you can use to solve problems and build solutions. So you might wanna install an OpenStack server at work after building and testing a software. But whatever you do, realize that OpenStack can be used in the small as well as in the large and it can allow you to cheaply and freely experiment with whatever the largest thing is. So thank you for listening everybody. My email address is up there. If you wanna say hi or have any questions, I don't forget the wiki link is also up there as well for a more detailed walkthrough. Thanks very much. We have some time for some questions if you've got a slide. The networking you just set up, is there a reason we're doing two bridges with a router instead of just connecting the VMs directly to BREX? I think that's just the way, you probably can configure OpenStack just use one, but the way the StackForge cookbooks have implemented it is to have two bridges so you can, if you wanna move to a larger install and do some more tricky things, it's easier to have two bridges and they're virtual and they're free effectively. So, hi. Just, I've got a few questions, hopefully some of them are very quick. Any particular reason why using Precise instead of trustee for your server? There was a problem with Chef and trustee, some interaction that I could have spent days fixing but it may be fixed now but. And what about Swift? Was there a particular reason that it couldn't be included due to the constraints of the environment? Oh, no, not so much an environment, it's just I didn't think that would be something that someone at home would necessarily want to use. As a home user, I'm just assuming your use case would be running virtual machines and services and that kind of thing, so there's no reason why you can't do Swift as well. So it could be deployed on their hardware?  And last one, proxy app in the Neutron gateway, is that all automated by the adding of the floating IP process? Yeah, it is, yeah. There's this horrible, horrible set of IP tables rules that gets done on your behalf which you probably don't want to look at them. And does all of that run on the host system, not in a separate networking router instance or something? No, it's all on the host system and it's all virtual inside Linux and whatever IP table rule, so you don't need anything else. Almost there. Long way away. Just a quick question about ARP security and network isolation, what if I'm running in an untrusted environment and what if somebody changes the make address, somebody changes the IP address, what can the protection is there? Thank you. Yeah, that's kind of beyond the scope of what I'm considering here. I don't know the answer, I'd probably go and find someone else who knows more about Neutron and ask them the question, sorry. We have time for one more question, I think. With the console, that was a text-based console. Is it, the console, is it graphical or is it just text? It is, if you have a Windows server, would it still give you a console? Yeah, it's an embedded VNC client which talks to a VNC server in QEMU, so I'm not sure whether that's graphical or text, it's probably more graphical than text, but it's VNC. Hi, would it be possible to have a quick look at the IP config of the host virtual machine that you were running that in? I'm just interested to see what are those virtual interfaces surface themselves. Ah, let me get rid of this guy. Let's see. Okay, of the virtual machine, okay. I'll see if I can get this done quickly, otherwise you might have to talk to me afterwards. The host. Oh, the host, ah, right, sorry. I think the answer might be no. Ah, keyboard weirdness. Right, yeah. I can go through some of the, I understand some of this, I can go through it with you, it's probably doesn't, I probably can't tell you in 30 seconds, but come see me after. It's a bit complicated, there's the answer. Okay, thanks again, everyone. Good point, thank you very much. Thank you. I'll see how we'll talk and... Cool, thank you. The organizers, cool. Thanks.


First, I will introduce myself. My name is Michal Koneczny. I'm a senior software engineer in the community platform engineering team. And I'm working on Fedora infrastructure. If you are wondering about the head, this is something I'm doing for as a maintainer of riskmanitoring.org. I'm writing a blog post and it's taken as a magical word. And I'm trying to keep it that way. And I decided to vote a head that will represent it. It has, as you can see, the cord that is here or the part of the head is actually blue and white. So it corresponds to the Fedora cores, which is nice. OK, you can find me as Lopez, which is my nickname on the metrics, on IRC, on mailing list. So yep. OK, so let's go for it. OK, so this talk will be separated to three parts. First, I will do some quick introduction to Steam Deck. I assume that everybody who is here actually know what Steam Deck is, otherwise we will not be here. But I will still do some quick introduction. Then I will talk about the installation of Fedora on Steam Deck, how it actually went. Spoiler art, it went good. And then I will talk about Fedora on Steam Deck and how was the experience with it. And at the end, I will do some summarization what is the whole grade the experience was. So first, the Steam Deck. OK, so the Steam Deck is a gaming handheld developed by Valve Corporation. It has custom IMD APU based on Zen2. So it's actually x8664 processor. So it works like any other PC. Just have different controls and different control options. And it's designed for the gaming. It has three storage options with NVMean storage. It has Steam Deck Verified program, which says on the Steam what game is actually verified. It's, for my experience, it's an amazing device because from the time I got it, I didn't even start up my desktop gaming station. So I think it's awesome. It contains Arch Linux based OS 3 system. It is called SteamOS Hollow, SteamOS 3 Hollow. And it's dedicated for the gaming, so it has some perks that you will see. But you can work with it like any other Linux distribution. But in my case, I wanted to try further on it and see how it will work. OK, so first for the installation of Fedora Phone Steam Deck, I decided to have some docking station that I can actually use because the docking station is, it's hard to actually do some things on it without the keyboard and mouse. So I decided to first have the docking station. And I decided to go for the one you can see here. It's from Czech computer store. You can buy it. It's not really cost, it doesn't cost much. You need the power delivery for the docking station, at least 60 watts. The 45 watts is for the Steam Deck itself. And the remaining one are for anything you want to put in, like the monitor or any external devices. I got the charger with 65 watts. The output of this docking station is 100 watts. So if you want to use it, you can use it even for hungrier devices. And what I decided to actually install, in my case, I'm a big fan of silver blue of OS3, OS3 distribution or OS3 versions of Fedora. In my case, I have silver blue and kinoite on my machines. I think the only exception for this is the server. But for everything I'm using, I have OS3-based image. I really like how the OS3 is managing the updates that you actually switch from one OS3 image to another on the Restart. And then you will end up in new system. It's easy to get back if anything doesn't work. And you don't end up in actually broken state, because you can always return to the previous image. At least I never get to this state from silver blue 28. OK, so let's start with the installation. So first thing you need, you need to get to the boot manager. This is done by actually powering off the device. And then when you are powering it up, you need to hold down volume down button. And if you hear some chime, you will just release it. And then you get to this menu. I actually used the USB flash drive. I prepared the silver blue using the Fedora Mediowriter. And the USB flash drive was just hooked up in the docking station. And this was the result of it. OK, I'm sorry for the quality of the images, because I just took it with my phone. And in most cases, it was with different lighting. So every image is kind of different. But now you can see that the Fedora installer is working. This is Anaconda. There is one big issue with the installation. And this is that you don't really have the support for the resolution you need. So I'm not sure what is the support for Anaconda, but the Steam Deck display has 1,280 by 800. And as you can see, you don't see any buttons, but you can press, except for help. So it was just trial and error with top key and enter. In most cases, just to switch to the right one. And this is the installation again. But the worst case or the most difficult thing that I needed to do during the installation was to actually format the drive, because I had the pop-up window that I should choose all the file partitions that I need to actually rewrite. But I didn't saw any buttons. So I just trial and error and just actually get it to install. So yeah, this is another thing that the Carlos is mentioning. If you are doing the install, you need to have at least the keyboard book in, because the controller only touchpad works. So you can move with mouse, but because you don't see the buttons, you can actually press anything. OK, so and this is our first boot. You can see the federal logo on it. I have it right here. So this is how it looks after. I hope it's visible. And later, this is just the first boot, but on the other boots, you will see the Steam Deck logo as well, but I don't have any picture of that. So let's see. And this was the first boot. Welcome to Federal Linux 36. I got through all of this. There were things that worked that didn't work. This is actually the installation was great. The only issue was with the resolution. Otherwise, I didn't saw anything. But yeah, as mentioned here, you really need to have a keyboard connected to the Steam Deck during the installation. And here is just the usage of Fedora on Steam Deck. So this was the first run. What worked? The docking station worked really well. I didn't saw any issue with anything. I plugged in the charging work, everything worked. Resolution worked. On the Fedora, it was set up on the first run. Without issue, the display worked. Battery indicator worked. What is the issue? The sound doesn't work. I looked into this and Steam OS has some kernel modules for their own sound card, or for the sound card in Steam Deck, which isn't really in upstream kernel yet. So you will not have any sound in the Steam Deck. You can have it. I heard that in the Nobara Linux, they have some patches for it. But otherwise, the Steam OS is just the system that is created for it. So in Fedora, the sound was the issue. And the second issue was with the fun. The fun is lower than it is on the Steam OS. Because in Steam OS, there are some software patches that will actually changing the speed of the fun. Because people were complaining that these do load, and they actually do some software patches. But those are not upstream as well. So you have the fun when it's really start working. It's just noisy. OK. And the external peripherals, mouse and keyboard work, this was just connected to the docking station. I didn't saw any issue with them. Problem was with the monitor. You can see that I have a monitor running. The middle one is actually connected to the Steam Deck. And it's just the extension of the screen of the Steam Deck. The mirroring doesn't really work well because you will have the same resolution as on the Steam Deck, which isn't really great on big monitors. The thing that didn't work really on the monitor, the monitor sometimes started as a black screen that built-in display on the Steam Deck when connected to the external one. And this wasn't really an issue. If the GNOME or the Fedora itself detected that the screen is not working, but it actually started with it. And even in the login screen was because the built-in display was the primary one, everything was on it. And you didn't even saw the login screen. So you needed to do it from memory to actually just type enter, type password, type enter. And you don't see anything. This happened sometimes. It's not something that is happening every time. But yeah, it was annoying. And I decided when I was plugging in with external monitor to actually disable the built-in display because it caused other issues, which I will show up later. So no, without the docking station. So I wanted to try how it will be to actually work with it without docking station or use it without docking station. I was very surprised by how the on-screen keyboard is working. But I'm not sure if it's possible, but I didn't find an option to actually have it on all the time or at least on some shortcut because it actually shows up only if you click on any input. But in some apps, it didn't actually detect that you are on the text input. So actually, when I started Steam on the device and wanted to look into the Steam, I didn't get the on-screen keyboard. So I needed to plug in to the docking station and just do it with the keyboard. The touchpad worked without issue. Touchscreen worked without issue. And most of the keys on the Steam Deck works without issue. But they are mapped to something on the keyboard like D-pad is actually working as keys, as arrow keys. The A key is working as enter. The B key is working as escape. And there is some other keys that are mapped to something else. Next thing is working on the Steam Deck. I actually spent one day when I tried to work on it and do some of the things I'm doing on my working laptop. Most of the time, it actually was just to set it up. I needed to connect to a configuration repo I have. I needed to install some apps. I just layered them on top of the Western image. In some cases, I tried some of the flatbacks. So what worked? Terminal worked without issue. I didn't saw actually any device where the terminal didn't work. So yeah, I wasn't really surprised here. The browser worked without issue. As you can see, I have it open on the image on the right. This is actually me creating weekly report for a community platform engineering. So this was what I was trying to do on it. What didn't work were the video meetings. Obvious issue. And this is obvious because the zone doesn't work. So you don't have a microphone or the zone card. So it doesn't really make much sense to do a video meetings. Text editor worked. I used the VIM and Spacemarks also. So yeah, I didn't have any issue with those. I would say that most of the flatback apps will actually work. For the Office Suite, I have here that it worked and didn't work. It didn't work for me the first time. But this was maybe caused by the built-in display issue because it just put in the log that it can't file to open display. And on the other time, it actually worked. So I created part of this presentation on it. So you can see here that this is actually part of it was done on the Steam Deck. And the last thing that I tried was the SSH to it from other device which worked without issue. And this was more or less everything I tried to do as a working on it. OK, so let's switch to the next one. And this is what the Steam Deck is actually made for. So I tried to game on it. For the Steam, I have here that it's more or less working. What didn't work was the flatback version of Steam. Flatback version of Steam doesn't have the Udev rules. So it doesn't recognize the controller. So it's unusable with the Steam Deck even connected on Fedora. And the next thing I tried was the layered Steam. I found out there is some issue with the GPG key in non-free Steam or PM Fusion Steam repository. It just didn't take the key. So in this case, I just did a workaround by just disabling the GPG check, and it came up. I don't think this is a good resolution, but I don't think there is anything bad with the repository when it's actually in Fedora from start. This worked. I have all the Udev rules. I have the controller working in this case. I tried the big picture mode, as you can see on the left image. It worked without issue. Everything was smooth. Everything really worked. The controller, all the things on the controller worked. I was surprised, as you can see, the last thing that the gyroscope worked. I wasn't sure about this on the issue. And the game performance was really well, except the sound. There wasn't any sound. But I tried the aperture desktop, which is the game that was created for the Steam Deck from start. So it actually tries everything on the Steam Deck that is able to do. And everything worked in this case. I even get to the part of the game where you're actually trying to gyroscope, and it worked. So only think that it didn't work, but the game is actually expecting that it can't work. It could be possible that it didn't work. It was when you need to actually use the microphone or use the keyboard to... Yeah, there was one issue with it. You should press F12 when you are trying to take pictures, which the Steam actually didn't recognize it as Steam Deck. It recognizes a Steam controller, which worked. But yeah, you didn't have everything on it. It has all the controls actually worked. But yeah, it wasn't recognized as Steam Deck. So the things that it wanted you to do, it there was keys, actually press the keys. And the F12 wasn't really mapped on the Steam Deck. So I just waited and the game just skip it. When you don't do it in some time, it will just skip it. The same for the microphone part, because the microphone didn't work, because of some driver issues. And this is actually everything I have. There are some links in the slides. I will share them in the schedule on the wiki. So I will look at the questions here. Oh, so first thing is which version of Steam Deck I have. Oh, I have the biggest one, the 512 gigabytes. I didn't want the smaller ones, because I just don't need that much space. But it's better to have more space on the device than just using the SD card. I heard that the SD cards are really, really good. But yeah, I'm just happy with it. I didn't even feel it with 20% of the full space. So I'm happy with it. OK, so next thing is from Carlys. Have you tried Steam Hollow mode up on Steam Deck with Fedora running on it? I didn't know there is any Steam Hollow mode, actually. I looked at the game scope, but only saw that it's just as compositor available, but not really Hollow mode. I didn't try it, because I didn't know it exists. But yeah, it's something I can try. But yeah, I didn't. Next is, did you end up trying Nobara Linux on the Deck? I didn't, but it was recommended to me. I will probably get back to the Steam OS Hollow because it worked really well. And from last update, I saw they actually solved plenty of small issues they had. So yeah, I will get back to this. I will leave it to someone else, some other explorer to actually try it. And next one, what work do you think is required to make Fedora fully viable for Steam Deck? Do you think Fedora Workstation's level could be best suited or would gaming sick fit the bill? OK, so yeah, I actually promised you the summary of this. So the Fedora on the Steam Deck runs well. I think what would need to be done to actually have the Fedora as a viable option on Steam Deck would be to have the HoloMode on it, as mentioned before. Because it's much easier to actually work with everything when you have everything done for the controller. Expect that the controller is actually doing this. But the next thing that will be nice will be to have some, at least for GNOME, to have some keyboard shortcut for on-screen keyboard. Because there are some things that you can do. For in Steam Deck, in Steam OS 3, Holo is actually option to press the Steam key with the X and with the X key and you will get the keyboard everywhere. This is working everywhere on Steam Deck, which would be nice to actually get something like this. And the last thing are the drivers for things that are not really upstream like the sound. The sound was actually the only issue I really have something to struggle with. Because if you get to the big picture mode, it's usable, you can do much with it. I'm not sure if you will not have any issue with it in other games because some of the games, even on the Steam Deck, in the Steam OS, will just say to you that you need to press some keys on keyboard that you don't actually have. You can map them in the Steam input menu, but this isn't really a solution if the game wants it for you and you just need something to map. But yeah, I think the Fedora is actually a good system for the gaming itself. The main reason I think this is because they have most of the time the latest drivers, the latest kernel, so it works with most of the newest hardware. I have Fedora Kinoite on my gaming station and it's working without issue. I really didn't have much issue with it. The issue is usually with the game, not with the system itself. And on the Steam Deck, I think the Silver Blue is actually a good match. Maybe the Kinoite will be better. I didn't write it. But yeah, it was one of the things I actually tried to decide over if I want to try Silver Blue or the Kinoite on this. And Silver Blue was actually the winner in this. OK, so next one. How was GNOME on the deck without any peripherals? In comparison to that, that was chosen for SteamOS. OK, so KD on SteamOS has some things that are actually just added for the SteamOS. Like if you get to the desktop mode in the Steam Deck and you will get to this in the SteamOS and you will get to the desktop screen, there is a Steam running in the background and it will actually enable for you some controller things. Like you will have the shortcuts for making the magnifiers screen so you can magnify part of the screen. You have the shortcuts for the keyboard. You have shortcuts for other things. But otherwise, the controls as such worked on the same on the Fedora. I didn't really need to just get used to anything else that wasn't working on the SteamOS itself. But yeah, I would say that the SteamOS is still better suited for the Steam Deck as it is. OK, so next one. Do you think Valve should have chosen Fedora over Arch? This is their decision. I'm not sure if they will be better with Fedora. They will still need to do the work they did. But I would say that it will be easier for them. It depends when they were actually choosing it. Because the Arch Linux, if it's OS 3, is their invention. I don't think the Arch has OS 3 version. And if they go with Fedora, they could just take Silver Blue or Kinoite and just do the changes on top of it. So I would say that it will be for them. It will be easier. But it depends on them. Creating an OS 3 image isn't that hard, actually. And I see the last question. Who was the storage space usage? The base of SteamOS SteamHolo has been trimmed to save as much possible for games. Who did Fedora fare with storage? OK, so I actually didn't check that. So let me just check it. OK, so there's one more issue I actually didn't mention. If the Steam Deck goes to the black screen, just dimming the screen, it's usually just kidding. It can't be wake up. There is some issue with the display. So yeah, let me just restart it so I can check the space. But yeah, the trimming of the space is something you will need still from the Fedora Silver Board to actually remove everything that you don't really need. Because it will just take out the storage. So yeah, I think the Fedora is a viable option for it. I just need to look in. I can see that the most filled in is boot partition. And for the home, the home partition has only 22 gigabytes actually taken. So most of the space is left for you to actually use it for anything. OK, so you have on this device, you have 22 gigabytes only taken and I have already Steam and some games actually installed. And the last question, I think we are over time. But yeah, it didn't kick me out. So I will just continue. What are your favorite games to play on your deck? So I'm usually playing the single player ones. The Aperture Desktop is really great. It's funny, but it's really short. So I can recommend it to anybody who just want to try it. It's good to try on the new Steam Deck just to see what the Steam Deck is capable of. But the best game I played on it was, I would say that for me, it's the visual novel games, because the visual novel games are really good that you can actually take Steam Deck with you to your bed and just before you go to sleep just going through this visual novel. But I tried plenty of games. I tried some strategies. I tried some FPS. And all of them are actually playable. Some are better for the Steam Deck because they have more console-rated controls. Like, for example, Resident Evil is really great to play on Steam Deck. But I played the Prey, which is the FPS game, and didn't really saw any issue playing it. Because if you want to actually just aim with it, you will use the joystick. And if you want to do some aiming that you need to be more precise, you will use the touchpad. It's convenient. And you can even use the Gejiro scope. I didn't really use it in FPS, but I know people that are actually using it. So this was the last. Oh, yeah. I see that Carly's actually mentioned that some games have also specific optimization for deck from the developers. Yeah, this is true. Especially the ones that are Steam Deck verified are really working out of the box. Only some I saw that actually have the very verified. But didn't have some issues, even then. So it's not 100%, but most of the time, if you see anything that is verified, you will just install it, start it, and it works. It works, and you can play. OK, so yeah, this will be all from me. Thank you, everybody, for staying here with me. I hope you found it interesting. And maybe next time I will game up with another experiment with Steam Deck. We will see.


Well, yes, I'm based at UCL, but my main passion at the moment are these other things that you mentioned. So Tech Mums is a programme which aims to get Mums Tech Savvy. So we decided that. We want to show the whole world how exciting technology is. And we were trying to think, well, so who should we start with if we want to get the World Tech Savvy? Who are the key influential people that will help to spread the message? And we decided that that would be Mums because Mums are like the cornerstone of the family and everyone respects their opinion. So if we get Mums excited about technology, then we can get the whole family excited about technology and then we can get the whole world excited about technology and see what benefits there are from technology. Well, I think it's really important to make ICTs relevant to girls. I think that probably having some lessons with girls being taught on their own and not in mixed lessons would probably help. I think a focus on problem-based learning. So thinking about how to solve problems using ICT will probably work better with girls and women than just his IT, get on with it. So I think problem-based learning really helps and helping to show how all the communication around technology is really important. And so showing how technology helps you connect to people around the world and helps you, can help you to achieve amazing things. We should all be involved because girls in ICT are going to be women in ICT. They're our future and at the moment there aren't enough women in ICT. So we really need to make sure that we get girls excited about it, get girls into ICT now so that they will be our future, hopefully our future leaders in technology and if we get them excited about it now, who knows what they'll be able to achieve.


Lisa, you're on three out of four. Are you satisfied with the way your games have gone so far? Well, with the points actually I'm satisfied with my second game loss against Vigil Goff. It was quite upsetting because I had a very good position. I had a great advantage, but it was a complicated position I must confess and each move was kind of important and at some point after move 21, I think engine Lisa switched off and became normal Lisa. And this was a problem. Okay, today and yesterday I beat someone weaker, so Right, and now you're somebody who comes back to jib again and again In fact, last day you were here as a commentator and now you switched back to playing at the tournament Yes, I wanted to gain some experience in commentating. It was with Simon great fun But I think like every girl like here who was a commentator at some point They they felt like to come back to the game and this happened to arena And I guess this also happened to me and you miss playing when you see everyone else is playing I think when you are a player by birth or let's say like we are I mean arena and me We are actually professional players and at some point. I mean, it's nice to always gain new experience I mean I used to teach eight months in Ankara for instance just to do something new But at some point you always get back to that what you're actually doing Right now just coming back to that game against Vigil Goff. You were doing really well out of the opening You were better and of course he's a very strong player and you felt like you were close to almost sealing that point And then you went terribly wrong. So how do you cope up with that with that loss then to come back the next day? It's a good question. I'm not sure actually I cope with that episode at all But at some point the next game actually I played against some Indian girl I mean your last board from the national team event in Baku brought to share water I played her and actually like I really felt this anger in me and I really like killed her basically like I mean I had a very tactical game and I sacrificed This is sometimes very dangerous when you are still angry from the Previous defeat that you put all your anger in one game. It could also like backfire, but fortunately, you know it went well It went well now You're also someone who actually takes part on in all the social Fun and the social side of the Gibraltar chess festival. You were playing the Blitz yesterday How important is the social side of the festival for you? I think the social side of this festival is what one of the unique ones in the world I think it's something compared to Gibraltar. I haven't seen in any other tournaments like this Like for example like this four places to play it's a battle of the sexes I mean probably like Gibraltar should try to get a pattern tried on that No, I mean like I think it's important to socialize because what I understood is like when you Are by yourself and you basically don't communicate at least for me. It's very bad for my chest So I really know I need since I'm also a woman, you know, we like to talk I mean, I really need to like to have my friends around and if you are in good mood It's also better for your chest at least in my case. They are like other cases where they Preferred to be by themselves to save energy, but this is individually different. I think right and now besides the fun part How else do you unwind here? What is it that you do to sort of unwind and get ready for the next game? What do you mean by unwind unwind doesn't like just when you're tired or exhausted after a long round How do you cope up with that? Well, I never like I mean you should actually sleep early, but somehow I don't manage Actually like one of my plans is like I make breakfast and then after breakfast I go back to sleep So a lot of rest do you think it's more important to land up at around fresh or is a lot of Preparation how do you how do you divide your time in the morning? What's more important for you? I think it's a certain age. You should try to save energy I'm not sure I crossed a certain age being over 30, but I would otherwise those who have like a white rubber I mean I play everything was white was black So I am not like in a risk to run into some deep deep preparation usually And this gives me a lot of spare time like in order not to prepare too deeply and if I don't play someone too strong I just decide on the first move if I see something in this repertoire which might be surprising I check it but today for example, I spent 10 minutes and yesterday I went shopping so So well that clearly works for you and good luck for the remaining rounds. We hope to have you back in the studio Thank you


Namaskar! I'd like to share a few stories that have inspired me, molded my perceptions, built my attitudes. This happened when I was sixteen. It just had my most life-transforming experience of being gang-raped and being told that I deserved what I got. Then coming to this brilliant inspiration that I wanted to work for victims of sexual violence and more specifically victims of commercial sexual exploitation. For some reason I did not think I should go and do some internship or volunteer with an organization that did similar work. I wanted to go and learn on my own. Then I started searching for places where prostitution happened and I started frequenting a place where a large number of street prostitutes worked. It was very funny, I was sixteen, four feet six inches and still I am four feet six inches, I have not grown taller but at that time I used to think I will grow taller someday.  Can I do something? They couldn't understand what was my motive or my agenda, why have I come here? What am I up to? Went on for many weeks, many months, nearly four and a half months just going there, watching the Tamasha women getting, going with the customers, coming out, pimps beating up people and all kinds of drama going on. One day when I landed there, one particular woman who had was being very abusive to me, she had actually spitted on my face once she called me and said you want to do something for us. There is a child there, go do something for her.  I believe she was brought four days back there. She was raped by many men over. Men were just taking her inside the lodge, raping her, putting ten rupees inside her blouse and just leaving her there.  It took me five days to understand where this child came from. Finally managed to understand that she came from a particular village in the outskirts of the city. Took another three, four days to arrange for a vehicle and on the D day I said I'm going to take this girl back and I cautiously asked them, is anybody who would like to come with me? Three women came forward, very nasty. They said we don't believe you whether you actually take this girl or not. I said okay, please come. We went to the village, as we neared the village this child started recognizing everything she started recognizing the lanes, the by lanes, the shops and everything and then we reached her house and she wouldn't go in, she just wouldn't go in. She was shivering, we didn't know what to do I had no clue what to do, this was my first case I looked at these women and one of them said let's go and meet the village head, the panchayat we went there and then these three women completely took over they started convincing the village head how this girl had lost her way, she'd come to our colony and that they kept pointing at me that this madam is the one who's trying to help her this girl is untouched, nothing has happened to her she just came to our neighborhood we took care of her for the last four or five days and I was shocked these three women I had been seeing them for the last four months this particular woman who was getting beaten up by her brokers her pimps, every now and then another woman once who got so badly beaten up by her customer her eyes was black, her lips was bleeding she could barely walk and these three people were defending the chastity of this child saying that nothing has happened to her she's, you know, as pure as she went from here and we've taken care of her convinced the village head to take care of this child the village head called the family the child belonged to and it came out that this child's parents died four months back and her paternal uncle who wanted the property, kicked this child out of the family the child lost her way, she went to the highway she went somewhere and somebody caught her and threw her in this prostitution den what stuck me in this story, in this incident one, disability especially mental retardation, being mentally challenged how that physical exclusion makes a person more vulnerable to abuse another thing that stuck me very hard in that incident is these three women they had absolutely no reason to help this child they had absolutely no reason to do anything for this child because the society has not given them anything for that matter there they were standing defending this child telling the village that this child is pure and she is ten, everything years later, in 1995 when I started Prachvala, my organization I had another understanding of exclusion I started my first intervention as a small school for prostituted women's children this was in a vacated brothel and next to the vacated brothel were a few transgenders who lived there very silent partners for my work silently providing me security silently providing me all that I need as an emotional base just standing there one day, when I came I saw the 16 year old transgender her name is Kajal her feet completely cut it was blood oozing out, pus oozing out it was a gory sight and I asked her, I said, why are you not going to the hospital? and she said, going to the hospital all the humiliation there all the snide remarks and all that is far worse than the pain I am going through I had a few rupees in my hand those were days that I had no money I just sold my earring to mobilize some funds to pay salary and rent of that small space with that money I took Kajal took her in an auto rickshaw to a hospital that I knew got her admitted, treated I forgot 20 days later I had an invitation for a party those were days that I didn't have much work to do so I went for the party party hosted by the transgenders I thought because I had become a little friendly with them they are calling me for a party when I entered I was shocked this whole path full of flower petals this little simhasan a seat, high seat kept for me this party was in honour of me 50 transgenders came together to celebrate my goodness that I had helped one of their community two months back Kajal, while she was begging in the train was pushed out of a running train by the ticket collector who felt transgenders are such nuisance I wonder in this world of inclusion that all of us live in do we have that kind of generosity this group of human beings who have been so much excluded just because of the way they were born in our minds, in our emotions, in our attitude in the way we provide them no access to opportunities that they have nothing else to do when begging or prostitution they had the generosity to celebrate goodness for the first time in my life attending the TED conference was an experience of inclusion for me experience of meeting incredible human beings who included me in their compassion and empathy when I reached TED my landlord was evicting me I was not getting a space to rent I couldn't find a place because nobody wanted these kind of women in their premises I nearly mortgaged my house when somebody came as a benefactor and helped us buy some land I couldn't buy any land inside Hyderabad so I went 60 kilometres away from Hyderabad bought this ten acres of land bare land my challenge was I already have 400 and odd children youngest child that I've rescued from prostitution is around three and a half years old and the oldest is around 45 I have already 450 of them 400 in the shelters and 50 in different hospitals where do I take all these kids I have to have a children's home I have to have an adult home and since I'm going somewhere in the wilderness I jolly will have the hospital, the school and everything in that place that's when I came to TED and this incredible support followed and the Google grant which is making the whole thing possible TED was not just about money it was also about inclusion of different kinds whole new world of opportunities for our survivors today my girls are working as camera women in a very prominent TV channel they're working in a software company they're working in the eye hospital for the incredible generosity of the mind people have shown opening up their hearts it was also about networking meeting hundreds and thousands of people getting thousands of emails of disclosure of young men and women who have been sexually abused and who pledged that they will break the silence around them where am I today I stand at the threshold my own challenges challenge of finding people to work with me finding people who can be committed for the cause we've been attacked three times in the last one year mob attacks of 400-500 people coming and trying to destroy the shelter traffickers infiltrating into the shelter as victims and destroying the shelter from within attack on my life and every time that has happened somebody from the mainstream world who joined us support us has resigned and gone it's a challenge for me how do I build this team how do I create systems and structures to be more sustainable how do I maintain the faith that is bestowed on me create transparency and accountability in the movement that I've built but one thing I'm 100% sure today I'm more than ever obsessed with my conviction only when the most excluded only when the most rejected only when the most isolated gets included only then we will have a world which will be a better place for all of us to live in thank you