We've, I hope you're here because you're interested in Container D, but we've actually called it the Container D and Friends update because we have quite a few sub-projects now that I know many are interested in. Who was able to be in the keynotes and see Derek McGowan give our video update? That was pretty cool to have Derek involved. He's got a new baby at home, so he couldn't be here this year. A lot of times he and I have been tag teaming this talk, but I'm always amazed that people still come to hear about Container D.  But you know, we're a pretty core foundational runtime, but maybe not super exciting in the sense of like tons of new features, but we're going to try and cover a little bit about where the project is going. You heard from Derek if he saw that video, kind of our release cycle updates. So there's four of us here. It's going to move a little bit quick. I'm just going to give the intro, some of the community and release updates. And then you can see we've got Maxim, Michael Zappa, and Mike Brown. We're all maintainers of the project as well as many others who are even some here in the room. And so hopefully if we don't cover the thing you're interested in, you can find us after the talk. You can find us around this week. Grab us and take us to the sponsor showcase and find a seat. And we'd love to chat about anything you're interested in. So as I said, I'm going to kind of rapid fire go through a few hopefully interesting updates. That is that we currently have, we're about to have three release lines under development. One five would be end of life, but we've just extended that into January. So a few more months and we just made a release to catch a few back ports of bug fixes. So folks that are still using one five, there's still a few months of support for that. One six is kind of the biggest news. We just made a read me update and I have a slide about that in a minute. We just made our latest release just a few days ago of one dot six. That's probably kind of the most stable and used version of container D at the moment. That's what a lot of projects are importing. And then of course there's our main branch where we've been working towards our one seven release. And we just released the beta zero for that yesterday. Derek mentioned that in his video. And so that's where a lot of the new functionality and kind of our stepping stone towards 2.0 that Derek mentioned. So a bit more about the LTS release, our long term support. So we know a lot of folks again like container D because of stable and kind of slow moving in a sense. And so we wanted to take the release one six branch again because one seven is kind of a stepping stone towards 2.0 and some deprecations. And we want to make sure people have a well supported container D branch they can use for many years. And so we've extended that out through 2025. And I will read this paragraph. You can go to the releases.md in our repo and read what we're trying to define as what does it mean that we're going to have long term support? What does it mean for back porting bug fixes? What does it mean for CRI changes and Kubernetes releases? And if you see something there that doesn't sound right or sounds like we haven't really defined it well enough, we're happy to take input, open an issue and let's talk about how we can properly define what it means that we're going to have this LTS release. And again, one six is going to be that for now. A couple of community updates. One, obviously Docker is still a huge consumer of container D. And they now have been working towards for quite a while, but have announced this integration, this deeper integration with container D using snapshotters and image store.  But I think one of the main benefits is that a lot of the innovations in container D around snapshotters will now be able to be exposed up through Docker as well instead of having their own push and pull and image management and graph drivers. So that's something we've been looking forward to for a long time. Also, many of you know that the Docker shim deprecation has finally come to pass. And so there's been a lot of talk about migration and using container D. And we've definitely seen an uptick in contributions and interest in users, which has, again, been great for our community. We've got a lot more contributions. I put some stats there on growth. It's always a little bit hard to find out very specific data on user growth. We don't have telemetry. We don't know about downloads. But definitely there's some different reports that come out every year that have shown pretty significant growth for container D as a Kubernetes runtime as well. So I'm going to touch on a few more sub-projects before I turn it over to Maxim. Nerd CTL, a very popular client. Akihiro is here. The creator of that has grown into an amazing community. They just released their V1.0, released just a few days ago. This gives you a Docker-compatible UX for essentially having a Docker client-like capability built on container D. And Lima is kind of a co-project that allows you to then expose that on your Mac by having a lightweight VM where Nerd CTL and container D run. And so that project has, again, grown by leaps and bounds. And there's, again, a lot of amazing updates that Akihiro provided about support for lazy loading Snapshotters, new logging drivers, network drivers. And just also big news that Lima joined the CNCF Sandbox just a few weeks ago, which was a huge milestone for that project. I just mentioned lazy loading Snapshotters. This has been a really cool area of innovation around being able to pull just the pieces of images you need just in time to allow for faster start times. StarGZ is probably the most well-known that was created initially as an external project and then in 2020 came in as a non-core sub-project of container D. Based on that, a lot of others have been coming up with new innovations and ideas around lazy loading. Our team at AWS came up with Sochi Seekable OCI format. And so we've open sourced that Snapshotter this summer and looking for interested parties who would love to collaborate around Sochi. It uses some of the new features around OCI and the references working group to allow you to not have to modify the core image that you built, but to have this index that's referenced and allows you to know how to seek into the GZIP tar files of your layers. And then NIDA Snapshotter also has been around a little while and just this year they contributed as a non-core sub-project that's a block based lazy loading Snapshotter that relies on a few other projects like the overlay block device driver that they've written. So again, a lot of innovation there, a lot of interest around that, and it's cool to see these innovations basically coming that aren't tied to container D's life cycle. These can be developed separately, have their own communities, and integrate with container D. So at this point I'll turn it over to Maxim who will share more about Rust and some other projects. Thank you. So a couple years ago we got Rust version of TTRPC, our lightweight communication protocol that container D DEMON uses to talk to its streams. And this year we have added a few more additions to our Rust family. We have open source Rust crates. These are crates that let you write plugins and extension for container D DEMON, obviously in Rust language. And currently we've got seven different crates. We have JRPC clients so you can interact with container D DEMON from your Rust program. There is also Snapshotter crates. So container D has the concept of proxy Snapshotters. These are Snapshotters that can be communicated via JRPC protocol. So basically these crates let you write custom Snapshotters by just implementing a single interface. And everything else is taken care of by the library. And also we offer a full set of crates to implement custom streams if you want to benefit from Rust speed and safety features. So this stream library aims to provide same seamless experience as Go version. So basically you just implement a task service interface that manages container lifecycle. And everything else is hidden from the user. So the library will take care of parsing command line arguments, evaluating an environment, running into the RPC server behind, and so on. And also it provides both sync and async versions of the code. In addition to stream library, there is a Rust version of RunCshim. This work mainly serves two goals. So first one, we wanted to provide a reference implementation. So people have an example how to write custom streams end to end and how to work with the library. Second one, it's a fully featured production ready stream implementation. We run some integration tests on OSCI against the stream. And originally it was adopted by people from Huawei Cloud. They run it in production on more than 5,000 nodes. And they've got quite decent resource utilization. So on decent environments, you can expect more than twice better memory consumption. Now what's coming in 1.7 release? We're introducing two new APIs. The first one, we continue to work on sandbox API to quickly recap its new set of APIs that add a notion of group of containers. And by group, we mean really anything here. So it's a certain entity that allocates resources which makes sense for a particular group of containers. For instance, in Kubernetes case, it can be a pod sandbox that reserves a network namespace for your pod and runs a post containers that serves as a parent process for these containers. But with sandbox API, we can substitute this with something else, like hypervisor. Sandbox implementations will be provided by container dshims. So shim expected to implement this new controller interface that will manage sandbox lifecycle in addition to containers lifecycle. And this interface is going to be optional. So when implemented, container dshim know that the shim supports sandboxes. Otherwise, we'll default to current implementation with containers. The demon itself will remain implementation agnostic. So we'll have no knowledge of what kind of sandboxes we are running. In future, once fully migrated to sandbox API, we want to explore more whether we could get rid of post containers at all as a concept. So it's not enough to for shim to just implement sandbox interface. Someone has to call it. And this is where our CRI plugin comes into picture. In current implementation, when we schedule the code our CRI layer manages pod sandbox directly. And instead, the goal for 1.7 is to add extra level in direction. So instead of managing pod sandboxes, CRI will be calling our sandbox API instead. And in this case, pod sandbox will become one of controller implementations. The other one that we plan to add is remote controller that will call in shims via TTRPC protocol. So while working on this to keep things from falling apart and to prevent breaking existing customers of container D we decided to fork CRI server and do all refactoring work there. The new implementation can be enabled with enabled CRI sandboxes environment variable if you want to give it a try. And we plan to have it a default implementation in 2.0. Another new addition that we plan to get in in 1.7 is transfer service. So high level, it's a new API to transfer artifacts from source to destination. And in other case, source and destination will be plugins. So we can request a particular plugin when we initiate new transfer session. So this table on the slide it demonstrates current functionality supported by container D but all of this currently happening on client side bypassing container D demand. So every user of this client defines how they want to use it. There is no central place to configure it. For instance, today, container D demand does not participate in pull operation. It's all happening on client side. With transfer API, this will be moved to demand side and will be implemented as a source and destination plugins. So let's take as an example this pull operation. So we will be using registry as a source plugin. So we will be downloading container image from OCI compatible registry. And we use image store as destination. So container D will be saving this image locally. However, now with transfer API instead of registry we can request a different plugin. For instance, it could be S3 storage. And this way we can pull directly from S3 to and download images locally. These are some new use cases that we want to cover in future. We plan to implement new plugins, plugin types in container D core for image signing and validation. We also exploring better support of credentials, image encryption and so on. Some further work that we plan in sandbox API is, in further work that we plan is in box API integration. So container D shims will be able to provide its own plugin implementations and this unlocks a lot new use cases. Such as, for instance, confidential computing. So you can pull image directly to sandbox bypassing host machine and this way achieving higher level of security. Or support cross platform image pooling and unpacking. So Michael is gonna give you update on CNI. Michael, over to you. Sweet deal. All right. Yeah, I'm gonna be talking about the Kubernetes interfaces updates which will just include the CNI. Mike Brown will do the CRI and NRI changes. Sweet. So let's discuss the CNI. This should be a come at no surprise that the Docker shim is no more. And a few people asked me to clarify where the CNI is being invoked. And we'll get that clarified. For those that don't know, the CNI is what is responsible for the setup and cleanup of network resources in Kubernetes. And with that, we have our updates. So right now I've been working on the CNI and container D workflow diagrams to help clarify where the CNI is actually invoked. And we'll be posting that to the CNI container D GitHub repos. There is a big change around the run pod sandbox CRI method which is pretty much the glue magic of the pod setup. We had to do some reordering which was to fix a bug that surfaced itself as IP address exhaustion if the container exited with an error. We captured some future work to improve this cleanup in the event of failure. So look for that. The CNI maintainers actually intend on deprecating the loopback plugin. It's actually not a really true CNI plugin.  So we intend on making that transition rather seamless. You should even know it was there and you probably won't even notice the change after it happens. If you're curious of the why's and how's just come find me. With the removal of the Docker shim, your plugin and network configurations are configurable in the config Toml and the defaults are the same ops CNI bin for binaries Etsy CNI net D for your network configurations. And just dovetailing off of that, please test your updates and not in production. There's a few hiccups when that happened. One thing that we'll be focusing on was myself, one of the CNI maintainers also contained a demaintainer is how we support the CNI 2.0 moving forward, especially around the multi network cap that is currently in play. So just to give a quick overview of where the CNI comes in, I wanted to clarify a few items. If you have any specific questions, please come find me. But just for where everything starts is everything starts once the pod is bind it via the CUBE scheduler. And the CUBE, Kubelet will use is the sync pod method to reach out to the API server to determine if it needs to schedule pod on the specific node. Once this happens, the Kubelet uses the run pod sandbox CRI method to call container D. In the order of operations from a high level R, the sandbox container is created, the network namespace is created, and then setup is called. And setup is what actually calls CNI add, but that's actually a, we use a go, our own wrapper called go CNI, that wraps lib CNI. And that calls add network list, execute plugin with result, and then exact plugin. And that's actually what calls CNI add. And then at that point, the sandbox container is now started. And what actually starts the regular containers is the create container CRI method. And that's called by the Kubelet as well, right after the run pod sandbox. And that's what starts the ephemeral container, starts the init containers, and then starts the normal containers, now many you have. And something that's often missed is status. So if you don't actually have your CNI setup correctly, AKA you don't have a network configuration, your binaries are missing, status will actually call back up to the Kubelet and say you're not ready. So you won't be able to actually schedule pods on that node until you do so. So that's often missed. When a pod is actually terminated, the kill pod function is called, was responsible in the Kubelet. And this is calls the stop pod sandbox CRI method. And from a high level, this stops the containers and then stops the sandbox containers and then actually calls the remove function in go CNI. And that actually calls the Dell network list, which executes your CNI plugins in reverse. And then you call the exact plugin without result, exact plugin, and then the network namespace is deleted.  And if the pod sandbox is not stopped, we're actually going to go ahead and call the stop pod sandbox. And then that's what removes the containers, then removes the sandbox container state. And then the pod is officially gone. Mike, you're up. So we're an open source community, right? We work together with the Kubernetes teams. We work together with the CNI groups. We are always looking for new reviewers, new maintainers. Mr. Zappup is a new maintainer for container D and reviewer. He's been doing a great job for us around CNI. He called me up about a year ago, I think it was. And we were chatting and slag, saying, what's going on? How does this thing work? And the next thing you know, he's doing pull requests and doing designs and make it all work better and helping with the CNI group as well. And I know now he's working with Microsoft on the same topic, right? We see a lot of our maintainers move to different companies and everything, but it's great that they never seem to leave. We're keeping our maintainers. We enjoy the feedback that we're getting from you guys. We like working with, I'm a, say, node member, try to get into all of the calls if I can. We work with the CRIO team and other container run times, other providers of the APIs down in the lower level. And the CRI, this Container Runtime Interface, is that API that sits between Kubelet and our container run times that we call Container Runtime Integration, proof points, we make sure that your pods, your containers run the same on all of your nodes and all of your clouds, on all of your bare metal systems. And that's what our job is to make sure that everything's working out well. The current API is at the V1 beta stage, which means it's not done yet. We're continually adding new features, new functions, new fields, if you will, to the CRI structures and APIs. And right now we're at the O25, which is a mirror of what the current version of Kubernetes is at. We bring in these, we've entered the stuff in and we make sure that the APIs work. And we're always looking for help and adding new features. For example, there's been some issues over the last few years around isolation and security. Well, we'd like this user namespace support to be one way that you can isolate better your pods in the containers with a user namespace isolation as done in Linux and not have to wrap it in a virtual machine so that you can protect yourself from a user exit of a container getting access to root. Today, if you wanna have that extra layer of protection outside of the existing namespaces that Linux supports for containers, you would have to have it at a VM, okay? And with user namespace support, we'll be able to give you an extra layer of isolation. We have an open issue and we're still working on PR, details to be worked out on the container D side, but we know what we need to do. Checkpoint restore, this is an interesting effort that's been going on for a long time by Adrian and Reaver and a bunch of people down in Linux, if you know about CryU, but basically the idea is you freeze your container, make a copy of everything, including memory, store it on disk, and then you should be able to debug the container and resume that container and restore it. We don't have it working with pods yet, that work is underway, and we currently don't support freezing and restoring containers, you know, by default, there's a feature branch, you have to turn it on, and it's mostly focused on the forensic effort right now, we're gonna do things like secure the where we're storing your checkpoint, so stuff going on there, registry configuration. So, apologies here, it's hard to configure container D, admittedly, we do support configuring to point to your registries, but I think it's important to point out that we don't own the job of actually doing that, we share it with Kubernetes, Kubernetes has, as you may know, image pull secrets, and they own the mission, Kubelet does specifically, of pulling your images through the cry API, so when a new pod is coming up, what they'll do is they'll ask the container runtime, what is the status of the images for all these containers that I need to run in this pod, and then based on that point, they'll start calling down into the container runtime in an imperative way, asking us to pull those images, and of course we have to do that resolve, and you may have seen some earlier APIs that we're gonna do to make this better, but come ask questions if you need to know more details about how this works. So, NRI, Michael put together an interesting project called NRI, it's been one of our sub-projects, and we're improving it to support actual running programs that could use the TTRPC API to request for changes to your specs, OCI specs. This is to be able to support additional advice types, the Intel team has been doing a lot of work here, they would like to be able to improve the way we configure OCI specs, and Kirsten Licky is doing some work here, come to the Friday call and we'll have more detail on that. OCI, of course OCI is the base spec for containers, we're working continuously with the OCI team, we're actually maintainers as well with OCI, there's been a new work group that was successfully bringing forth artifact support into the spec, and we're working out some details, but basically we would like to be able to not just pull container images, but also artifacts from your registries that are associated with those container images, things like gas bombs and image scanning results, and other types of projects that are underway. So please come talk to us about how we can enhance support for container images with these new artifact types, and how they work and what we're gonna do in container D around that, okay? I think we have time for questions, and Phil? Yeah, go on, amazingly we are on time, which not to throw my kind of the bus, but we thought we'd talk longer than that, so we're great, we're in good shape. So the CNCF asked us to put up this QR code, only scan that if you think we did a great job and you wanna submit feedback. No, you can provide any feedback on the talk there. I don't know how, I don't see Mike set up in the room, but we do have five minutes, I think, before the official end of the session, so any questions in the room? And again, if not, we're happy to stay after. The question was, was that diagram about the CNI flow post the fix about the IP exhaustion issues we had? The answer was yes, that is in our main branch, and I think it actually made it in 169 release just a few days ago. Yeah, so question is, is there also a diagram of before we made the ordering fix? Yes, so if anyone else is interested, Zappa can help you out with that. Go ahead, yeah. Yeah, yeah, good point. Yeah, so in prior talks, there's the CERN folks that have the CVMFS Snapshotter, there may be others. Apologies, there are a lot of interesting innovations in Snapshotters, yeah, in this talk, we only mentioned lazy loading, but like Maxim said, the ability to have a proxy Snapshotter means, as long as you handle the simple Snapshotter interface, you can write that on top of a distributed file system or whatever interface you'd like. Yep. Yeah, what was your name? Okay, yeah, so Jerry's here in the room, distributed file system, Snapshotter, yep. Cool, anything else? Yes, sure. Yeah, so question was docker shim deprecation. If I'm no longer running Docker on my node, what's the implication to pods running on that node that may have expected certain things about the Docker environment? Also follow on, now I have a problem and I go into that node and now there's no Docker, how do I debug? So yeah, there's a few great blog posts that have been written since the 1.24 release on some of those topics and I'm sure we can't exhaust it here, but one is that there are some nice tools that people have written to detect pods that are trying to mount like the Docker socket.  Container D doesn't offer a Docker socket, not the Docker API. So that's kind of probably the biggest thing we've seen people have issue with is I had something that depended on Docker, I had something that mounted, expected the Docker interface. For debug, obviously there's a lot of improvement in tools that are using the CRI, so CRI, CTL or Cuddle or whatever you wanna call it. That can talk to any CRI runtime and do a lot of the same list containers, list pods, stop, start, list images. So some of those same command line tools are available. Again, you lose some of the muscle memory of well, I knew the Docker commands, a lot of those similar things are available. We have a simple CTR tool, there's NERD CTL, so some of these tools are filling in the gaps of I can still do poke around, see what's happening, what's the status of my tasks or processes. Yeah, so again, there's a lot more on that and I think there's some good blog posts that have been written about how do I convert what I'm gonna run into as I transition. So we are completely out of time, but thank you all so much for coming. These slides will be on the sked.org site under our talk. If you wanna follow up with any of us, we'd be happy to. So thank you so much.


As the forehand is lifting, I could squeeze and release my abdomen and my reins and I could ride him up as if this, and it's a downward transition, but I want to ride a downward transition as if it were an upward transition, like a plane taking off a runway. So when I ride him down in transition, I don't want him plastering his weight on the front end. So I ride a downward transition as if it were an upward transition.


Hi, this is Dr. Ashok B.C. I am a consultant plastic and cosmetic surgeon associated with Manipal Hospital for the last 14 years. In our department, we cater to almost all plastic and cosmetic surgeries except acute burns. My specialty or my special interest is breast reconstruction, aesthetic breast and lymphedema. I have been trained in Japan to do this supramicro surgery which involves anostomosing very small blood vessels and lymphatic vessels. This is a new area of surgery where lymphedema which is also called elephantiasis in layman terms can be treated. Lymphedema in our country is common due to parasitic infections and also due to cancer surgeries. During cancer surgeries, the oncosurgeons remove lymph nodes from certain parts of the body to prevent spread of cancer. In such cases, over a period of time, these unfortunate patients will develop lymphedema or swelling of the limbs. This leads to loss of or decrease in quality of life. By doing and assessing these kind of surgeries, we should be able to treat these patients. This is a new kind of surgery that has been developed in the last 5 to 6 years and I am very happy to tell Manipal Hospital is one of the few hospitals in India which is offering this surgery. Thank you.


Speedrunning, it's a thing that people do. Yeah, great intro, sure. Specifically, Mirror's Edge is a great game to speedrun. Why? Because people have figured out really great ways to speedrun it, but also it's a cool parkour game. So it seems really fun to speedrun. Justin, the lovely person that edits all of the videos, speedruns Mirror's Edge himself. And so I thought, hey, why don't I try and speedrun Mirror's Edge? And we'll see what he thinks of this. This isn't a fully fleshed out idea. It was just like, what if I played Mirror's Edge and tried to figure out how to speedrun it? So we're gonna do that today. I have not played Mirror's Edge in a really, really long time. I don't remember how to play it. We're just gonna play the first part of Mirror's Edge, basically up until you get into the helicopter. That's what we're gonna speedrun. I think I have to skip a bunch of this. Training time though, that might be good because I don't remember any of the controls. So let's actually, let's actually do this. This game came out in like 2009, 2009, 2010. It looks so good. Oh, baby boy. Oh, and we jump. Oh yes, and we slide. Oh, yeah.  Don't worry about me, everything's fine.  Speedrunning. It's incredible. It sounds like a fart. Am I gonna just skip all of it? Oh, skip training. Yeah, let's do it. I know the basics now.  So what we're gonna do is we're gonna go through this first part of the game. We're gonna go through this first thing and we'll see what speedrunning is, is really all about. Oh, Justin, can you feel the speed? You've never gone quite this fast before. Oh, yeah.  Oh, and then we pivot. Ah, and then we jump, bam, bam, bam, bam, bam, bam, bam. Oh, wait, we need to be on top. Hold on, hold on, hold on, don't worry about it. Everything's fine, and nothing happened. Okay, and we run, and we run, and we run, and we run, and we run. Speed, speed, speed, speed here. Yes, yes, yes, dude. Look at this speed. And ready? Big jump. Yup. Oh, bummer. I feel like I'm going extremely slow. Like, can you run faster, Faith? Like, am I going really slow? Cause I feel like I'm going super slow. Oh, yeah.  Ooh, bag, I got a bag. I've got the bag. Okay, get up on here. Yeah, go, Faith, go. This is what speed is all about, Justin. You should always try to get away from hostiles. Oh, and I will with the speed that I have obtained over the years of training that I have accomplished. Okay, run, yep, and then we, and, oh, hold on, go fast. Don't worry about it, everything's fine. Everything's fine, everything's fine. Everything's all good. I have dead, I have died. Oh, did you see that maneuver, dude? Did you see that maneuver that I just pulled? Nutty stuff. Is this where I'm supposed to go? No, I need to go out the, ah, don't worry about me. Everything's fine, get out of here. Let's run it again, let's run it again. Back to one, back to one. Okay, and then we go out the door. Yes, dude, yes, gamer, uh-huh. No, I keep pressing Q because I'm like, hey, Q's a cool number to press. Ready, and we jump, and then shift. Shit. That severely slowed me down. Go, gamer, go, gamer, go. Uh-huh, yep, nope, nope, oh, okay, okay, okay. Runner vision, yep. Justin, I'm not doing too hot in the speed running. I'm really not doing great. Mm-hmm, yep. Good, excellent, excellent, excellent. Justin, you've never gotten that time this good, have you?  Maybe someday I'll choo-choo you know how it goes. Uh-huh, uh-huh, mm-hmm, mm-hmm, mm-hmm. Yep, but yeah, baby. All right, we got to the, we got to the this, okay? Stage two, let's go. Okay, good, good, excellent, excellent. What's our time like? No idea. But hey, baby, that's the level. That's the level. All right, so now the real story begins. How to speed run Mirror's Edge. Let's get some skills in here. What's, uh, no, let's just observe. Let's just observe. Okay, so this is where it starts.  Oh my God, what? What? How?  So you can kick and jump too? Oh my God. Okay, hold on, wait, wait, wait, I wanna try this. Hold on. Okay, so we go back here, right? Okay, ready? Man, we do a jump, jump, kick. This strat doesn't work. Okay, and then we, uh-huh, uh-huh, uh-huh. Okay, well, we got the, we got the first one there. I don't know how to get the speed running thing up. Gamer, gamer! Guys, we're figuring it out. Not, we're not really figuring it out is the thing. Well, why can't I do it anymore? Why can't I kick in the air anymore? No! No! Why are you doing that? You should be doing a kick, a kick in the air. You go, and then you go, pew! Where on the wall does he kick? Uh-huh, right at that X. Oh, and he starts to wall run. Oh, it's about wall running. I can get behind that, I can do it. Hello? Okay, the game is reloaded. Do we jump and kick? What do we do?  Okay, okay, okay, I've got it. It's easy. It's easy. One of the easiest games to speed run is Mirror Edge, actually. Proof. I have it. I don't get what I'm supposed to do around here. Okay, so we go, and then we jump, and then we kick, and then we... Well? How? Maybe I need to kick on the thing? Mm-hmm. Ooh, ooh, ooh, ooh, ooh. Should I just skip this part? Maybe I should just skip this part. No, it's the first part, Ethan. You can't just skip the first part, dude. Okay, let's go back to the game really quick. So I need to, I need to have my key bind. Uh, Mirror Edge is not responding again. So I need to bind, jump to scroll wheel for some reason? Sounds good to me. I'll try it, and then I'll win the game. Watch, guys. Watch as my technique improves 10-fold just by this one exploit. There we go. This is what it means to be a gamer. Okay, ready?  What if we, what if... Hold on, let's go and try it at that spot, because it'll probably be so much easier to get it there than anywhere else. Okay, so bam, and then we... How do we do it? How do we do it?  Come on. No, what we do is we, we yump, right? We yump. What am I on? I don't understand. How? What do you mean that there's an invisible, there's no invisible floor? The dude said there'd be an invisible floor. There isn't. There is no invisible floor. And now I've gone off the cliff. I don't get it, dude. I want to be the fastest runner boy in the world, and I cannot at this rate. I've already been recording for a half an hour, and I've got nothing done. Oh, oh, I get it, I get it, I get it. I'm not supposed to jump kick after, I'm just supposed to kick. I don't need to jump. Once I'm wall running, I just need to kick, and it'll do it. Ready, ready, watch? Ready? And then... There was a little stall there. Did you see the smidgen of a stall? Oh, guys, the speed running gamer in me. It's coming out. Did you see it? Mama, I've done it. See, a tiny bit, a teeny, teeny weeny bit. The question is, after that, what do I do? Once I get that little tiny jump, do I kick again? I think I do kick again, right? So I just don't really understand at all. Is the issue here? Gonna try a little bit more, I'm gonna try a little bit more. Is this video entertaining?  Is it the worst, Justin? Throw in some sweet music right now. It's entertaining now, baby! Oh, entertainment! So what I'm doing, guys, is I'm going here. How do I get the second one? How do I do anything? How do I do it? How? What I'm doing is I'm jumping up on the wall, and then I'm wall running, and then I'm clicking to kick, and then I jump off, and then I have to kick again? That's what I'm doing. I'm trying to kick again. Do I need to jump and kick again? What do I need to do? Wasn't that new a little bit? Is this the worst video ever? Is this incredibly boring? All right, I'm gonna try and not jump the second time. I'm gonna try and just kick to click. Doesn't work. It doesn't work. I have to jump. Why did I change it to scroll wheel? I'm also not pressing scroll wheel. I'm pressing space, which I don't know if that makes a difference, but they do the same thing. So I'd imagine it wouldn't make a difference. It does make a difference. It does, because it worked that time. Here we go. Lord of the Flies, please give me the strength to channel my inner parkour demon and get this click, kick, jump, kick. Just once, that's all I want. Just once, just once. I did it! Once, I did it once! Just edit that out. We don't need to see that. We don't need to see that. Now ready, gamer? Ready for the my grand finale. The big finish, baby. The big finish. And that's how you speedrun Mirror's Edge, guys. Don't ask me how I did it because I can't tell you my secrets. You know, I've studied long and hard for years and years and years. Anybody else speedrun anybody else? I'm saying it as if I do. Does anybody speedrun Mirror's Edge? Maybe Justin will teach me how. Who knows? Justin, I hope that this wasn't the worst thing ever to watch and edit. I'm so sorry. Thank you all for watching. Stay mirrory, stay edgy, and I'll see you gamers later.


Hi everybody and welcome back to our podcast from the Kamasutra to 2020 where we look at your questions, your concerns, even your worries around all things to do with sex and sexuality. So as always we have with us Dr. Anvita Madan Bihel. Anvita is a psychosexual therapist and she brings the psychological perspective to the advice that the Kamasutra has to give. Welcome Thank you Seema and welcome to our podcast this week. So Anvita today I have actually taken the liberty of breaking the queue of questions and slotting a question in because as you know we've got this backlog of questions over months they've all been piled up they're all in line to be answered at a certain time but this one came in and I've just finished saying this at a recent talk about how parents need to be more open with their children they need to be more encouraging so that the children can come and talk to them rather than scaring the children into thinking that they can never come to approach them with all their problems etc. We've said this in the last session that we did so when this particular question came in today it had me in two minds because on one side it was one of the most sex positive parents that I have come across and I felt really happy to read this question but there was also something about it which had me thinking just a little bit and I thought I think that we need to approach this today and I need your advice on this. So it says is it normal to gift a sex toy to my 13 year old daughter so he goes on to say I'm the father of a girl who is about to turn 13 in a few months I believe in sex positive parenting and discussing sex in my house is not to go at all I am planning on gifting my daughter a sex toy for her 13th birthday it's her first sex toy is this normal or would I be crossing the line by doing so and if it is normal then is it too soon to be introducing her to a sex toy what would be the appropriate age to gift her one? Yeah this is the tricky as in I hear you how you know I first want to say oh what a father you know is talking this is where we ultimately want to go where sex and sexuality is normalized but the more I think about it where I want to go with it is that I don't know where this child is and how mature this child is and where she is on her sexual journey you know how much has she thought about her sex and sexuality is she at a stage where she is exploring sex toys you know so 13 year old some are very mature very sexual have been sexually active for some time some have not even considered sex and sexuality at 13 so I don't know anything about the child and what I want to say is that I want to keep the child at the centre and I would want her to decide her sexual journey and decide when she is ready to explore a sex toy versus it being introduced by a parent in some ways so my question is more around where is this child and where is she on her sexual journey so yeah so I think it's a bit tricky yeah because I think that you know we as adults like you were saying earlier when we were talking about it that we as adults are at a certain journey in our lives so we have experienced certain things we've come to certain points and we've arrived there through a progression of events and emotions and just environments and so to actually say that this is okay to do it for 13 year old I'm not sure that it's the right age or I mean one is like we were saying that you know maybe she's not at that right point yet but is she actually ready for it I find that a lot of 13 year old I mean there are a lot of 13 year olds who are sexually active already they've already thought of it they've come to understand that it's something that they want to do but an equal number of 13 year olds are still at that stage when the idea of romance and sweetness you know all of that is still very very important this whole idea of just holding hands or just that little first touch or that first kiss or the flirting or you know the messages and I think that if we get to the sex story too quickly it might sort of it might take away this part of the journey and I think that's a huge part of your your growing up years absolutely because you know we have to allow every every person to go through their own experimentation getting to know their body understanding their body you know they will discover their vaginas or penis for the first time they will understand what that touch feels like where the touch feels like pleasure but all of that is through experimentation right it's all about discovering discovering your own vagina touching your own vagina understanding the anatomy of it and all so there is a whole process of through experimentation that people do it and and what age they do it is so different for different people and we don't know that so we need to allow that experimentation to happen we need to allow them to discover their own sexuality and their own body so sometimes as adults we might give too much information or too much understanding you know so they might not be ready for a sex toy they might still be experimenting in some ways or understanding it in a thing so I would really encourage them to have their own progression so the day she comes and says and if you have an environment like this in your household where how amazing would it be that there would be a child a teenager a young adult who wants to buy a sex toy and comes up and says to their parents I would really like a sex toy and the parents are not shaming and judging and say okay let's have a conversation what kind of sex toy you want have them you want a sex toy what are you looking for that and they can actually have a conversation about it I think that relationship is way better and that's what we are looking for rather than the other way of imposing a certain kind of sexuality on your child you know so there's a slight difference in that I hear you I think that I mean I think that this gentleman is pretty amazing because there aren't a lot of fathers like this and I cannot applaud you enough and I think Anvita joins me in that so we think that this is really incredible and we would like to see more households because as you and I know we see the other way around households where a father will actually shame a child we've got this email recently from this 20 year old or 24 year old who was sexually active and her father called her all sorts of awful names I mean he was abusive when she said I'm sexually active so I think it's amazing that you can have that kind of relationship with your child but I think creating an environment of sex positivity in the household is a lot more than merely being able to talk about it I think that there is there's a few other things that go into it because so again this is from personal experience I think that even if you can actually chat to your parents a lot about it privacy is something that a lot of people still enjoy so you might want to come and talk about it but there's a certain level of something that you want to keep to yourself and I think that's really really important and so that should be the line you know where that the child says okay I want to cross over this bit share this much with you but not this much yeah you know we have to respect where their lines of awkwardness or weirdness lie right like so they might want to ask you questions but they might not want to discuss details or they you know you might be aware of certain things but they might not want to share all the details like we see that often with young boys where they'll be wet sheets in the morning you know and you know that there has been a nightfall or they have masturbated all the way and there's subtle ways of supporting them by leaving extra towels or leaving you know sheets and saying I had a friend who said I just left sheets and towels and just let my son know they're in this cupboard if you ever need them rather than you know a thing or have you started masturbating and they you know like they so it's it's really having a judgment of how much they are comfortable sharing because over sharing sometimes can make them feel like oh this is yucky I don't want to speak to my parents about this why are you talking to me about it so there is and they can actually feel uncomfortable sometimes when parents over share or over talk they can feel like this is really yucky and this is making me uncomfortable so it is letting them take the space but they know that you are not going to that your reaction is not going to be like oh my god I can't believe you use the word sex or we don't talk about these dirty things it's a bad thing to do rather than using those reactions if you can say okay that's interesting that you have these questions let's have a conversation about it but give them the space of how much they want to talk and how much they want to keep to themselves I totally agree with that so yeah so there is this there's this fine line isn't it and I know that the gentleman in his email actually asked that that is there a line and what is the line so I guess what we're trying to say is that your attitude is amazing as it is but you know that that you're open and you're creating a non-threatening environment so a lot of people have this thing about wanting to be friends with their kids and the idea is not to be a friend it's not about being a friend it's about being this really supportive person who they can come to if they have an issue be that open be that trustworthy that they trust you to come to you it's not about being a friend because the moment you say oh you know I'm being a friend and they keep crossing the line it's it's going to happen the idea is that as a parent your responsibility is to be there for them and there's a difference so being open is not about being a friend absolutely and I say this so often to parents because they come and say oh I have to be a friend they should be able to come and speak anything to me yes they should be but you're the voice of reason you're the voice that's telling them these are the consequences these are the boundaries this is how you have to be safe now with friends a lot of times there might be some but they are similar ages to them you know that's their limited wisdom in some ways and they want to experiment take risks and that's the feedback they get from friends but you as a parent are the ones who are saying have you considered the consequences have you considered the boundaries you need to maintain boundaries there are limits to things you are the voice of reason and the best way the example I give is that if if there is a busy road and you have a little kid the child doesn't want to cross the road on their own you know we talk about independence but ultimately they feel way safer that they have an adult with them and they can hold their hand and cross the road right so they don't really want to cross the road on their own and that's what it is you are the parent so when they're coming and they're saying we are considering this we are thinking of this they are hoping that you will hold their hand they are hoping that you will be the support system which will they will say this is how I can keep you safe like have you considered how to stay safe so you are their safety net so don't be there to say oh go do this and that and everything because what they are looking from you is boundaries and safety not you know being a friend in some ways that's yeah so I guess what we're saying is that creating a sex positive environment in the home is absolutely essential but there are a couple of things to think about one is that you have to teach your child responsibility equal to the pleasure that you're talking about so yes you know you're going to say that in a sex positive household we talk about pleasure we talk about all the good things to do with it and we talk about all the things that you would like to be doing but there is an equal amount of responsibility which is also your duty to teach them so don't be in a rush to be this this friend who's going to just sort of push them forward to doing things you have to do both things and the other thing is that like Anrita just said you have to know how much they want to share so there is a line between comfort and awkwardness so let the child decide how much they want to share with you rather than you making them share it with you because you're saying look I can tell you about this or I can tell you about this as well and you know that in a sex positive environment there should be an equal amount of ability in you as the parent to take it when the child pushes back and says okay you can come no further in this conversation I want my privacy don't take it a miss don't kind of go oh my god I was trying to be such an amazing sex positive parents and a parent and they're saying no they don't want to talk to me about it sometimes it's actually quite overpowering for the child as well so yeah remember yeah so remember if we have to think about the you know continue there's comfort there's awkwardness and there is feeling unsafe you know and and there is a continuum in some ways so you need to realize that what is that comfortable space that they feel enough like this is I feel safe with my parents I can go and like share my problems I can ask questions I know they will give me reliable safe information and then there is awkwardness like you know if a child government says oh I'm thinking I have questions around sex and sexuality and what do I do you know say I have questions around masturbation and everything and if you start sharing details from your personal life it might be too much information you know like they don't want to know like that's just too much detail that's like awkward maybe but then there is an element of feeling unsafe and that as adults it is completely our responsibility where we are not crossing the line where the child is feeling like I am feeling very unsafe right now I am feeling like there are a lot of boundaries being crossed and that this is making me uncomfortable this is inappropriate this is too much sexual information or sexual touching or sexual sharing like we do know just as a caveat if if an adult shows a child pornography that is sexual abuse and that's what I mean by there is there is an element that we need to keep in mind that could be seen as inappropriate or unsafe so there isn't continuum and as adults we need to learn and we need to be responsible as what's appropriate and what's inappropriate and we should be mindful of that yeah and I think that with let's say the person who's written into us I think that he's obviously intelligent enough and bright enough and evolved enough to understand that quite easily I guess for a lot of other parents this is going to sound like we're giving mixed messages that you know we're saying that oh you know you've got to be so much more open but you can't be so much more open so I think in closing I'm with a normally I'm the one that does the closing argument so to speak and I say well this is what all we suggest today I'm going to ask you to do this well I think in closing what I would say is that what's important is that you have a safe household a safe environment where the children feel safe to come and ask questions to have any clarities to discuss things and you are creating an environment that is not shaming or judging you know in any way that you are not judging them or shaming them for exploring sex and sexuality however the pace needs to be decided by the child how much they want to share needs to be decided by the child so in some ways what we're saying is that the children are at the center of it not as parents you can give them factual information scientific information but at the pace they want to explore their sexuality should be their choice the choices they want to make in some ways like how much they want to share or how much they want to explore or what pace at which they want to sexually grow should be their choices and you are there in some ways to support them and keep them safe and provide them where an environment where you're aware of what is happening in some ways you know that you're not completely that they are completely in at at risk behaviors and you had no idea so you are providing them with like an environment that is healthy and safe and not necessarily telling them what to do in some ways and that's the distinction in some ways and that's what we think healthy positive sexual parenting might look like I think that's extremely well put and I really hope that everybody listening in does take away a lot from this because we want to see this change in all the households ladies and gentlemen whoever it is out there listening we want to see this change because it's only when we see this change in every average household we know that we get to the next step that children will start to feel more safe they start to feel more secure just to be able to come to an adult who has their best at heart you know I mean as parents there is nobody else in this world that's going to want better for your child than you do so be that person that they can come running to if they ever have an issue it's time to stop understanding that we don't shame them and it's also time to stop to stop leading them down this path of thinking that it is it's a dirty thing so again you know that's the that's the sort of thing that we want to change and and once again thank you to the person who wrote this email into us because you give us a chance to have a really open dialogue about something and to bring in certain other perspectives that we had not considered talking about earlier and I think it's opened it up even for us a great deal so we owe you for this we think you're pretty amazing and all power to you so as always on the video if you found it helpful you found it useful do like comment subscribe tell us what you think send in your questions as always to info.cima.anand at gmail.com if you need to get in touch with Anita for a consultation she is on anita.madan behel at gmail.com madan behel spelled m-a-d-a-n-b-a-h-e-l.com you'll find it in the description of the video anyway in the meantime do stay safe stay healthy we'll see you next week see you next week


Hello everyone. This video is about ARM core processor modes and states. Already in the previous video I talked about resistors. In that resistors I talked about the mode field and the state field but this video will elaborate the processor modes and states. Learning outcomes at the end of this video you will be able to list the sequence of actions taken by processor when the exception occurs. List the exceptions and its priorities in the ARM core processor. Interpret the mode and state in which ARM core processor is in by analyzing CPSR. Which are the processor modes? The processor can operate in seven different modes and the processor can operate in three different states. As I already said in the resistors video I talked about the different modes and states. So at this point I want to ask you a question that can you please list the processor modes and states. You can think on this question, can write the answer, can take some time for this for five minutes. You can pause the video and can write the answer. Thank you. I hope you have written the answer. What are the different processor modes? That is user mode, fast intra-prequest mode, intra-prequest mode, supervisor mode, abort mode and undefined mode. These are the different processor modes and what are the different states? There are three different states ARM state, thumb state and jazzy state. So let us go into the details of this. What is a mode first of all? The dictionary meaning of the mode is it is a way or a manner in which something occurs or is experienced, expressed or done. Processor mode refers to the various ways the processor creates an operating environment for itself. Processor mode controls how processor sees and manages the system memory and how the task that use it. So processor is controlling the memory and the task that in different modes different processor system memory access and tasks are going to be changed. Processor modes determine which registers are active and access write to CPSR register itself. What is the access write that we are going to see further? Each processor mode is either privileged or non-privileged. So the big category of the processor modes is privileged and non-privileged. Privileged mode allows full read write access to CPSR. Non-privileged mode allows read access to control field, only read access to control field of CPSR and but allows the read write access to condition flags. There are seven processor modes out of that six are privileged modes and one is non-privileged mode. The privileged modes are abort, fast interrupt request, interrupt request, supervisor, system and undefined. Whereas one privileged mode is the user mode. Abort, which is the privileged mode. Abort, fast interrupt request, interrupt request, supervisor, system and undefined. These all five different modes these will be the mode bits in the CPSR register and these are the abbreviations used to indicate the particular mode. For example, if abort is the mode then that is indicated by in the register. For example, R13 register is there, R13 underscore ABT will indicate that R13 register is acting in the abort mode for the abort, for the abort mode that is R13 underscore ABT. Fast interrupt request, FIQ, interrupt request IRQ, supervisor SVC, system SYS, undefined UND and user is USSR and these are the particular mode bits for this different processor modes. Now, we have seen the modes but what that what is the meaning of these modes? So, for that let us look at this. Abort mode indicates there is a failed attain to access memory. The processor enters in this mode when the interrupt occurs that is a fast interrupt request mode and interrupt request mode. Both these modes correspond to two levels of interrupts. FIQ is generated externally by taking n FIQ input weight low. FIQ indicates a fast interrupt request and it can be disabled by setting the F flag in CPSR. We already discussed the condition flags in registers and in that F flag is if we set it to one it indicates the FIQ is disabled. Supervisor mode, processor enters in this mode after receipt. Generally this mode in this mode operating system kernel operates in. We already talked about the kernel also in the software architecture of an embedded system. System mode, in system mode system mode is nothing but a special version of user mode. This mode allows full read write access to CPSR. User mode it is used for programs and applications. This is the CPSR register which has already been shown in the registers video but here also you can see these are the condition flags and these are the mode bits and every processor except user mode can change the mode bits. How we can change the mode? The mode can be changed by writing the mode bits to CPSR. Which bits these bits need to be written in the mode then the processor enters into the particular mode. Processor mode can be changed by program that writes directly to CPSR. How we can write these bits by writing the program or by hardware when the core responds to exception or interrupt? Exceptions that occur when there is receipt, fast interrupt request, interrupt request, software interrupt, data abort, prefetch abort or undefined. These are the different exceptions that occur. So that time the hardware due to the hardware the mode changes. Different priorities if these exceptions occur to which the higher priority is given. So this is the priority order. Receipt is provided with a higher priority. So software interrupt and undefined instructions are given the least priority. How the mode is changed? Changing mode on an exception. The actions made by processor when the exception occurs is first is it saves the CPSR to SPSR of exception mode. This is CPSR. You can see here this is CPSR. This is saved to SPSR of exception mode. Then saves PC to LR of exception mode. Now exception mode LR whether this is the exception mode LR? No. This is the user mode R13 LR R14 LR but the exception mode LR is this one. So these registers are changed to this exception mode registers which are indicated by underscore IRQ that because it is in the interrupt request mode. So saves PC. PC program counter to exception mode LR of exception mode sets CPSR to exception mode. Now CPSR is set to exception mode and sets PC. Now what this PC will be containing? The PC will contain the address of exception handler. Now come to the processor states. We have talked about processor modes. Now talk about processor states. What are the processor states? We already said there are three different states that is arm state, thumb state and jazzle state. And how we can set these states? So by setting the bits of t and j. When this t bit is 0 then processor is in the arm state. When t is equal to 1 the processor is in thumb state. When j is equal to 1 and t equal to 0 the processor is in jazzle state. It determines which instruction set is to be executed. There are three instruction states. Arm, thumb and jazzle. Arm state has 32 bit instructions. Thumb state has 16 bit instructions. Jazzle state has 8 bit instructions. What jazzle state is? Over 60 percent of java byte codes are implemented in hardware and rest of the codes are implemented in software. The processor states if I compare with arm and thumb when CPSR t equal to 0 arm state t equal to 1 is thumb state. The instruction size is 32 bit here it is 16 bit. Core instructions are 58 instructions are there for thumb there are 30 instruction. Most of the instructions are conditional where our only branch instructions are conditional in thumb state. Data processing access to the barrel shifter and ALU whereas data processing instructions use a separate barrel shifter and ALU instructions. Program status registers read write in privileged mode whereas no direct access is provided to CPSR in thumb mode in thumb state. Register usage there are 15 general purpose registers that can be used in arm state plus program counter whereas in thumb state eight general purpose registers plus seven high registers and plus program counter can be used in thumb state. Example of CPSR is shown now you can interpret the mode and state of the from the CPSR you can interpret the processor mode and state of CPSR. So, these are the bits which are set for CPSR from that we need to find out the processor is in which mode in which state j is equal to 0 which indicates that processor is not in the jazzle state. Now let us look at whether it is in the arm state or thumb state. So, this is T bit T bit is set to 0. So, that indicates that the processor is in arm state. Now look at the mode bits these are the mode bits these bits indicate that the processor is in supervisory. So, in this way we can find out the mode and state of CPSR and in the same way we can write the particular mode and state for processor as we know the contents of CPSR register. These are the references used for preparing this video. Thank you one and all.


Have you all heard about Kalanamak rice and do you know the reason why it is also called as buddha rice to get clarified do watch this video Now first let's see a brief history of kalanamak rice See kalanamak, which literally means black salt is one of the finest quality of aromatic rice grown in India This scented variety has been cultivated since 600 BC. That is probably before the Buddhist era See kalanamak rice is also known as buddha rice as it is believed that buddha broke his fast on the day of enlightenment When keer made from kalanamak rice was offered to him So this is about the history of kalanamak rice now. Let's see the property of the rice See kalanamak is a black colored rice Traditional varieties of the rice were tall and were prone to lodging here lodging means a condition in which the top of The plant becomes very heavy because of grain formation which subsequently makes the stem weak and the plant falls on the ground The bending over of the stems near ground level of grain crops makes them very difficult to harvest and can Dramatically reduced yield. So to address this problem Recently Indian Agriculture Research Institute introduced dwarf varieties of the kalanamak rice Now coming to the geographic extent see kalanamak rice is grown widely in UP's Therai belt See the Therai or Therai is a lowland region in northern India and southern Nepal That lies south of the outer foothills of the Himalayas the shivalik hills and the north of Indo-Gangetic Plain. This lowland belt is characterized by tall grasslands, Sal forests and clay-leach swamps. So this is where the kalanamak rice grows Now, let's see few additional facts regarding kalanamak rice see it is known for its medicinal and curative properties It is rich in antioxidants and has a high anthocyanin content that helps in the prevention of heart disease and Improves the health of the skin as the rice is rich in iron and zinc it helps in regulating blood related problems Recent research has shown that kalanamak rice is excellent for diabetic patients and must be included in their daily meals See the export potential of kalanamak rice is huge The kalanamak rice commands a higher price than basmati rice by roughly about four to five times higher Due to its long-standing association with Buddha it is becoming more famous as holy rice The aroma of the kalanamak rice originating from the villages of Siddharth Nagar has now started reaching countries that practice Buddhism namely Japan Thailand Myanmar Sri Lanka and Bhutan This is all about kalanamak rice and the reasons why it is called as Buddha rice See these kinds of topics are very important for your pilgrims exam to have strong hold over current affairs Do watch Hindu news analysis of Shankara IS Academy regularly. Thank you


Shadow of Charity sector talks, Adam Fisher. Adam is not-for-profit lead at the CIO partnership. Adam has over 30 years experience managing... You gave us this so I'm going to read it out! ...managing multi million pound businesses including within telecoms, presonal services, utilities, Government not-for-profit and financial services. Adam will be talking about the ways in which the third sector organisations are having to adjust to deal with the changing digital environment. Threator opportunities, charities and IT both face tremendous change. Over to Adam. Thanks for the introduction. The most true thing I've heard today is how hard it is to fit a presentation like this into 20 minutes. And I've really struggled to do that to be honest with you. So I'm going to cut out any further introduction to me or the CIO partnership. If you're interested in the latter, there's a website I'd refer you to. You might find it interesting. I certainly hope you do. But what I want to talk about today is going to be very mile-wide inch deep, if not millimetre deep, on a number of topics. And the first thing I wanted to do is to look at some of the changes, some of the winds of change that are blowing at everybody in the IT space, I would suggest, and practically everybody in the charity space as well, as well as practically everybody in the private sector and public sector, for that matter. And I've kind of grouped these up into a number of windstorms, if you like. The first one is just simply resulting from the economic meltdown we've seen for the last six or seven years. Lots of uncertainty, lots of ambiguity, lots of complexity, lots of confusion. What am I supposed to do next? How do I keep up with my competitors? How do I retain my customers? How do I get more donations? What on earth am I going to do about my pension funds? All that stuff means IT's involvement, to some extent, is A, confusing, but B is essential and it's essential that it be right. And it's a serious challenge. Then you look at some of the things coming out of the technology space and I don't think I'd have to suggest to anyone here today, there's lots of change happening there and it's accelerating. There are a couple of statistics that always impress me. We already had a mention about, I think it was, zettabytes, which I must admit is a new one on me. But one of the interesting things about data that I found in a research paper somewhere was there's an estimate that in the history of the world from the first recorded data, which must be several thousand years ago, till 2003, the total amount of data in the world was 30 petabytes. And what we put onto various media today, daily, is 15 petabytes. So every two days we're actually putting as much into the world of data as existed in the whole history of the world until recently, which I find quite threatening and exciting at the same time. Another statistic that I find fascinating is the population of the world. Currently the human population I'm talking about is 7.2 billion. The population of internet connected devices is 10 billion. That's 1.4 for every man, woman and child on the planet. But the estimate is that by 2020 that's going to be 6 to 1. So somebody must be doing something with all this stuff. What is it? It's going to be increasingly difficult to keep control of it. BYOD, I don't think I need to mention. Everybody here I'm sure is aware of what that's all about. Population of users, donors, trustees, volunteers in the charity space is becoming more and more mobile, as is everybody else. It's becoming essential to keep people in sync with data, with systems and so on from anywhere, anytime. A third point, increasing scrutiny, compliance. Hwan gave us a very good insight into some of the things that are happening in the data space, for example, at the moment. And the pace of that is accelerating as well as indeed does the volume of data. But the FSA's regulations, I would suggest the Charity Commission insistence in respect of charities on good reporting on a regular basis. The same goes for every other organisation. Lots and lots of other compliance issues, again comes back to IT in many cases. And finally one that I think needs more emphasis than it often gets, which is the demographic changes that we're looking at. So I myself freely admit to being an early member of the baby boom generation, and you can work out what that means, I'm really ancient, which is currently either generation V or W, depending on your point of view. Generation X, which is 35 to 45, is about 20% of the UK population at the moment. Generation Y, which is your 20 to 35 years old, is expected to be 75% of the UK workforce by 2025.  And they will know anything but a digital world and have massive expectations of what that digital world is going to deliver to them, how they're going to use it and how they're going to interact with it. And this affects charities as much as it does anybody else. To draw a line through all of this that takes you somewhere useful, as an IT practitioner, is not easy, that makes sure you stay relevant and valuable to your organisation. And I thought I'd just introduce here the IT leader who's going to take us through the process, I hope, through the story of how do you tread this line through all of these changes and the winds of change blowing at you. But also I just want to take a quick look at some of the things that are particular to charities that also add complexity to the equation. Because they have some special characteristics, first of all I think it's very difficult to determine what a good charity is. What is a good charity? Charities are motivated by their particular philanthropic vision aspiration and they vary enormously. In most cases I would suggest it's very difficult to measure this any way other than subjectively. Trying to look at one charity against another in terms of their cost base, for example, is usually fairly useless. It doesn't tell you very much about the charity at all. It doesn't tell you whether it's good, bad or indifferent. It just tells you they're spending more money. It might be a good thing that they're doing that. It's very hard to use that as a metric and it's also very hard to use typical metrics that you would use in the private sector, for example, top line, bottom line growth or anything else. Just an illustration of this for example is some of the recipients of charities in the UK somebody recently did a study and worked out that actually people with mental health problems currently receive 714 pounds a year from charities one way or another. People in prisons receive about 1,300 pounds a year. Donkeys receive just over 2,000 pounds a year per donkey, which I find fascinating statistic. It just gives no reflection on charities. It's just totally different motivations, aspirations and all the rest of it. You can't compare them. Makes it difficult to come up with any useful metrics. And if you look at some fundamental characteristics versus the private sector, and this is very black and white and not all private sector organisations are perfect, as I'm sure we all know, not all charities are imperfect either, but generally speaking, in the private sector you can measure your goals quite easily, whether they be top line, bottom line goals, growth goals, whatever it might be, straightforward metrics, usually something to do with money, value equals money, quite easy to measure, quite easy to measure percentage growth and all those sorts of things. The charity on the other hand you've got many varied aspirations, subjective measures, very difficult to actually track where you're going, in many cases. All you can do is think laterally about things that you'd like to do better and things that you'd like to do that you're not doing at the moment in the ambit of the philanthropic vision that you have, which again is going to vary from charity to charity. And also if you look at the mix, your stakeholder mix in a charity is quite a lot more complicated than the average private sector or even public sector organisation I would suggest. So you've got donors, you have to consider, that's where your money comes from in most cases, you've got volunteers, you've got employees, you've got trustees and you've got beneficiaries who may or may not be human at the end of the chain. You have to think about all of those people and there is a great need to involve all of those stakeholders in the decision making process and it can make that decision making process really quite complicated and lengthy. And if you think about that in the context of all these winds of change that are actually pushing everybody to make decisions faster and faster and be fleeter of foot and more agile and so on, it adds to the complexity. I'm trying not to paint too negative a picture here but I'm just giving you an idea of the sorts of things that the average IT function, retained IT function inside a charity, is facing today and my experience is most people are really doing a terrific job of trying to deal with this going forward. But it's not simple. So the next thing I wanted to look at is where typically has IT been? Let's take the picture of a typical retained IT function in an organisation somewhere, whereas it's been since about 2000, for about the last 15 years.  I don't know if you're familiar with it with the word stroking tin but lots of people came from the background of stroking tin and they loved to go into the data centre in the morning and stroke it and make sure the lights are flashing and then go away. I just call that the back-end, if you like. And then there's a front-end, which is how you connect up with your users, provisioning the users, making sure the devices are standard and secure and log properly and all the rest of it. And then in the middle, you've got what I call the core. You've got IT strategy, you've got architecture, you've got relationship management, you've certainly got third-party suppliers to deal with. Data, which we've talked about in several of the sessions today, which is vitally important and the management of that and the stewardship of that, and then you've got projects undoubtedly going forward. But the perception of IT, certainly in charities and certainly in most of the private sector organisations I've been in over the period 2000 till 2010, has been it's a backroom, it's a back-office function, it's a cost item, it's there to be reactive. So if I ask them to do something, I expect it to be done and I expect them to come back to me and say I can do it this quickly and to this amount of money, but I also expect them to take much longer than I would like and be much more expensive than I would like. And that's how it's looked at. It's not looked as being proactive, strategic, influential in the true sense. As a result, the focus has always been on the IT function on the bottom line. Efficiency, standardisation. Let's keep the cost down. Let's keep the cost down. The culture that supports that has to be by necessity, reactive, risk averse, because the last thing as an IT leader that you want to happen is the lights go off in the middle of the day. So you're risk averse, you don't want to do things that are likely to jeopardise that. You don't really want to be terribly innovative and natural thinking and all the rest of it. And you need to be very controlling. I don't mean that as a personality trait. I mean just in your working life you need to be able to control the estate. If your mission is to keep the lights on, deliver service and deliver to the demand that's coming your way. And your access to the executive level is likely to be limited, it's likely to be very unstrategic, and you're unlikely to be influencing the organisation strategy going forward. And this is borne out by what you see when you look at budgets typically, what's a budget spent on. I got a statistic here from a 2011 report on charity IT budgets. And the fact is that 75% of the budget is spent on what I call the BAU monster, that is keeping the lights on. 25% gets spent on everything else. It speaks for itself, doesn't it? So where should this go? If you look at all these winds of change, if you listen to the speakers that we've had so far talking about, this whole thing is changing and the demographic changes that I think are actually really fundamental to all of this, what are you going to do to make sure that you stay relevant and valuable going forward? Well, if we look at that picture of this three-part back-end call front-end, back-end, it's disappearing. Going to the cloud, going to service providers. I think it was mentioned software as a service infrastructure platform, all that stuff, outsourcing shared services. You name it. It's rapidly going away from your ambit. Front-end, going the same way. Mobile devices, self-service. I want an app tomorrow and I only need it for six months and whatever, but I expect it to be as quick as me getting on my mobile phone and downloading an app from my massive stack of applications from Apple or wherever it might be. And I want my applications to be always on. I expect 24x7. This is the way the world is going. So your front-end is rapidly disappearing. That leaves you with a call. Same thing, strategy, architecture, management of relationships, suppliers, data. All of these things actually become more important because otherwise, if you ignore these, there is nothing left of relevance to the organisation you're servicing. So you need your focus to move to a better balance of top line and bottom line. So instead of just worrying about costs, you need to think about how do I increase revenues if you're private sector? How do I increase water micorn in my top line? Value to beneficiaries. Even if they're donkeys. How do I increase the value to those beneficiaries? How do I, as an IT leader, make that happen? How do I influence that? How do I contribute to that? That's much more interesting than just keeping the costs down. And of course you need to be aligned, heavily aligned and even influence the overall mission and vision of the charity. The culture that supports this needs to move from where it was to agility. And the key word that I have here is partnering. This is absolutely essential. Think about the turf wars that you see in the average organisation between retained IT and the marketing people and the fundraising people in terms of charities and so on. Who owns the data? What does stewardship mean?  I'm the IT guy and I expect to be able to decide what content management system you have and all the rest of it. This is a thing of the past. You have to be able to turn those turf wars into a completely different culture that says we, the IT function, will partner with the organisation to add value and keep our function relevant because if not, then all the tools are out there today for people to do whatever they want themselves. And dare I say, in many charities, that was the scene that people in a sort of properly formed IT function came into probably 15, 20, 25 years ago where everything was completely heterogeneous and all over the place for the same reasons. We don't want to go through that cycle again. So you need to change the culture to be more partnering. Think about a day when there's no turf wars from the morning to the evening. Wouldn't that be wonderful? And shared risk is another function of that. In other words, if you take risk, you're taking risk as a total organisation and in every part of the organisation you're working with to take that risk, whether it be a new investment in a new technology or a new project that you hadn't thought of before to support a new service that you might want to deliver to your beneficiaries, you're sharing that risk with everybody else involved. It's not just an IT risk, it's going to naturally become less risk averse and ideally the perception of the IT function goes from the back room to a place at the top table influencing the organisation, influencing its strategy, taking it forward, remaining relevant, remaining valuable and typically your budget is then split 50-50 between keeping the lights on and strategic initiatives. And what should charity IT do to make this real? First of all, develop a deep knowledge and understanding of the sector. That is the charity sector, but also the technology sector. You have to understand what's out there. You have to understand what's coming in the next couple of years. That's not an easy thing to do. You have to also understand what's already been done in the sector. What are all the communities of shared this, that and the other that take place not only in the IT space but in other parts of the charity sector. I think we've talked a lot about data today so I'm not going to go into any detail, but I see this as absolutely key. I personally feel there are six stages to data and I start with something called stuff. It actually hasn't got to be data yet. It goes through stuff and if you're lucky it becomes data. If you're even lucky it becomes information. If you're really good at what you're doing, it becomes intelligence. My goodness me, if somebody actually uses that intelligence it might even become value. Finally, at the end of the chain, is wisdom. There's kind of a lot of stages in between. An IT guy who knows what he's doing in terms of data analysis and all the rest of it and we've talked about that at length I think enough today can add a huge amount of value to that journey. You need obviously to align the IT strategy with the philanthropic mission. I've mentioned that already. Then the short term, evolved governance. Interestingly, this overlaps with a previous speaker, data governance particularly, to deliver a single source of information. Would it be nice to have a one version of the truth? Your donors are asked for a piece of information.  That would be remarkable. Partner, partner, partner with marketing, fundraising, whatever to exploit the digital space, whatever it might be. Get into smart procurement, learn about this. There may be procurement people already in your charity. That's fine.  That is a real value add and it keeps you relevant in the organization. And make sure that you've got the governance, the services, the support and everything in place to keep that mobile stakeholder base happy because that is going to become more and more critical time going forward in the medium term.  But the people that you've got need to be upskilled into change management, cultural change, good quality analysis, especially data analysis and consultancy with the organization and transform data into wisdom and value, integrate service from multiple partners, incredibly valuable, keep it seamless. You've suddenly got lots of cloud deliverers. You don't necessarily need all of your people to know who they are or whatever. The more invisible they are, the more seamless the service, the better. And in the long term, if you're successful with those short and medium term activities, you will actually get a place at the top table where you'll be able to influence things. So in conclusion, I hope I've shown you this and fairly strong winds of change blowing at all of us at the moment. And charities are not exempt from any of these. In fact, there are additional threats, but a great opportunity exists if you change the focus of IT, change the culture surrounding it. And if you're successful in that, everybody wins. You trust these, your employees, your donors, your volunteers, and ideally your beneficiaries, even if they're not people. Thank you.