Hello, I'm Caroline Chappell, I'm a research director at Analysis Mason responsible for our cloud infrastructure research. I'm here today to give you my thoughts on this new initiative, a new kit, I have to say it correctly. It's a difficult word to say, but we're quite used to that in the telecoms industry. So here are some thoughts on a new kit and what it will bring to our sector. Work on the disaggregation of network software and hardware so that network software could first of all run on virtualised commercial off the shelf servers and later on a common cloud platform has been ongoing for a decade now. It's certainly not been an easy journey and results have been mixed, but there is an inexorable momentum towards a cloud based network. The NFP genie is not going to go back into the bottle. The announcement of a new kit shows I think that the industry's approach to network cloud is coming of age, and that important lessons have been learned over the past few years. The NFP has made a significant contribution to industry understanding of the telco cloud infrastructure stack and the automated pipelines needed to integrate, deploy and upgrade it. With hindsight, CNTT should probably have come first, but this would have meant operators relinquishing from the start some level of control over what their telco stacks look like. In the early days of NFP, it was hard for operators to acknowledge that the cloud is a separate enabling platform for the networks, rather than an integral part of them. The industry had to go through the pain of trying to maintain an onboard VNFs to idiosyncratic telco cloud stacks before coming to the realisation that the network cloud is not in itself a competitive differentiator. It's the ability to innovate on top of a network cloud that would distinguish operators from each other. With that realisation, CNTT was born. Now Anuket can apply the learnings tooling and certification capabilities from OPNFV in a more focused way around CNTT's vision of a single telco cloud reference model that can be implemented using multiple technologies today and in the future. The choice and flexibility will come if Anuket can lead to an ecosystem of tested, ready to deploy cloud stack components, or even entire cloud stacks that conform to its reference architectures. And given the level of industry support for this initiative and the long experience it can draw on, I'm confident that it can. There is an important imperative for the telecoms industry to drive the specification of a common network cloud right now. In the early days of OPNFV, there was an expectation that the telco cloud will become more like the IT clouds at the time, but in fact we see that the opposite is happening. IT workloads in a cloud native world are becoming more real time and distributed, needing to run across cloud platforms in multiple locations just as network functions do. And an emerging generation of enterprise use cases wants access to hundreds or even thousands of edge compute locations. These new applications also have similar compute intensive and low latency requirements to network functions. For the moment, the telecoms industry has a more urgent need than other sectors to build a distributed high performance, highly available network edge cloud to support the next wave of virtualization in the 5G radio access network. But if the telco industry can solve all the cloud architecture and implementation challenges for the RAN, then it will create a cloud that will meet the needs of many other industries too. This is an exciting prospect for operators, not least because of the new monetization opportunities it can bring. However, achieving this next step in the telco cloud journey will be difficult and it will require a lot of collaboration and knowledge sharing. Anuket needs to become the focal point for industry collaboration on the next evolution of network cloud. An analysis Mason will be watching with interest the growth of the Anuket ecosystem. The hope is that Anuket is flexible and neutral enough to become a point of reference for the entire industry. We certainly think that Anuket's work streams are addressing the right issues, infrastructure automation, multi and hybrid cloud infrastructure and hardware abstraction. The network cloud of the future and indeed future industrial edge clouds are not going to be x86 only. There need to support a range of hardware acceleration technologies and multiple chipsets and the ability to support resource scheduling across a heterogeneous hardware landscape is a key challenge at the moment. There are many more challenges involved in running the network on the cloud. It's good to see anukets providing a bridge between two very different organizations that the network and cloud oriented respectively, the GSMA and CNCS. I've been involved with NFV for a long time now, and despite all the setbacks, I'm still optimistic about the direction of travel towards the network cloud. Anuket, every success and look forward to seeing it make a difference for the next chapter of the telco cloud journey.


ark. They have all an impact on the crown. The 12 garden, which is more like that, which give also direction, give a sense of where we are, not to be bored, like Ganesh was saying in this crown, something happen each time. And the four parks, which are the one I mentioned last year. And that's exactly the design, I mean the green line are the lines from the master plan. And each time it intersects with the galaxy, with the crown. So you have the green line and you have the blue line. The blue line is the ecological sensitive zone. You see in Gaia, all the percolation areas that we need to save. In Darkali, it's also related matter, no, but water, but it's different type of water. In Darkali, it's catching the water before it goes to Kanyan and before it goes to the village. And the Rodham on that side, which is the Kanyan also. And you can see there is a kind of relation with the park. And that give a kind of perimeter on the crown to say, oh, something is happening here. There is another priority than the circular circulation. And that means every time it crosses these different things, I decide to reduce the size of the crown. I decide that in the park, when a crown road is crossing the park, it's a park who has a priority. Which means, yes, we can still have this experience of wandering around Matrimondier, around the city center, around the city. But it's something else which is happening. And I'm not the first one. I mean, I have to slow down and I have to acknowledge what is happening already there. So you can see that there is, in these two parks, I decide there will be only one lane. Let's call it lane. We don't know what it means. There is only one lane. So it's very narrowing the crown. While this, for example, here and here, something else a bit different will happen. Mainly here because sometimes if I reduce too much, that means I will have to have this traffic somewhere else. So I will not save more place for nature because I will have constantly different intersections.  You will understand after if you don't understand. So that means now it starts to look like that. It's not anymore a ring with the same section. The section you saw on the first slide is a typical section for everything. And I really believe that we need to adjust this section to what is going around this four kilometer. Whatever is water, whatever is contour, whatever is building, but we need to change the section. So to create draw different section. So you see already that it's different of things happening. It's not totally abstract and just a dream. I took this road from Enric and also from Fabien study about mobility. That's why it was very useful to have this zoom out on mobility to understand that we are not just dreaming on something and we don't consider the rest. We have an idea which is for this part which are not pedestrian. We let the traffic going through. Okay, you are maybe not well oriented. So this is the visitor center. And this is Aloncoupam and Kotakarai. And this is the college road going through. So I imagine that, okay, maybe today we are talking about GDP. We are talking about five years. Today and for five years we will have to deal with that. We cannot solve. We cannot just stop the traffic. So we need to live with that but doesn't obstruct us to dream about something else which we have the power to walk on. And it's the other section. Here I don't consider this to have, this is a solar kitchen. I don't consider this stretch being traffic going through. But the traffic can come from here and filter maybe be just access. Let's see how we can solve that. So go back to the four parks. So in green you have the, well it's a bit complex but in green, this green you have the park like the master plan. And then in this green you have what you call the forest of Forreville as it has been planted and developed it. Let's remember that the trees which are here are not just coming by chance. It's because it's a new forest here. So it's because people have planted in this area. So I think it's very good also for our future planning that if we want to have a park here, here or here, we plant it. It's not, it will not happen just like that. It will happen if we wait for decades. But if we want to have the park because we want to have a city, we need to plant it now. And then you, I extend, when you see the section, the intersection between the crown and the park, it is very small. This one is about 60 meters, which is very, very small, to 200 meters maximum, the stretch of the park. So if you go through with a fast vehicle, you don't even see it.  So I took the liberty to increase a little bit with the ecological sensitive zone. So Gaia for the percolation, Dark Ali and the canyon for, yeah, for water catchment and Orodam on this area. And then I'm a bit more comfortable with that section, that stretch, which are giving you a sense of green. Did I want to say something else? Yeah, I wanted just to say. If you look at the black and the green, the proportion is half-half, which can be a good way to say the city will be half-green. The crown will be half-green. That's why. Let's dream. For each park, I would imagine to have a different type of thematic. Again, not to be bored. I mean, it's not about to have one park which look exactly the same as the other. So for Malakshmi, it's more to be together, to have a shared space where you have your plateau, where all the vehicles, all the circulation, type of circulation can happen. And then the rest will leave it free for percolation to plant trees in order to help the percolation. Youth Centre, Bliss Forest, come back to the playfulness and the joyfulness that was a symbol of this area and build the crown or the space of the crown together. Massa Reservati Park, which is dark alley and a very large extension on both sides. Yeah, to decide that water and wildlife are the priority. So we are just going on the tiptoe on it and we'll show you different things. And the last one here is education. We have the international zone here and we have the visitor center and we have a lot of guest house here. So we can imagine that this is a perfect place to spray the knowledge of water, of not polluting water, collecting water, reuse of water. So let's go to all of the park, Malakshmi Park. So you can see on this little drawing here that the official lines are here, but I double it. But that means it's about 250 meters straight. I double it in order to really have a space which gives this feeling of park. Every vehicle is on the same plateau. We don't have a curb to limit the road. We really have a connection with nature on the both sides because it's quite large. We plant trees which are tall trees close to the road. And eventually, yes, because we have to wait for the tree to grow, we can create shade structure in this area. I start by thinking that there will be no building in this park stretch just to let you know. There will be so many buildings on the other section. So when I cross the park, I have minimum buildings. I can have shade structure. I can have pavilion. I can have something which, for example, is a shuttle, AV shuttle station, but not a regular facade. The facade is coming from the tree itself. So that's a section on the same park. So I put six metres of the road for the electrical AV shuttle that will cross all the area and that will be much more regular than today is not existing. So we have a very frequent public transport on this area, but we share with bicycle, motorbike. Sometimes along the road there is a place where something is happening, like what maybe you have experienced in other cities, a bit dense in the street where someone suddenly sings, someone will jungle, someone will do capoeira, whatever. It's just something is happening also in this space. And I keep two metres and one metres, so at the end it's nine metres. That's for the infrastructure, but it's not your infrastructure. It's for anything which is built or a little shade or something like that. It doesn't have to be a little shade. It can be very urban and modern shade. It doesn't have to be rustic. So I have a total of nine metres of road compared to the 16.70 width that we are talking, that the brief is giving us, but again it depends how you see the things. If you consider that the road should address percolation problem, green plantation, we can imagine that this is also the crown space. It's a bit tricky, but... No, it depends.  That's the stretch between here and here, it's 300 metres. I guess you know a lot that space, that there is a road here which connects to College Road, which means it's traffic that we cannot influence right now. We need to put a lot of work and effort toward a panchayat and place to discuss with the villager and with the bio-region in order to prevent that very massive traffic that we can have from here. So here we have only one stretch for only the EV Shuttle. And we have a series of different experiences along this road which is for anything, pedestrian, cycle, it's similar.  If you are with your cycle, you can meander along this place. And it's very important that we don't have polluting or using fast circulation traffic in this area because there is a connection with the school which is here. It's the connection between the centre to the school. It's really a radiating, a connection between the diagonal. We can imagine that it goes with the stream that you see here. You don't see it anymore. So the contour is only one metre from here to here. It's a slope like that and that's why we start to have the beginning of the stream here. We can imagine that the circulation of pedestrian and cycle are going close to this place. The more you raise awareness, the more you protect it. And you have also water bodies along the crown itself to create other space here. The section. So it's really because I reduce to four metres the main road which is not a road, in that case it's a nally. There are several ones, two and two or one and one fifty along. The space is always different here. I don't need to have a lot of shade. I mean, I don't need to plant large trees here because I have this space here which will provide the shade that I need during the day because I reduce the horizontal open space and I section with other green areas. I don't need to create more shade. Dark alley or Massa Vasvati Park.  So again, this is a very sensitive place for water, for wildlife for a lot of things. So it's for afforestation. So the idea is the heavy traffic will go. That's also a bypass that Enrique and Fabien propose near the Calais temple and going there. And that means you have more chance to address the pressure from the village. And in this area, you have simply a catwalk going from this point to this point. So yes, my experience around the crown is always this circle. I know that I have matrimony on that side. I know I'm in this circular pedestrian path but I don't need to go with my big width off-road. So all the infrastructure goes here and then a bit further we have the road on that side. And we can repeat this curve. We can repeat with the different areas that we need to build in order to catch the water. And it can become totally a place just to enjoy, to see, to go. It's a goal. Section again. So you can recognize that the existing pond, that's the perfect circle from the 690 from the banyan tree. I mean, it's pedestrian. It can be cycle if you want. But I think it's more easy to go there. And again, I have four meters because I really want to have my shuttle going there. And I can repeat this circular water body. Then the last one was a bit more difficult, 60 meters on this stretch. And I realized that Aurodham is quite far from the crown. So it's, I'm not sure I want to invite whatever, whoever will come to the crown to the Aurodham canyon. Yet I think this place has, you know, so it's much further the canyon and the dam of Aurodham. And we have a lot of housing and buildings already here. So I would imagine the crown more to be something which is enclosed and stay. It's more a filtration for the noise or for the, you see here there is a car of a student of kids who go that way. So maybe it's good to filter on both sides. And we can use, we can use a lot of plantation. And here you see a double alley of trees in the center. So the center become four meter of shade path from another. I think you saw it in some reference picture of someone, of Sonali this morning. So you have the shade from the tree in the center. That's a living place. That's where you meet people. And then you have the circulation on both sides, which can be reduced. And then you have your buildings on that side. So here you have 14 meter with them. I mean, quite a lot of. So each time I put the infrastructure under the road because I imagine that we have always a second road to, if we need access and if we need to repair, we will have always this part to use if we really have to have access to it. Coming back to the existing stretch between PTDC to Arca. So that's what we have today. And what I would imagine it's really to reclaim the paved area. So we have about seven meter of, the road is not seven meter, but there is an extra place where we can't plant trees so I cannot provide shade. So the idea was to create another layer closer to the street because it's not a road anymore. If we go for pedestrian and public transport. And this will be more at the scale of pedestrian cycle.  This is what I try to draw here. So you recognize the solar kitchen here and porthos in this area. Library, Kailash, Kalpana. And you have the existing road from certitude. Again I'm talking about the next five years. So what will be fantastic is that in 10 years it will not be even there the existing road from certitude but within five years the priority is really to shift from a normal road to a pedestrian public transport road. That will help us to reclaim the paved area and to live here. So it's not just by decision. It's quite a lot of work that we have to put into that. We can imagine to create a lot of shade structure on the street but also to create a space for the bus, for the workers to go to the village and to have a special rate and to have a special nod of transport. I imagine to close this part to cars, even the Eurovision car. But again we can imagine a bypass on the back. We can imagine a fast tag system for those who are there. But that means also we have this place here where we have our car, the Eurovision car. You can park here. So if you want to go to Pondichenei, Bangalore, whatever if you need your car, you still have the car here. This is more for the day parking in this area. And here of course you have all your charging, power charging, power station for your e-bike. And that creates already a sense of urban fabric. Do I have to say something? No, I don't know. You see the markets here. You see a very large public space that is created after the event of this last month to work together and to create something together. You see of course a lot of water. It's not water water. It's just again the idea of collecting, reusing, recycle. So more it's decentralized. It's a bit like what we saw with the solar panel, to work with a cluster instead of trying to do everything on the ground, but to have a cluster of buildings which work together for electrical, for water, for recycling, even for waste, because we can imagine that the road, if we don't change into a different type of road, will create a lot of waste, a lot of pollution. And that's it. Thank you very much, Marie. So we've got a few minutes of silence just for everybody to take down their notes, their feedback on their forms. Okay. So, okay. I can see some of the dream we've been architects to have some feedback or some steals I want to share. Thank you, Marie. It's always such a visual treat to see your presentations. For me, the steels are those details, further details that you put in through the park. Yeah, because I also feel that those are kind of those points when one is going all along the crown. So that's my steel point, and I love your sketches. Thank you. Yeah, for me also know to see, it's the third time that I see you work now and to see the development of it and the sensitivity that you bring into that part of the crown. I think it makes a lot of sense when I look at the sketch in Dakali, I think it's perfectly feasible. One has to see with infrastructure now. So, yeah, thank you. Really nice. Every time when I see your presentation, I realize that it's so good to have you in this team.  And the way you have treated the marriage of parks and the crown, I think it really sets the bar how to treat the crown in the park. And again, like your hand-drawn sketches give so much life. Like most of us architects resort to plants, elevations, sections, and all that. And your hand-drawn sketches bring that quality.  Thank you, Mari. We didn't have enough time during our presentation, but from your last time, the steel, you mentioned about having sections every 20 meters. So we did that right now. Of course it didn't come through because it's still work in progress. But yeah, I would really like to thank because a lot of theory that we were trying to understand through the plan information, we could actually start imbibing it when we started doing this process of the section. So thanks a lot for that. And from today's presentation, I really appreciated the approach of looking at five-year transition, moving towards an ideal mobility. So yeah, thanks. Yeah, thank you, Mari. Excellent to see the development of your ideas. And what I really also appreciate is that you have a very clear vision how to change towards a pedestrian city and with public transport on the ground. And how you face to support, to change our old habits into that. And I think it's doable and it's beautiful. And thank you so much. Any more dream weaving architects? Anything to steal? Okay, just checking I'm not missing anybody right at the back or anything. Okay, great. So now I'm going to hand over to Mona. And hopefully if the technology is working, we can get some feedback from Doshi and Vastisjopa Foundation. Okay, so we've been in touch with Rajiv and it seems a whole team of people are there. I can see Uthpal and Jaydeep. And of course, Doshi, they have been partially, hopefully, been part of this. Okay, so Rajiv, would you like to just give some comments? It would be lovely before we break for lunch. Can you hear? Yes. Yeah, you're frozen, Rajiv. Can you hear me? Yes. Okay, great. First of all, fantastic. I mean, I loved all the presentations. I love the fact that, I mean, there's so many people with such enthusiasm and such energy who've been participating and coming up with wonderful ideas. So, thank you for joining us today. So, thank you to all of you. If there's a lot of thought, I notice that you've been using the word Steve, don't agree with that word. I say the bottle we share. So, thank you for sharing. Not that they're steering your ideas. I think it's thank you for sharing all your wonderful ideas. And we will see how we sort of take these further so that they can be realized eventually. I think what we've been talking about is three parts which I could sort of make out. And I'm going to be sort of generalizing right now rather than getting into any specifics. The first is that we are, you know, we are, you know, between the celestial and the circumstantial. So, we're trying to figure out how we can match these to their celestial order, which is sort of the constraints for that are much, much longer. The circumstantial is more immediate. And how do we sort of combine these together so that we can synthesize or synchronize these two aspects of this plan. The second one is, I think, very importantly that all of you have raised is about natural systems and man-made systems. And I think natural systems obviously take precedence because they need to they're sort of based on what the land is, what the topography is, what flows of water are the way that they do the man-made systems can generally adapt. Human beings are very adaptable and I think we can generally adapt to situations. The third thing that I'd like to bring about to sort of highlight is the centralized and decentralized situations that you've all talked about and at what scales do centralized systems work and at what scales, decentralized systems work and in what aspect. So, I think these are the three main sort of binaries which I thought have been highlighted by all the presentations. So, I'm very, very sort of enthused by the way that you've identified these and you've come up with the starting of ideas. I think these ideas need to be developed further. I think some of them are great ideas but as you sort of move towards making them into reality the number of layers and conflicts that arise and how you sort of settle from that and make choices would be important aspects. So, I really do look forward to this taking place in the next session and I hope to be there personally for the next session so that we can, you know, discuss at length, face to face rather than through this medium which I can see there's a time lag and I don't know if you're getting clearly what I'm trying to say out there. So, thank you very much. It was quite clear, Rajiv, we could understand most of it, and so we have we break for lunch now and we have five more presentations after lunch at two, Rajiv. So, whoever is there, I mean, if Uttapal and Jaidipa are joining us and whenever Doshi ji can, it would be great and we look forward to have your comments again in the evening if possible. Thank you so much for being online. Okay.


Quick show of hands how many people here have heard of code.org use code.org. Okay. Nice mattering And show of hands how many of you have ever used or Like investigated a test framework like selenium or phantom. J. S. Oh, okay. Nice. All right. We're in good company today Yeah, so I'll be talking about our journey starting to visually test stuff at code.org but before that for a couple reasons I wanted to just Quickly tell a little story about how I got started with stuff This is me and my three brothers four boys a poor mom. She was always hoping for a girl If you can guess which one I am Hard to tell left Right. I'm the one on the way right. I'm the youngest. I was the last straw for my mom It's when she gave up. She's very happy now that now we have now she has daughters-in-law So I think that made up for it. So this was me we were fortunate enough for for two reasons when we were younger to Be exposed to computer programming on the one hand we had access to computers when we were younger my Dad started out his career doing programming software work. So we had computers around some super old computer looking there I think I only used to play games on it some DOS games. Does anyone recognize this? this browser fortunately or unfortunately Fortunately for me when I was probably I don't know ten or eleven or twelve I Noticed there was this button on the browser that said edit like I don't I don't know if any other browsers I've seen since then had an edit button. I'd never done any programming. I didn't know you can make a web page I saw the edit button. I clicked it Well, actually I was afraid to click it because I was on some big website like New York Times comm or wired or something And I was like if I edit it is it gonna get in trouble I was pretty sure that if I edited the page and click save it would change the website Which was both exciting and terrifying. I clicked it anyway made the change and then I refresh it and it was gone So I was upset So I got more and more into Making web pages my brothers having older brothers who had like gotten into some tech stuff Before was very helpful and they would show me how to style stuff up better than the Netscape editor Let's you do and started learning HTML and it's a little bit of CSS. This was the extent of the CSS So this is a web page I made for a sport fishing Charter company that I met on an AWOL chat room who would pay me twenty dollars to make a A web page which was probably a good deal for them You'll notice I was getting pretty into the Photoshop the the layer filter effects And the oh and also of course the nice table-based layout I kind of missed that but it sounds like we're getting back to the ease of that now with the With the box model and everything so yeah, this was my first CSS And it was probably a snip that I copied I copied and then changed some stuff out You'll notice the mismatched capitalizations of the style tags. I was never sure whether it's supposed to be all caps or not Some nice some nice weird semi-colon usage So anyway the point of the point of telling you all this Then when I was sitting down to to make an AIM as you know, this is very popular back in the day You had to have an AIM Username I was trying different names. I tried Brian Jordan. It's taken I tried this thing is taken I Love turtles. I was like obsessed with turtles. I think I wrote some report about turtles So I tried like turtle taken turtle man taken and then I thought what if I add that cool magic language I don't know how to use yet CSS. So that was my AIM username was turtle CSS I'm just telling that story to say that I'm really excited to be here at CSS con It's kind of cool Turtle CSS finally made it. I'm really it's just super cool knowing that like if I'd known back then that there would be an Entire room of people who knew about CSS and that I would even know a little more CSS. I'd be like what? So anyway back to back to the talk thing This is me my brothers ultimately we all ended up taking different paths and ended up all now doing programming And it was it just makes me think I think now and then like geez what a weird like series of Coincidences or just like luck or privilege to have to be able to have access to the computers and to be able to Learn to program like none of our schools had any computer science classes the entire time You know people who also had computers just never and never ended up having the opportunity to learn to program That brings me to oh, yes, and I wanted to plug a talk Alicia's talk tomorrow at the end of the day I think we'll be a deeper dive into The those sorts of efforts and what you can do to help that So what I do and actually those two other brothers of mine also now work with me at code org Which is funny. I wouldn't recommend working with your siblings. No, it's okay. Sometimes It's a good word We're non-profit It's based in Seattle The goal of code org is to expand Participation in computer science. So we actually think that the best way to expand the the participation in computer science is to Bring computer science classes into schools and be taught next to algebra geometry in K through 12 So the wit we there's a few ways we do that there are a lot of missing pieces of the puzzle when it started in 2013 Computer science wasn't seen as something anyone could do computer science wasn't Wasn't there weren't great curricula available for K through 12 yet teachers hadn't didn't have the expertise To teach computer science or feel confident with that yet So we've kind and and also stated there's a lot of problems states also didn't count computer science as a credit So we've kind of been attacking it from every angle One of the things that we did was we ran the hour of code Which is a yearly event which which says hey teachers and students Why don't you run one hour of code with your students? It's you know a little bite-sized trunk and it's a puzzle based puzzle based games that students can play and they learn Stuff like sequencing and loops and Just yeah event handling and some basic concepts using drag-and-drop blocks to start for the for the younger ages There's a little video that kind of shows it'll be it's a quick one shows kind of like the other pieces of what we do There's so many pieces are So many different pieces going on with it. So this kind of gives a nice overview of the teacher trainings All that sort of stuff So yeah, the funny thing is a lot of people haven't a lot of people haven't heard of code.org But it's it's actually getting into a lot of schools like if you ask if you have Mises nephews sons daughters you can ask actually them and they might actually already be doing computer science in their school Or their district might be planning on doing it Most people have just heard of the hour code though. Yeah, that's the main So this will give you an idea of what we're gonna be testing So students used our tools to make these apps They can make little games Fun little stuff even fruit keyboards It's pretty sweet 40,000 teachers have been trained over the teachers having completed the training and We have a bunch of school districts a lot of the largest school districts inner-city school districts have signed on to basically implement computer science across their whole Their whole district K through 12 Just pretty sweet so 75 percent of schools still don't cover computer science All right, so let's talk about how to test this and I'll talk about if you're interested in Volunteering we're all open source and that sort of stuff at the end So yeah, we're working on full curriculum district partnerships professional development policy change Fortunately, I don't have to do all of that. I only work on our K through 12 CS curriculum And that's what we'll be focusing on testing today So anyway teachers are coming trained that must be old because I think it was 40k a lot of people using this stuff The cool thing is that because we're in schools and during the school day We have a student population that reflects real population It's not just people who you know have computers at home or can make make it to an after-school program It's actually in the school day. So that's very cool so How to code org start automated testing, how might you start automated testing? So in 2013 to 2014 2013 was the first hour of code. It was a very You know last-minute sort of thing like oh, let's put together a tutorial. I was not there at that point I joined in early 2014 But you know as you imagine when you create a new thing very quickly and push it out to production To a lot of people who there the there's bugs that come up And as we'll see we use a lot of kind of bleeding well not bleeding edge But bleeding edge for school computers technologies in our tutorials So yeah, there wasn't really so much testing So why would we test? Why would we invest the time to and Yeah, the time in infrastructure to actually set up automated tests I think the automated tests aren't necessarily for every For every team or you know the the full like cross browser automated tests I think you want to think about what what are the what are the Use cases for it. What are the things that break and how bad is it when things break in our case? It's pretty bad when things break. We're not doing fine. We're not doing financial stuff, but Think about it. We're we're in schools. This stuff's being used day to day in schools you got teachers who I Yeah, I don't know if you've ever like been in a classroom. It's kind of pandemonium We'll go in the teachers will teacher will come in get the kids all set up on the computers It takes like five ten minutes, you know, I gotta log in press the login button teacher They raise their hand then you got to go over to them. It's kind of it's pretty stressful When on top of that they say teacher the level is not going forward or this page isn't loading It's it makes everything way worse, and it's super stressful It's I've seen that in classrooms before very rare, of course now and of course schools if you remember schools schools have quite a wide array of situations I remember Yeah, I nine we got Chromebooks iPads and a mix of everything. I remember this one It's one issue. We were doing the Minecraft hour of code last year. It was like a little tutorial where It's kind of like a 2d like grid-based Minecraft and you like program Steve or Alex to move around I Got this bug report. It was like two days before the hour of code like millions and millions of Students and teachers are about to use it in their classroom, and we get a support request saying whenever Whenever we go to the Minecraft hour of code page the browser closes. I was like the browser closes. Oh My god, that's the nightmare. I was I was on the hook for that in a day millions and millions of people are gonna Maybe I don't know have their browser closed. So I needed to figure this out So I was like I was testing it on every browser. They weren't very specific in their first request I think they said may have said Chrome and they just said like and I was like Is it is it just Minecraft? Is it the other tutorials because we're using a new JavaScript game engine phase are very cool game engine I didn't know what might have what might have been wrong. So I emailed some diagnostic stuff Can you try a different browser? Can you try these other pages different tutorial and I was just so confused The the Minecraft hour of code page would close in every browser multiple browsers and not the other tutorial pages so Finally I it dawned on me I think it was like the night before the hour of code and I'm like I'm having nightmares about this I email him and I say can you try going to Minecraft net the main Minecraft web page? And he's like oh, yeah that closed too So I guess the school had a filter set up that sits there and closes the web page if the page says Minecraft on it anywhere on the page so I Said yeah, there wasn't much we could do to excise every mention of the word Minecraft in our source Good luck. Maybe try a different Ask the IT department about that one. So yeah weird stuff happens Also, we support a lot of languages like 40 plus languages including Right-to-left mode which we take to kind of an extreme where we actually flip The entire layout of the page over so the run buttons on the right still towards the visualization area And then the blocks the drag-and-drop blocks can expand out that way. Oh And yes as I alluded to earlier Bleeding ish edge technologies such as canvas and SVG which are now not so bleeding edge But turns out there are a lot of bugs you can find in a bunch of different browsers in those that you'll discover when a lot Of kids are clicking around and dragging stuff using it. So this is this is our so yeah that See right here. Yeah, you can see like the drag-and-drop blocks students drag-and-drop blocks out to Program that and think now like how would you test that? How would you make a make a robot sweet testing robot drag those things around because we'll we'll be getting to that This is this is called app lab. It's our IDE. I love it for creative programming actually Where you can drag out interface elements write that stuff and Then create JavaScript events. So this is this is for our late middle school to early high school So they start out just your drag-and-drop blocks in the earlier grades and then later on move on to This and that actually you can try you can transition from blocks to text there So you can you kind of get the goodness of self documenting blocks and then you can transfer to text How would we test that so many things to test? Let's get started so Yeah, it's kind of daunting sometimes thinking about How do we actually how would we actually get started testing at our you know on my project or At our company because it's like what do I like invest like a month and you know say like okay? We're gonna do this thing. We started very small The founder of code org He had he he works with a bunch of companies advises companies and they had said that they would They had said like hey you guys are having all these cross-browser issues You should check out this cross-browser testing. I knew nothing about it My teammates knew nothing about it one of our engineers Brendan set up just our first little test and it was Just hitting a few browsers go to a page and then and then we started running that So how our tests actually organized and run and when Brendan first implemented it We had it use a Selenium web driver, which is Selenium is the kind of lingua franca of Browser telling browsers what to do and we use cucumber as kind of a high level higher level language like DSL language Where you define your own steps? to just kind of make little reusable snippets of steps as I learned there were other patterns for doing this like the page object pattern, which is like I've gotten called out for not using that before but this works and it's it's kind of cool So yeah, we have features. It's our big list of all the tests that we have Step definitions where it's like okay if they say click on this. What does that mean in the code? So like on use the browser object do that thing? So this is what one of our tests looks like So you're you basically say given. I'm on this web page. So go to this web page And if you're running on a different host, it'll point it to a different subdomain and a rotate the landscape So we're also testing on iPad simulators and some of the browser providers actually have real device testing Which we have not explored but that is interesting for native stuff You wait to see a dialogue and then you close it and then that element should be there And then eventually we actually drag blocks to blocks press the run button, etc And a bad habit of ours is we often make cucumber steps that are That let you just say selectors and stuff and apparently you're not supposed to put selectors in your cucumber text either But it works So some takeaways from doing that stuff Yeah, so building up a library of steps is actually pretty useful Because you're building up very reusable pieces, especially if you have some JavaScript You got a trigger on the page or if you have some assertion you want to make about You know some some thing you can build up reusable steps with cucumber So in this case we have something that lets you drag block a to block b And then so now in your step all you got to write is that you don't have to reference any JavaScript or know too much about the stuff Underlying it the other lesson we learned was hey don't test on real production data because Then that's going to change because we have our education team is going through and editing levels adding levels changing the order of things So set up test stuff separate test data if you can Even better to have it programmatically set up in our case We just we use our own level editing pipeline to just set up a test only levels Which is kind of a smattering of levels of different stuff on our entire site Also a handy page to use if you're if you do want to do some manual testing It's like oh here's everything on our page So actually something that would be useful if you have like a style guide a you know a set of patterns that your team uses For visual stuff Well, I guess we'll get to visual testing in a second But I think that's a good target maybe for something to point your tests at Are the cool thing annotations cucumber lets you kind of flag tests on and off You can say don't run this on IE because we know it's gonna not work or sometimes the web drivers have their own issues So you want to flag that So on our team who writes tests? So on our team we Because we just kind of got it started when the immediate need came up. We all kind of Did our part to set up the system and write our own tests So everyone out on our team writes writes these tests alongside their features Or oftentimes after the features done because there's a bit of thrashing sometimes when you're writing a feature like that And that's actually worked out pretty well, although I haven't worked somewhere previously where there is there are dedicated Test test automation to engineers. I've heard that's very nice and save some of the pain that we've also gone through So mad respect to our friends in test automation. They they do some awesome work So who are what actually runs the tests? Well, we run the tests when you're developing a test But then when you actually run it so in 2015 We had one pipeline of tests.  So we'd be sitting in the hip chat room And watching the output come through now we're on slack But no longer do we only run it through that one machine sitting there when get updates There's also the thing is our tests if your tests take a while. You have a lot of people pushing code in then It's gonna get backed up in your tests You won't find out about what broke until later now what we got going on is Tests UI tests actual cross browser tests for every single commit.  It's very awesome having Flourcus tests. So what challenges did we end up facing? Yes, and how did we address those challenges that I alluded to earlier? Multiple browsers we support a lot of browsers What we use is that selenium web driver because it's kind of that got that lingua franca Sort of factor of being able to point to different browsers We can point it at any given browser And we don't actually have to set up machines to do that because we use sauce labs Which is a basic cloud provider of these of these VMs with those browsers in them So you literally say just point your selenium test in your configuration of the URL you just say point to sauce labs Give me this browser and then your tests start running and they they deal with all the stuff behind the hood There are ways of setting up your own cloud, but it's nice to not have to maintain that and they're always adding new browser support So this is our browsers.json file It has a list of the cut basically the different browsers we want to run against So some of these are the the sauce labs identifiers You can say what what operating system you want you can say what? browser you want and Then when your tests are running you can even see they record a video of the test running So if there's a failure you can say okay, well what actually happened during that run It adds adds a little nice ability to debug that Now how about testing new changes so you're writing a new test or you locally change something You know a new feature that you know is gonna break a test. How do you test that so? If you're doing it locally what you can do is use Chrome driver in our case where Where you point the test at a local browser and it'll actually pop the browser up in front of you And you'll see the robot like doing stuff.  I love pull request This was like my holy grail. I'm so glad we now have it. I just I think I we just got it in the last like month or so So now our UI tests also run on circle CI and will Tell you when thing when your stuff broke stuff and so you don't have to worry about those buckets of failures anymore So how about drag-and-drop? The standard Selenium drag-and-drop didn't work for us. So we ended up using jQuery simulate Happened to work with our SVG based drag dragging and dropping editor Visual responsive changes. That's the cool thing so in Was it last year or the year before I was doing a hackathon actually with my the our oldest brother We got into a hackathon and I was trying to think of a project idea Based on like what is what's a project that? That would be really useful. What's a pain point at work and how can I fix that? And I was thinking we had just had some bugs where it's like a button went away or something And it's like I don't even know how you're gonna or a button show a second button copy showed up And I'm like, how do you even test for that? You have to like say, okay, there's gonna be one button It's gonna look like like that's too many steps when you're writing those individual manual steps And often looking looking into who broke what when and finding out finding that out later from you know users or You know the CEO is not very fun So I figured hey, what if we just I thought this was like a super unique idea What if we just took a screenshot of the thing and then compared it with another screenshot of the new version? Turns out a lot of people have done that before but I thought it was cool at the time In fact, there's even a tool. We ended up finding during the hackathon. I think it was called pdiff that let basically lets you Over it'll kind of show you It'll detect what percentage of the pixels changed and it'll kind of provide this cool view of like which what changed in Between the the two things so we set that up. It was still a pretty cool tool You just literally put the URLs in and press run and it was cool, but it turns out It was really hard to do that, right? Apparently when you take screenshots Things things change that you wouldn't expect change like sub pixel Shifting of stuff and it depends on like the browser's Operating system renderer. It's it's yeah, you see a lot of weird stuff and also, you know If you have a something randomly changing on your page you have to deal with that Turns out It's an actual thing though. So if there's something called Apple tools that we found after and I was like, oh Why don't you just tell me about that? so Apple tools they're they're basically they're doing just that so they provide an API that lets you Compare the images and adding more regions and everything like that So actually in our case it was because we already had the selenium test set up and they basically plug on top of the Selenium web driver We just have these new steps that say eyes dot open And then you can have a we had a new cucumber Thing here step here that says I see no difference for this and that's basically a tagged baseline a tagged image So say I see no different difference for the homepage And then it says cool check the last version of the homepage if if it did break then it'll throw up it'll be upset so Here's an example of one of our features that was converted to an eyes feature So we mark it as eyes to say basically make the stuff available to run that and then I say when I open my eyes to test this thing Go to the thing. So click around. We're still using selenium commands And then at some point I say and I see no difference for Blank game screen and so it takes a screenshot at that point and gets it ready for our review The other thing is this is cool cucumber has this this thing that is Scenario outlines where you can basically write a table of URLs and stuff and it'll run the same tips for steps for all of them So yes ignoring regions as I alluded to earlier if you have random elements on your page things often change on web pages Pretty often rotating screens or in this case a random assortment of angry birds Tiles on the screen we can do is you you basically draw you click this button and draw add an ignore region within Which you want to ignore changes So yeah, it when there is a failure when something changes. Here's an example of a failure Where this button is showing up when it shouldn't be showing up. It was due to there's a version of this that has parameters and a version of it that doesn't have parameters and There was some Inherence mix up there that caused that issue, but we caught it before it broke the tool This is this is kind of the interface and here's another example of a failure where The step button showed up when it shouldn't show up And that was present on a lot of different steps in that same test. So you can kind of tab between the different steps there and yeah The other thing is they also when you use the phone Version of it. It'll show the top bar of the kind of the whole simulator and screenshot based on that So what do these tests look like when they are running? We'll do a little bit of this speed run Do it on time So yeah, I just find this so cool. So there's a computer. This this Selenium robot is sitting there Learning how to code so it's code. That's writing. That's learning how to write code. I just think that's kind of cool That's silly Yeah, it's kind of fun watching your site get used very quickly Cool So wasting time or not wasting time. We don't want to waste time time is valuable We can do things with time so one thing that sometimes will happen is Tests if you write, you know, you write a couple tests and it's like, oh two minutes That's fine Like I can do a minute long test I can wait for that and then you know your whole team's writing tests and then more People are writing tests suddenly your test suite is 60 to 90 minutes, which means you're not gonna run it locally You're not gonna run it very often and then those buckets of of changes that you're gonna have to figure out What broke what are gonna be larger? So we started doing was Parallelizing our test runs at the test in the test runner so you can basically say run this at parallelization 50 And it'll spin up 50 browsers all at once and be you know telling them all what to do at the same time All hitting your same server actually oftentimes the bottleneck is the server your local server because it's getting hammered by like a hundred different VMs So in 2015 we got back down from 60 to 90 minutes back down to 20 to 30 minutes and we're still around there Oftentimes when we're having like team retrospectives and it's like what sucks about being you know our on-call person or looking through the failures oftentimes You know people will question the premise. Why do we have tests? What if we just didn't have the tests and sometimes it's hard to answer that or like or what if we just cut out Firefox or Safari like I'm out. It's just around like one browser. There aren't those issues all gonna be the same reason jQuery It's gonna it'll it'll sort itself out And I'm always like wracking my brain. I was like I could have sworn there was some Firefox bug or something So we started doing was keeping a bugs tests caught wiki page that are kind of like it's kind of like the trophy haul for The bugs that you caught I'll share some of the items from here. The nice thing about being an open source project is we can show you everything Here's here's a instance where a button went away Here's an instance where the button got taller randomly Here's an instance where this weird margin White margin got added to the right of the tool which is like that stuff used to happen all the time And it's like it's nice to get notified about that early. This was a funny one So Over there was some kind of like re-jiggering of the whole of like some of our top level styles And then overflow hidden ended up applying to This text up here. So if you can see the words are kind of getting cut off I don't even know if I was just clicking through I might not even notice that but we caught that one Here there's the duplicate button button got duplicated. That's always a tough one to catch Without the visual stuff. And here's one where there's one Tiny gray pixel I Don't know how that happens. Well, we figured it out at some point Yeah, it catches all that kind of little stuff. Here was a big one that I caught So this was yeah speaking of bugs that bugs still do happen, especially when you're using SVG Yeah, get the box when it's hidden blows up And here's one where chrome 50 deprecated SVG element offset with and it broke our little layout of that text caught that one And here's my favorite bug ever Let's look at this look at these two slides and imagine you're you're doing some QA manual QA on your site What's the difference between these two webpages? There is a scroll bar, but why but why see that see that text down there Yeah, and see actually even above there stuff's getting shifted down to the line height changed everywhere The entire websites line height was changed during a routine refactoring of top-level styles So we caught that and yeah, I'm pretty certain if we didn't have these tests in place We would still have that that our website would just be slightly longer forever Who investigate failures? We have a dev of the day when failures do come up to kind of triage the stuff It's not pleasant to be the dev of the day. It wasn't didn't used to be pleasant to be dev of the day It's it's slightly better now. So right when you're running in a big bucket and you have a bunch of failures You have to figure out what caused them So you're looking you're looking at any random failure from anyone's code from that entire day and then you have to figure out who broke what and then Make sure that they get their fix in before you do a production push or revert it Now that we have those pull request tests You don't have to do that because it just doesn't break because the yeah So now now that we're actually running in every single pull request before you do the pull request You'll check that you have to merge it. What's next for us? We're gonna get our Test results like add a little github comment with the screenshot diff. I think that'll be cool in your branch when it breaks If you guys want to learn more about cross browser responsive tests Dave Hefner has a sweet Introduction to that and you can see there you just define different resolutions and browsers to do that Where's some takeaways start small? Everybody tests Don't have to do that if you have someone to test then maybe not everyone has to test but it worked out pretty well for us and Periodically invest in speed-ups so your tests don't get too long I just want to thank all my team who worked on many pieces of this because we all kind of shared the burden on that and Of course the folks at the various providers that we worked with Thank you. Ah, yes, and if you're interested in getting involved code.org slash help Let's have some Q&A with turtle CSS here I'm not gonna reveal my first All right, so we did have one question Some folks are saying they've used selenium for testing before and they find that as applications change the tests become really fragile and Difficult to maintain and they frequently have to be fixed. So how did you avoid this at code org? Yeah, so you so that that that one that one tip I think that was having a separate like a separate portions of your site that don't thrash as much is helpful and then I think also Making it okay to break tests is is making the workflow for breaking tests a little less painful I think that that made a big difference for us because yeah It's it's when you find out about the test a day or a week later that it's extremely painful to like figure out who broke What and what you did to break it? So I think I think that stuff mitigates the pain of Having tests that are so fragile and I imagine when you decided to write test One of the tenets is that now that you're adopting this everyone has to be writing it and everyone has to submit tests So how did that become part of your culture and day-to-day? Yeah, that's a good question So I think the way we kind of started out is you know a couple people Everyone's kind of like different their toe in the water It's like there's a new project a new file like the new steps to try out to run test locally And they'll be like, okay, maybe I'll like try writing, you know for this moment my feature Maybe this thing broke often like it oftentimes if something breaks Team member will say hey, like don't we have a test that covered that or what if we had a test that covered that? Okay, I'm ready to test that covers that Yeah, so it kind of like grew from there And then it's like you don't want your stuff to break and then especially if you could have prevented it by writing tests Like all right probably should have written a test for that So it's kind of ends up being on the owner of that which works for our team because I think we have kind of separate areas of ownership like features Wonderful, and then it's just kind of adopted its way through and your bug list keeps everyone that's right Yep, the fun list of all the bugs we caught I like that. All right. Well, thank you so much, Brian


The Ministry of Health and Wellness has received confirmation of 76 new cases of COVID-19 from the Ezra Long Laboratory. This is from a batch of 309 samples, which were taken for testing between January 18 to January 24, 2021. The Ministry of Health also received confirmation that 37 COVID-19 patients have fully recovered. This brings a total number of active cases in country to 412. All of the active cases are stable and doing well. All of the new cases are St Lucia Nationals who range in age from 6 years to 85 years. They are from the castries Souffre, Anselare, Grosillais, Denry and Bavono districts.


Did you, Steven A. Smith, not pick the San Francisco 49ers to have a better record than the Eagles? Yes. Oh. But they did. Because I thought that the Philadelphia Eagles would be battling in the NFC East and I knew the NFC West was weak. Right. I thought I saw a putty cat. I did. I did. It didn't happen. It didn't happen.


Let the set Z2 to the m-by-n power denote the set of all m-by-n matrices whose entries come from Z2. Now, something to remember here, when you have a matrix m-by-n, the first number always counts the number of rows in the matrix, and the second number then counts the number of columns. So an m-by-n matrix will have m-mini rows and n-mini columns. It's reverse alphabetical order here. And then the other thing I should mention is that this notation right here is not super standard. There's, you know, like I think in Judson, they use the notation m-sub m-by-n and then Z2, something like that. Again, it's like the matrices, which are m-by-n whose scalars come from Z2, something like that. It doesn't make much of a difference here, but this is the notation I used in my linear algebra course, and so that's what we're just going to use right here as well. So Z2, m-to-the-n, this in particular is a Abelian group, right? With respect to matrix addition, addition would be associative, commutative. The zero matrix acts as the additive identity, and we'll just denote that as a zero, the zero matrix. Every matrix has an inverse, like if you have a matrix A, its inverse would just be negative one times the matrix, right? Which, when you're working by, that's sort of like the argument in general, of course, but if you're working binary, there is no such thing as a negative, every element is its own inverse, right? A plus the A is equal to the zero matrix, you're going to see that. So Z2 to the m-by-n, this is an Abelian group, right, with respect to addition. And this is true not just for matrices, if you take column vectors, we're going to have that as well. In fact, though, we can do, it's also a vector space that we should describe here, because in addition to being close under addition, it's close under skill and multiplication, which is another type of operation, it's not, a scalar multiplication is not technically a binary operation, how we've usually defined it, because scalar multiplication, you take two arguments, two operands, you're going to take your field, right?  And so binary operation would require the two operands are the same and you return something like that. So it's a little bit different, but the same idea, we can still call it an operation for, you know, the lack of a better term right here. And so this group right here, this Abelian group also has equipped on it, scaling multiplication, which makes it into a vector space. Now, admittedly, when you have the binary vector space right here, the only scalars present are zero and one, I mean, that's your field in consideration right here. And so scaling by one will just give you back the original vector and scaling by zero gives you the zero vector always. And so really the, you know, the extra, the extra scaling multiplication is not going to do much for us. But I mean, this is a, this, this, this group is also a vector space. And that extra perspective does inform us why we make some of the decisions we're going to make based upon the linear algorithm play. So imagine we have a matrix H, which is going to be M by N. Recall that from linear algebra, the null space of H, which we're going to denote null of H, this is the set of all vectors. So let me write this out here, the null space of a matrix A, this is going to be the set of all vectors X, which live inside of our vector space, in this case, is Z2 to the N, such that HX is equal to the zero vector, right? So this, oh, you can see it right here. I didn't even notice it was on the screen. The null space of H is equal to all of those vectors that when multiplied by H give you zero. And this will then be a subspace of Z2N right here, where N was the number of columns of the matrix H right there. And so yes, this null space itself is a subgroup of this group right here. But like I said, that we can also view this as a vector space and therefore this is a so-called subspace. I mean, it's a subspace, it's a vector space inside of a larger vector space. But like I said, the scalar multiplication really isn't doing much for binary arithmetic. So essentially, the null space for our purposes as, you know, students of abstract algebra, this is going to be a subgroup of this abelian group right here, okay? And so then this leads to the main idea for this chapter, chapter eight, that if you have an N by N matrix, we can construct a code using the null space of A. So basically, if we take any subgroup of Z2N, we can make a group code out of that, right? It's a code, which is also a subgroup. But if we construct the group code using the null space of a matrix, we call that a linear code, okay? Let's take an example of such a thing. Let's take the binary matrix H equals this 3 by 5 matrix you see right here. And oftentimes, we're going to describe matrices by their rows or columns. So like this right here, these would be the column vectors of the matrix. So it has five column vectors. And so these column vectors belong to Z2, 3. So you got 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, and 0, 0, 1 as the vectors in play right there. So let's consider for a moment, how do we compute the null space of this? Because there's going to be two very important, two fundamental spaces of the matrix that are going to be in play here. The first one I want to remind us about is the column space. This one's not going to be super critical, but I do want to mention here. The column space here is going to be the span of the column vectors of this matrix. So you get the span, you're going to get the span of 0, 1, 0, 1, 1, 0, 0, 1, 1, who's my next 1, 1, 1, 1, and then 0, 0, 1, which I don't anticipate that's going to be a basis for this. Recall that the span, this is the set of all linear combinations of these five vectors, which a linear combination would look like any possible sum of any combination of sums and scalars of these things. And so that would give us the column space. Like I said, that's not going to be in play a little bit later in our series here. For the null space, though, how does one compute the null space? How do you decide if a vector is inside the null space? Well, basically, you just think of the numbers in this matrix as coefficients of a linear system. And so we end up going out trying to solve the homogeneous system of equations, homogeneous meaning that the right-hand side is all the same and they're all zeros. So how you want to interpret this is the following. We'll look at the first row. And so you think of these as the scalars, the coefficients in a linear equation. So you have 0 times x1, 1 times x2, 0 times x3, you have then 1 times x4, then 0 times x5, and this is supposed to equal to 0 on the right-hand side. That's how we want to read this. And that's where we get this equation right here, x2 plus x4 equals 0. The second row, then, would it be read as x1 plus x2 plus x3 plus x4 is equal to 0? And then the last one right here, you're going to get 00111. That we would read as x3 plus x4 plus x5 equals 0. So finding the null space comes down to solving this homogeneous system of equations. Now you can solve it from a variety of techniques like substitution, elimination. Those work very well on a binary sequence. Like elimination is really nice because the only coefficients are 0 and 1, so it's very easy to eliminate things. But you can also solve this by the usual row reduction techniques like Gaussian elimination, Gaussian elimination. And I actually would treat this as a matrix, right? So if I wanted to row reduce this thing, what I would do is I would consider, okay, I want a 1 in my first pivot position. So I'm going to swap the first two rows, like just interchange their order. And so we end up with 11110. We're going to get 01010 and then 00111. So I just swapped the rows, the order of the first two rows. So I get a 1 in my pivot position because you want a 1 in this box. You want to make this downward staircase of 1s here. So the next pivot would be right here, all right, which there's already a 0 below it. So that's great. So then my next pivot, I'd go right here. So this matrix is now in what we call echelon form, where I get this downward staircase of the 1s and everything below is 0. That's what we want for echelon form. It's even better if we can get this into row reduced echelon form. And so to do that, we want to now start getting moving, now moving right to left. We want to get zeros above the pivot position. So how do we get rid of those there, right? Well, we want to get rid of this 1. How can we go about doing that? Well, we could row reduce as we could take row 1 and add to it row 3, something like that. Notice that if you do that, since you just have zeros here, you'd add zeros. So you get a 00. I don't actually bother writing the zeros when you're just adding the zero. So you're going to get a 111. And again, working with binary arithmetic here, you're going to get 110010101. I didn't do anything to the second row, nor do I do anything to the third row, like so. And then so then focusing the next on my next pivot 2, we don't want a 1 right here. We want to get rid of it. So we can do that by replacing row 1 with row 1 plus row 2, for which we get a plus 1 right here. We get a plus 1 right here. And so what would that look like here? Well, the first column, nothing happened there. With the second column, you're going to get 010. For the third column, nothing happened there either. And if you just pause here for a second, you'll notice that this right here is just the identity matrix. We kind of like that when this shows up inside of our matrix, when we're trying to row reduce it. For the last two columns, you're going to give 101. And then you're going to get 101 and then 101 right there. And so this matrix right here is the row reduced echelon form, sometimes called RREF, for this matrix. And then from that, we want to turn that back into a system of linear equations, which you can see illustrated right here. So you're going to see those pivots along this diagonal right here. Same thing going on there. Looking at the first row, you get x1 plus 4x4 plus x5 equals 0. The second row, you got x2 plus x4 equals 0. For the third row, you get x3 plus x4 plus x5 equals 0. And so from this, we can actually find the null space of the matrix, for which if we think of a generic vector in the null space x, it's a vector with five entries, the number of columns, x1, x2, x3, x4, x5. Now for each of these equations right here, we could solve for the pivot position. So we could solve for x1. This will look like x1 equals x4 plus x5. You can move x4 and x5 to the other side. Normally you would be subtracting them, but as we're working mod 2, a subtraction and addition are actually the same thing. And so notice that this first equation gives us this dependent variable condition that if you kind of choose x4 and x5 freely, then x1 will depend upon that choice. And so x1 is equal to x4 plus x5. If we do the same thing for the second equation, you can move x4 to the other side and you're going to get x2 equals x4. So we can actually replace x2 with x4. And then lastly, if we take the third equation we solve for x3 or pivot position, we're going to get that x3 equals likewise x4 plus x5 in particular is equal to x1. And so we make that substitution right here. Now x4 and x5, there was no pivot positions in those columns. We're not treating them as dependent upon anything. They're free variables. So x4 and x5 will just leave them alone. And so then what we can do is we can decompose this vector with respect to the x4s and the x5s. So if you look at which positions have an x4 and at the first, second, third, and fourth positions. So x4 times the vector 1, 1, 1, 0. Did I say enough ones there? 1, 1, 1, 1, 0. That gives you there. And if you look at the x5s, you're going to get in the first position, the third position, and the fifth position. You get so right here. And so this right here, these two vectors give us a basis for the null space of our matrix H right here. And so therefore our code, our linear code C will be the span of these vectors, writing them now horizontally, 1, 1, 1, 1, 0. And then 1, 0, 1, 0, 1. And this is a basis. And so this code is going to be two dimensional. This code can be used to encode two bits of information, although there's going to be five bits in the codes themselves, right? And if you want to see what the code is, the code is going to be all the possible linear combinations of these things. Let's call the first vector u, the second vector v right here. So what are the possible combinations?  OK? You could get 1 times u plus 0 times v. That would just give you back u, what you see right here. You could take 0 times u plus 1 times v. That would just give you back v. And then the last possibility, you could take 1 times u plus 1 times v. So just u plus v. And when you add those together, mod 2, the first digit, the first bit would be 0, then a 1, then a 0, then a 1, and then a 1, what you see right here. So the null space of this matrix then gives us a 5, 2 block code. And looking at the words here, this is a block, this would be a group code, right? So we have a minimum, we have a weight of 4, 3, and 3. So the minimum weight is 3. So that's the minimum distance of this group code. So that means this code should be able to detect up to 2 errors and can correct automatically up to 1.


Ang karunungan ay kapangyarihan. Now let's put that power to the test. It's time for K-Check! Nela board. Ako po si Amy Sumartinez and this is K-Check, the newest and smartest game show on Philippine television. Marami ang hindi na kasawang dandagan ang kadira mga kaalaman. Here on K-Check, titig na natin kung gahan o katindi ang brain power nila in various disciplines. And in the final week of the competition, malalaman natin kung sino ang kauna-una ang tatanghaling K-Check champion. Apat na contestants ang dadaan sa ating karunungan check sa araw na ito. Andre is an actor and musician based in Kesson City. He is a former student at the U.P. Film Institute and an honorary alumnus of the U.P. Repertory Company and U.P. Cinema. Glenn is from Negros Oriental and is currently a D.S. Strategic Engineering student. Dias is a performance major in theater. He came from the province of Laguna where he originally majored in engineering. Now he's following his dream of becoming a theater actor. Lijan is an aspiring theater practitioner, hobbyist and is currently navigating the corporate lifestyle. He's eager to win with bits and pieces of information and accumulated in his lifetime. These four will be competing under the watchful eyes of today's K-Check panels of experts. Professor Marion Roque, a professor of mathematics at the U.P. Daliman. Professor Neil Santillian, chairperson of the U.P. Daliman Department of History. And Professor Maylin Cruz, assistant professor from the Department of CRE College of Fine Arts University of the Philippines, Daliman. And now contestants, papasok na tayo sa K-Check paramihan where each correct answer is worth ten points. This is your chance to bank as many points as you can and take the all-important early lead. Let's begin. Okay, what do arigato and gracias mean in English? Thank you. K-Check, Glenn, what is 75% of 200? 150. K-Check, Dias, Val Kilmer voice the character of which biblical leader in DreamWorks, Prince of Egypt? Pharaoh Dias. Malay. Moses. Lee Jan. In what continent can you find the city of Rio de Janeiro? South America. K-Check. Andre, 5% is what percent of 20? 25. K-Check. Glenn, what is the capital of Vietnam? Dias, what province is due north of Abra and Ilocos Sur? Buyan Islands. Le, Ilocos Norte. Lee Jan, 8% is 25% of what number? 24. K-Check. 32. Andre, Basilan lies due west of which larger island? Sulu. Malay. Penal. Glenn, which singer hit number one with Teenage Dream and Fireworks? Katy Perry. Dias, 30% is 50% of what number? 60. K-Check. Lee Jan, the iPad is made by which trillion-dollar electronics company? Apple. K-Check. And that's it for our first round, the K-Check Paramehan Round. And that's it for our first round, the K-Check Paramehan Round. Grabyo, no? Ano close five. Exciting, diba? Gita mo yung score parang dikit-dikit, no? Kinayam mo yung mga questions. Tai-tai na silang. Yes, oh. At ngayon, ready na ba kayong lahat for our Pabilisan Round? K-Check. Let's take a look at the scores of our contestants. We have a Tai in first place, Andrey and Lee Jan with 20 points. And then also another Tai, sa second place, Glenn and Dias at 10 points. Yes, oh. Ito nung kasi kaya exciting yung round na yun. Alam na alam na yung mga quest shots. May come, Prof May, alam mo yung mga questions kanina. Kasagot mo ba sila? Mas magaling, mas mabuti na na dito na lang ako. Kasi may kasamang ka-back. Correct. May tanong ka sa mga contestants natin? May tanong ako para kay Dias. Kasi ang background niya is, sabi niya, ay galing siya ng engineering tapos theater ngayon. Kuentuhan mo naman kami, anong papakano na punta from engineering to theater. Back then lang po parang, mas kailangan kung tingnan yung practical standpoint of things. Pero ngayon po yung passion na lang. Passion naman po. How does it feel now? Mas masaya? Sobrang mas masaya po. Very good. Ako naman curious ako kay Glenn. Kasi puro tiyatro sa like sub si Glenn, siya isang genetic engineering student. Bakit genetic engineering? Genetic engineering is discipline niya po, is surveying, remote sensing and photogrammetry among others and mostly involved with geometry and hili ko siya. Kaya baka kumawa niya. A-passion din niya. Makakasundu mo yan siya kani Prof. Mario niya. Di kailang maging artista para passion nang yan. Yes. We're now going into K-check pabilisan. Buzz in first for the right to answer the question. Correct answers are worth 20 points pero sa round na ito minus 10 points ang maling sagot. Kaya contestants, think first before you press that buzzer. Let's begin. What 2016 South Korean action horror film takes place on a high speed rail? Dias. Train to Busan. K-check. Next question. The nucleus of an atom is composed of a neutron and what possibility? Dias. Proton. K-check. Kamehameha Day is an official holiday celebrated on June 11th in Watt U.S. State. Dias. Hawaii. K-check. Next question. What Grand Slam tennis event was held at the USDA Billy Jean King National Tennis Center in New York City? Ang tamang sagot ay U.S. Open. In human anatomy, what is the name of a cord arising from the navel that connects the fetus with a mother's legion? Belical cord. K-check. Which Iraqi strongman declared that the 1991 Gulf War was the mother of all battles? Ang nakasagot ay Saddam Hussein. Which popular cosmetics company gets its name from the birthplace of the great playwright William Shakespeare? Here is Ava. In sports, a triathlon is composed of cycling, running, and what other sports? Dias. Swimming. K-check. What title did Precious Lara Kigaman win on September 26, 2005, in Tokyo, Japan? Syapo ang ating Miss International. Gomez, Morticia, Pugsley, and Wednesday are members of what family? Legion. Adams Family. K-check. What is the name of the mother of Prince William and Prince Harry of the Youth? Legion. Queen Elizabeth. Andre. Princess Diana. K-check. And the last question. In Roman mythology, who is the goddess of love and... Legion. Aphrodite. Malik. Andre. Venus. K-check. And that's it for our Pabilisan Round. The end of our K-check Pabilisan Round. Before we continue, points recap muna tayo. Si Dias has 90 points. Andre has 60 points. Legion has 40 points. And Glenn has 10 points. Exciting pa din, ala ba? Parang gusto ko magpustahan talaga tayo his time. So mo na excited ako while I was reading the questions. Diba? O kasi ito may reaction mo. Talagang akala mo ito na yung pinultimate round. Okay. This time, we'll have our experts. Our beautiful and handsome experts ask the questions from our... mga kalaro, no? Mga kalaro. Mga naglalaro. Naparang tuwang tuwalang sila sa kailang paglalaro at tumatawa talagang balakas. O siguro si Andre, isa mga malakas tumawa eh. Ay, di po. Matka tumatawa po na akasagot ka? Ay, di po kasi ano yun. Bugsun ng damda. Bugsun ng damda. Bugsun ng damda. Kasi po, Eloy, may consequence ko apag mali. Okay. So, alam mo yung siguro 90% sure ka. Pero may 10% na nagumulto na kasi may minus 10. So, pinakabahan ka pa din? O po. So, yung tawa, utama ganon. So, actor ka, stage? Film? Both po. Both? Nag-artista ka na sa film? Yes po, meron akong short film this year. Hindi pala malaman. Yeah. Matka nag quiz show? Kasi po, soko po makabalik sa UP, kasi namis ko po yung campus and namis ko po yung company ng mga dati ko po naka-sama sa school. Kung kumaramo siyan tala, tandami niyang alam, si Princess Diana, kailalan niya. Holistics si Andre. Happy Death Anniversary panaman si Diana recently. Okay. Prof Neil, ikaw. Nag-usok ang mga tanaw sa kanila. Ang panongko para kay Dijan.  So, mangyari maipaliwa nag ito sa amin. Ano po, basically po, meron po akong nakatrabaho na sa theater pero since hindi naman po dulituloy ang mga projects. At the same time, kailangan ko po ng study income in order for me to pay bills. So, baka yung follow-up question, ano ba tung corporate world na tinutukoy mo? Feeling ko po confidential mo siya. Di pa po kasi din ako considered as an employee by this time po. So, it's the ideology of the corporate world from Neil. Ang inisip ko baka kailangan confidencial because trolling, hindi naman trolling. Hindi naman po. Hindi daw, miniature niya. Okay. Ano, this time, our contestants will face their toughest challenge. Yet, dahil ang ating ultimate pagaling around, susunod na, here on K-check! In the lead is Diaz with 90 points. He is followed by Andre with 60 points. Third place at this point is Lijan with 40 points and then we have Glenn with 10 points. Nako, maini talaga ang labana. So, 360 points pa ang at-stake sa round na ito. Potentially, it's anyone's game. No, kahit na sa lead is Diaz. Diba? So, we'll find out in our K-check ultimate pagalingan where correct answers again are worth 30 points. Wrong answers get a 15 point deduction. At para mas madagdagan ang kaalaman ang ating mga contestants at viewers sa round na ito sa mga professors ng ating panel of experts mangagaling ang mga tanong. At the end of this round, malalama na natin kung sino ang tatanghaling K-check daily winner. Contestants, let's begin! Everyone from Prof. Marian. First question, simply muna, what is the mathematical name of the number whose digits consist of 1 followed by 100 zeros? Glenn. Googleplex. Googleplex. Plex. Malapit na e. Google. The correct answer is Google. Prof. Neil. Next question. Which Philippine president officially renamed the maritime areas on the western side of the Philippine archipelago as West Philippine Sea? Lijan. President Ninoy Aquino. Malo. Hindi po naging Presidente si Ninoy Aquino. Naging Presidente kanyang asawa nasi Corey Aquino mula 1986 ang 1992 at kanyang anak na si Ninoy o Binino Simeon Aquino mula 2010 hanggang 2016. Ang tamang sagot ay Binino Simeon Aquino. Arami. Salamat Prof. Neil. Prof. Maylin. What famous sculpture was created by the national artist Guillermo Tolentino for UP? Andre. The Oblution. K-check. Okay. Medyo galit yung sagot mo pero tama ko. Ang Oblution sumisimbulos sa selfless offering of oneself to the country at ang original nito ay actually hindi yung nasa university avenue pero ang makikita ang original sa third floor library. Thank you. K-check. Prof. Marian. Next question, please. Okay. Ngayong pandemic kailangan talaga handwashing, right? So it's typically made by combining triglycerides from oil or fat and a strong base to form fatty acid metal salts. This process of making soap is called blank. Okay. Malabits award na sabon. It's saponification. Saponification. May gagawin na tayo mamayang, Sir Neil na sa mga bahay natin. Prof. Neil. Next question. Tang twister ulit yung tanong ni Mamarian. Okay. Susunod na tanong which province do the cities of Alaminos, San Carlos and Ordaneta belong to? Andre. Pangkasinan. Ang Pangkasinan ay ang tamang sa God K-check. Thank you. Prof. Neil. Prof. Maylin. What is the popular term for the stage reenactment of Christ's passion and death? Dias. Sinakolo. Tamang sa God K-check. Ang sinakolo ay pinapraktis sa iba-tibang lugar dito sa Pilipinas mula at pinakakilila na siguro yung sa Pampanga. Okay. Nasapunta ka na pa sa Pampanga, pero sinakolo. Hindi pa yung pag-witness ng sinakolo, pero sa Pampanga, Madeline. Okay. Pupunta ulit tayong lahat ng Pampanga, Prof. Maylin. Duna ko. Prof. Mario. Next question. Okay. Biology ulit. Where can you find the smallest bone in the human body? Okay. The smallest bones are the ossicles made up of values, incos, states known as also the hammer, the anvil, and the syrup. The correct answer is actually needle, ear, but I will accept ear. Okay. Thank you. Prof. Maylin. Next question. Which province is dubbed as the salad bowl of the Philippines? Kaila ko madaling tanong ito kasi meron tayong mga shortage na mga gula yung yung. Bakit kita dito yung shodad ng bakyo? Meron dey mga strawberry farms. Ikatrin itong province nito. Ang tamang sagot ay bengar. Okay. Thank you. Bengar sa norte. Prof. Maylin. Next question, please. This is a status symbol seating furniture among the ifugaw. Legion. Bahag. Ang tamang sagot ay hagabi. It is a slanting bench that is ritual infused from the selection of the lumber to the transport of the bench to the front of the house. Ang isang hagabi ay isang napakataas na status symbol, no? Halintulad siya, siguro, sa kapanahuna natin pagkakaroon ng kochi, pagkakaroon ng bahay, no? Napakamahalagang status symbol do para sa mga ifugaw. Okay. Pagpapalagay nga po sa bahay ko nyan. Okay. Exciting alaban kasi tay si Andre siya kasi Daya sa 120 points. So, uling tatlong tanong, no? Prof. Maylin. Ito. Kaya nyo ito, ha? Kasi lahat tayo meron ganito. Blood is an example of what type of animal tissue. Andre. Oh no. Time. There are four types. Of tissues, epithelial, nervous, and connective. And blood is a connective tissue. Nice to know. Prof. Niel. Anong lungosot anagsisilbing regional center ng sock surgeon? Dagdag kaalaman lang baka isa do sa pinakamahirap na acronym sa mga place names natin. SOC, South Kotobato, yung C ay Kotobato SK Sultan Kodarat, yung SAR saranggani at Jen ay General Santo City. Ang centro nila ay ang lungosot ng koronadan. Okay, parami. Anong tamag-sagot. Okay. Uling katanungan, Prof. Maylin. Yes, this is the last question for this round. How many female national artists for visual arts are there so far? Ang tamag-sagot, unfortunately, is non or zero. Hanggang ngayon wala pa tayo ni isang babaing national artist for the visual arts. So, hamo nito para sa lahat na i-recognize na yung mga napakarami naman ng magagaling ng mga babaing artists sa darangan ng visual arts. Tama. Tama. Okay. Exciting round ito. And that's it for our K-check Ultimate Magalingan. Congratulations to Dias, our K-check daily winner with a final score of 120 points. We'll see Dias again tomorrow when he competes with our other daily winners for a spot in our semifinals. Thanks to Andre, Glenn, and Legion for joining and to the members of our panel of experts, Prof. Marion, Prof. Neil and Prof. Maylin. This is Aimee Sue Martinez. And I am Jonella Bor. I would like to ask you to join us again tomorrow for another K-check.