I'm Jennifer Shanker, editor-in-chief of the Innovator Global Publication about digital transformation and sustainability. A warm welcome to all of you joining the panel on fast-tracking progress through data and AI. I encourage participants to post their questions to the chat. If time allows, I will pose your questions to the panelists. Our focus today is on how to best apply data and AI to the UN global goals. The potential benefits are well-known, but there are a number of challenges to scaling the technologies. For starters, we know the implementation requires a significant amount of data, which often sits in different hands. And complicating matters even further, the data may be stored according to different protocols. Data analysis requires significant computational infrastructure, which can be cost-prohibitive, as well as communication networks to access the infrastructure. The AI models used can be proprietary or expensive as can the tools needed to build new ones. The countries that need to use AI for the SDGs or the organizations working on them may not have the skilled engineers to combine models, data, and infrastructure in an optimal way to produce an output. And even if they can, once an output or an insight is generated, it's only as good as the management or domain-specific plans the organization or government have to address a specific problem. So to summarize, there are five barriers to scale that need to be addressed when we apply data and AI, and these barriers are particularly acute in emerging economies. Data compatibility, meaning the ability to make enough siloed data accessible for model training, access to computing resources for the purpose of training AI models, access to top-tier AI models or to the tools and libraries needed to build new ones, technical expertise and skills to integrate data, computing resources, and tools and models to produce insight. And finally, the domain expertise and management capabilities to turn AI-generated insight into climate action. The goal of this panel is to look at some concrete examples of how data and AI are successfully creating impact and share some of the lessons learned so that more organizations and more countries can overcome some of those barriers. I'm very pleased to introduce our panelist, Charlotte Petri Gornitska, Deputy Executive Director at UNICEF. Welcome, Charlotte. Paula Ingebiray, Honorable Minister of Information Communications and Technology at Rwanda's Ministry of Information Communications Technology and Innovation. Ocean Data Technology Champion, Kimberly Lynn Matheson, General Manager for Microsoft Norway, who will assume her new role as CEO of the Forum Center for the Fourth Industrial Revolution for the Ocean in the coming months. I'll begin by asking all of the panelists from their own experience and knowledge to share one or two examples of data and AI being leveraged effectively for the UN Global Goals. And then to identify which of the examples you mentioned, you think will have the highest potential to scale globally. So let me start with you, Charlotte. Tell us what you think. Thank you. I will try to be as concrete as possible. Thank you, Jennifer. But first, I agree with the five elements you mentioned as a framework, but UNICEF and I would be inclined to add a six on responsibility. Three years ago, in partnership with NYU's GOV Lab, UNICEF launched the Responsibility Data for Children Initiative. And that partnership has a focus on field practitioners and it's all about guidance, tools and leadership to support the responsible handling of data for and about children. And I'll put in the chat box later where you can find out more about this. It's also important secondly to talk about the access to digital solutions, including those that leverage AI. And we know they are severely restricted for much of the world, especially for those who stand to benefit the most from these solutions. Of course, this is a driver for UNICEF. And we talk about the digital divide when we talk about AI, it's even more so. So we think that's very important. A colleague of mine in UNICEF says, UNICEF cannot rest until we know that the last adolescent girl with a disability in northeast Nigeria has access to the services she needs. And what I appreciate most about this statement is it doesn't only underline what the Sustainable Development Goals talks about a lot, meaning leaving no one behind. But it also accentuates the need for appropriate disaggregated data. And we need AI and machine learning to support this. And in terms of an example, Jennifer, you asked for examples. Last month, UNICEF launched the Children's Climate Risk Index. And this index uses data to generate new global evidence on how many children are currently, and we talk about that, but this is data. But how they are currently exposed to climate and environmental hazards, shocks and stress. And it shows that one billion children, nearly half of the world's children live in a country at extremely high risk of the impact of the climate crisis. We're talking about 33 countries and they just contribute 9% to the green gas emissions. So there's a very important data here. But let me, I think that the index is important as such. It is bringing together geographical data by analyzing exposure to climate and what I talked about hazards, shocks and stresses, but also in combination with child vulnerability. So this index helps to understand and measure the likelihood of climate and environmental shocks or stresses leading to erosion of the development, mainly for children and vulnerable household groups. And I'm not excited about the kind of figures that we see in this index, but I am excited. Because the index uses data science analytical techniques that are kind of new in synergy with existing statistical data and analysis. So bringing together established and new ways of working can actually realize the benefits of both. And lastly, what we do see, we talk about scale up, and of course we need to scale up solutions. But when we talk about data, we actually need to scale down or scale out because we need to know exactly what we need to do in northeast Nigeria for the adolescent girl. And for this purpose, we need to be much more knowledgeable about that situation and we need disaggregated data. So, thank you. Thank you, Charlotte. It's clear that this index can have an impact because it actually measures the impact on the children and hopefully that will be a catalyst for action. So I'll turn now to you, Minister, and ask you to give us a few examples of how you see AI and data impacting the global goals. Thank you, Jennifer. I'm happy to be joining this panel with both Charlotte and Kimberly. And I'll be very quick because I am being mindful of time. One of the examples, one of them being how Rwanda as a country has used data and AI pre COVID to respond to some of the, you know, challenges that we were seeking to find solutions to as a country. One example I'm sharing is of a local company called carries that was using drones to to in the fight against malaria and what they were doing, we were using drones to capture area images, and some of the marshlands across the country, and would use that to develop an AI model that could quickly detect the mosquito breeding hotspots. And this allowed us as a government to quickly up to the information and intervene with more targeted widespread spraying using these drones. So not only were we using area images to figure out these mosquito breeding hotspots were also using the same drones to then spray these marshlands and prevent the spread of malaria and I think this is a clear model to your point that can be scalable, especially to most parts of the developing world because we still have malaria that is prevalent in most parts of Africa. The second example I'd like to share is a partnership that we had with the GSMA where and this was during the COVID times we're looking at the changes to public transport capacity due to some of the preventive measures the social distancing requirements that we had put in place. And as you can imagine, the, you know, the transport companies or transport operators their revenue is reduced significantly because they, their current capacity was at least at 50% and on those good days will be around 75%. So that led in a mismatch in both the demand and supply of public transport. And so what we did was to look at some of the ticketing platforms that we had in place and I think this is really a great example where we realize that what has happened is that we've invested in tools that allow for bus ticketing and so you're able to use this data, you're able to use call data records as well for citizens and this led to us being able to figure out bus optimization, route optimization, which routes are mostly congested now that the supply for public transport has significantly reduced given the COVID 19 preventive measures that have been put in place. And more excitingly what we're able to churn out is with this new with embarked on a new agenda of, you know, advocating for immobility and putting in place incentives to have the different immobility providers whether it's for motorcycles or cars. And so this same data has enabled us to sort of like map out the different charging stations where they should be placed and in turn attract the private sector to to place some of those. And so these are two concrete examples on how, as a country as a government and together with the private sector we've been able to leverage the power of data and use that to inform decisions but also to build models that can then, you know, sort of feed back into some of the interventions that we are undertaking, opposed there. Thank you so much minister and what I love about your examples is, you know, first it underscores the importance and potential effectiveness of public private partnerships, but also that you're using AI and data not only to identify problems but to actually take action. So, you know, great examples, thank you so much. And now let me turn to you Kimberly. Yeah, tell us a little bit about how data and AI can help us save the oceans. Great. Thank you so much for having me here I love the examples given so far. Three great ones and in fact I love that you start and ask us to get pretty specific on examples so I'll get right to that but let me just make the comment to say what what we are in fact, because to the five and six challenges you just mentioned we agree that getting data for our oceans are getting data for just about anything gathered together and the aggregate that we really really need is extraordinarily difficult right now. And this is the motivation, particularly around oceans that World Economic Forum with the Center for the Fourth Industrial Revolution the awkward group and Microsoft came together in order to form the world's. Ultimately the ambition would be to have the most important data collaboration platform highways uniting all of the data we need in order to provide the insights to the world where they need it so that each and every nation, each and every organization doesn't have to go out and try to build that themselves so that is exactly the nature of what we're trying to do in scaling and on a basis which has never been done before. Now to that end, we have imported, we've built a platform we've imported an awful lot of important data already and I'll give you a couple examples of how that's already working in pretty exciting ways. In the first instance, we, we need to promote a whole lot more shipping on our oceans, and a whole lot more aqua culture to take two examples so food from the oceans in order to be able to paint a good word going forward but we have to do it without destroying the oceans. So, what we've done is look at shipping first if I take those two examples shipping first and say, we've combined data from an automated identification system it's it's fairly kind of partly open data today it's a system that tracks 200,000 ships worldwide moving around. We imported that data compiled it together and fed it into a recognized model for for what the emissions were likely to be, you know, ships across the world right now are largely not equipped with the sensors where we can easily pick up how much emissions are going out. Well, we can wait a long time for that to get fixed, or we can use AI and data that we already have available in order to model with a pretty good level of precision 200,000 ships that are out there already today and we've done exactly that. We've put that data out there, and as we now start to bring that data to life we get a whole lot of interested people and helping us to make that data even better, so that that data actually you know interested parties parties that are running those ships, and those transitions for example really wanting to make sure that that data is accurate that we do have transparency around it right this is to help compliance but this is to also help ultimately catalyze a transition to cleaner fuels and be able to highlight where companies are taking responsibility and where that's going well and give credit where credits do and usher in change faster. So it's a fantastic example. It's a great example and if I'm, if I'm correct. I think that the data shows that the emissions are actually going up. And, and so if action isn't taken, things are going to get a lot worse. So, tracking this is super important. It is you're right it's super important do you want me to share one more example or do you want to do you need to move us along for time. Thank you for your other example. Aquaculture is maybe, you know, another interesting area to focus on where we see, for example, issues of lice on fish and issues of algae blooms. We've seen terrible losses in the industry because of these issues in the aquaculture industry so where we're raising salmon for instance in the oceans. We're going to get proper learning out of what could prevent those conditions from happening what could prevent that devastation of those crops of fish right which is bad for the environment bad for the economy it's bad for everybody. We're finding out through collaboration that the industry themselves is is very very interested in forward leaning that they're sharing data now in a way partnering in the early stages now but partnering with our ocean platform to get data. We're going to get to the platform and get these different fields which are raising the fish collected together because each one has trouble demonstrating all of the causes and then acting on them but when we aggregate that data across very many different places across very many ocean ecosystems and many ecosystems across the planet suddenly, we can learn a lot more, and we can do things that are good for everybody to remedy those conditions and spot them and get proactive about knowing much more to to head them off if you will, or to minimize the damage and then maximize the outputs from from our endeavors. So another great example the world needs. Yes, I love the example of aggregating data because we will need cooperation between various entities to to really fully leverage the power of AI and data for sure. So, you know I'm conscious of the time, let's move into the second question about how can governments and organizations overcome the challenges related to data access and resources and infrastructure for training the big data, big machine learning models that we encounter across different climate use cases. And I'll start with you Charlotte. Thank you so much, I think what we can agree, all of us is that AI and data talent and breakthroughs today have very little to do with the most vulnerable and the STG so we need to turn that around and partnering around. First of all, one of the things that we've seen work in in partnerships before is when agencies organizations like UNICEF and others who actually know a lot about the problem. Share the problem with those who can really work with the solutions and that has to happen. The private sector thrives from problem solving. So we need, we need to get the people who are now perhaps in Silicon Valley by themselves and the UNICEF first. I'm sorry if I use UNICEF as an example but just to be very concrete, we are there in our own ecosystems, we need to get them together. The problem in the driver's seat we really need to make sure that that we invest critical mass also closer to the use cases, so that we can get this aggregated reality as well as data, and then we need to share. There's a lot of data we don't share so we need open source and transparency. So that's a few examples from my side. Thank you. Thank you so much Charlotte. Let me turn to you now Minister because I know Rwanda is tackling some important issues through legislation. Can you tell us a little bit about that. Thanks Jennifer and maybe I'll start off on something that Charlotte pointed out which is really sharing data. And that's one of the challenges when it comes to for many of you know the organizations that are leveraging big data. To even build their AI models where they lack access to data. So there's one aspect of we don't have enough data or we don't even have the data that we're looking for. But there's also the other aspect of the quality of data because if the quality of data is lacking, obviously you can imagine what the output of the insights will look like. So I think that's the very first challenge that is related to data access. And then the other one is having in place the right governance instruments to make sure that the data that is used is used in a responsible trusted and secure manner.  And today we're working with our Center for Fourth Industrial Revolution which is an affiliate center of the World Economic Forum to address some of the governance gaps in this area to unlock the potential of data. And we are also looking under this Center for AI Policy and Innovation, what we want to create is a national AI research cloud that can host high value open data, open government data sets for research purposes. And this is substantiated with other government interventions related to availing data sets that could be used to develop AI use in public governance as well as supporting the research community. And because of that we also put in place about two years ago we put in place an open data policy where we were encouraging most government institutions to really open up some of their data sets, whether it's for innovators but even as we think about building this AI industry knowing that it's banking heavily on the availability of quality, reliable and available data. And it was important that as a government we even take a lead we walk the talk and really also opening up some of the data sets because we happen to also create relevant solutions. And as I finally, my last point on this is we're putting in place an AI legislation, which really comes into address challenges around access to data around how do we get the right skills that are needed the expertise that is needed to be able to analyze and synthesize and be able to provide tangible insights but also really figuring out how do we attract some of the companies that are already building AI capabilities and solutions to come and consider Rwanda as a proof of concept place where they can test and try some of their AI models and solutions and if proven successful we can then think about scaling them to other parts of the world that are grappling with the same challenges we're trying to address with these solutions. And I think these pieces put together what will really allow us to have a thriving AI industry. Thank you so much for outlining that for us and I think it's clear that you know you have our laying the groundwork for Rwanda to become a test bed for all kinds of different AI and data applications. We're quickly running out of time but Kimberly I want to give you a chance to weigh in. Can you just quickly tell us like, you know, the one or two things that you feel are needed to overcome the barriers. Yeah, in the first instance. When we listen to the minister from Rwanda that's done such an impressive job of really being an advocate for sharing data and very many great things. It also just reminds me that we don't want every nation out there building this themselves. So one thing that I think is extremely powerful. For example, the Norwegian government has spearheaded a high level panel for ocean sustainability. They're in a silver government 14 nations are a part of that already. And that important working group has decided to give the mandate to this sent to the center that I will become the CEO of the Center for the Fourth Industrial Revolution Ocean in order precisely not to have every country building an asset a collaboration and apparatus which uses AI makes these insights readily available. Again and again and again out there. So that's a fantastic scaling mechanism for all of us to get to enormous important value earlier. And I in my last comment I want to make is, we're going to work really hard in our center as well to open up the industry data, much more broadly, and much quicker than it's been opened up so far and that's the uniqueness of what we want to bring to this as well to literally create the determination and the compelling cases for industry to mix their data together with government data with research data and be able to have that interplay happen in a way sooner than ever I could talk more in the breakout time afterwards on the barriers to doing that we're learning a lot so far. But but that's that's an incredibly important activity and you know we're on the case it's going to be a central theme for us. Okay, fantastic we are. We are almost out of time I want to thank our three panelists for giving us some really terrific concrete examples and and of things that you've seen in the market but also about how to overcome the barriers and these these will serve as a great jump off point for further discussion.


The governor was in attendance as a new medical research facility officially opened Wednesday in Nutley. Governor Murphy cutting the ribbon on the Hackensack Meridian Health Center for Discovery and Innovation. The lab is in the former campus of pharmaceutical giant Hoffman LaRouche on Kingsland Street. Murphy expressed high hopes for what scientists at the new health center will be able to accomplish. These are the people who have a limitless potential for discovery, and this is the place where diseases that are now considered untreatable will meet their match. The center is dedicated to understanding cancer cells and opportunistic infections. It also has an Institute for Regenerative Medicine to come up with novel solutions to heal damaged tissues and organs and offer hope to people with untreatable conditions.


The floor may not be in your old box. So, SML Movie, The Black Couch. This is something that I have wanted to talk about for quite a while. I just want to share with you guys this issue, because I thought about it a month ago, and I want to share this issue, so you guys won't have to stumble upon this Super Mario Logan movie either. So, it was about a month ago as I said. I was at a house with my friend named Gordon. While I joined the SML fan base in 2018, Gordon has been a fan since 2012, which was just three years before the end of the Golden Age. Gordon told me that he had a friend, and that his friend was an archivist at heart. Gordon was an old fan who also really liked Jeffy, so he managed to stay throughout the dark times of Super Mario Logan. Gordon's friend, named George, supposedly downloaded a copy of a Lost SML video, and let us have it. Gordon originally had a YouTube channel, where he gave people SML videos to watch before they were made fully public. He pirated the video files, so people could watch the videos earlier. We received a copy of a Lost SML video from George, after Gordon's YouTube channel got terminated for pirating said videos. This video was supposed to be a copy of the original full-length Super Mario Logan movie. For those of you who don't know about the Super Mario Logan movie drama, Logan had been promising to release an official Super Mario Logan movie for over a year, in which he had constantly deleted it up, until the point where it was permanently cancelled. When August of 2018 rolled around, there was no point in waiting. We had just received the copy of the movie, and were eager to watch it. We would be the first to witness the official Super Mario Logan movie. Gordon and I had a sleepover at his house, and decided to watch the video file for the first time. However when we saw it, it wasn't the official full-length SML movie. It was an SML video titled, The Black Couch. Gordon and I were both really confused. We expected to watch a copy of the official full-length Super Mario Logan movie early, but instead, we got a regular SML video, that was approximately 22 minutes and 17 seconds long, titled, The Black Couch. The file had its own custom thumbnail, which I can only guess was the thumbnail of what was originally the video on YouTube. But it wasn't like a thumbnail you'd expect to see. The usually bold text was rather thin and dreary looking, the background was a dark field, and the only other thing on the thumbnail was Mario. But this was no ordinary Mario. All of the color on the thumbnail was removed, even Mario. Mario had no eyes, which were replaced with bleeding holes in his skull. You could see his ribs through his shirt, and his arms were held down in a way that made him look depressed. Gordon didn't want to watch, but I convinced him that we had to because for all we know, it could just be a troll, or it could be the actual movie for all we know, so we clicked on the video file, and began watching. The video started off with Mario and Jeffy on the iconic red couch, like most modern SML videos. Like most videos, it began with the two yelling at each other. Jeffy makes a somewhat valid point, and Mario shoots it down anyway. Then Jeffy gets mad, pulls a catapult from the garage, and proceeds to shoot the couch into the air with the catapult. The couch then landed in the ocean nearby. Of course, Mario then starts to get mad at Jeffy even more. Jeffy then starts swearing. At this point, we were both wondering what anything in this episode had to do with the title and thumbnail, but then again, we were both 1 minute and 20 seconds in, so now that I think about it, we shouldn't expect much so far. In the next scene, we see Mario at the furniture store looking for a new couch, since the old one is practically done. A guy working at the store says there's a perfect couch for the family that's Mario's size. We then take him into the back where we see a black sectional sofa that can fit everyone and pretty much everyone else. We then get a scene with every SML character you can imagine sitting on the couch. Mario, Rosalina, Jeffy, Shrek, Woody, Toad, Joseph, Cody, Bowser Jr., Chef Pee Pee, all of them are sitting on the couch. Mario and Rosalina congratulate Jeffy, considering that without him, they wouldn't have gotten such an awesome new couch. You can tell that when Bowser Jr. gets the urge to get up and make tacos at 4am, this is when things are going to get weird. This is weird but I guessed that this was meant to be funny, so I took it as a joke. Bowser Jr. goes into Mario's room and asks him if he can eat tacos at 4am. Mario tells Bowser Jr. that they don't even have tacos, and that Bowser Jr. shouldn't even be in the scene because they're both played by Logan, which I took as a joke on how Logan's the camera man, and he voices both Mario and Bowser Jr. I believe another person is holding the camera, possibly Lance, Booby, or God knows who, while Logan voices the two characters at one scene. So, Bowser Jr. decides to go into the kitchen and make tacos anyway. While he's making them, he gets dizzy and fades out of nowhere. We get 30 seconds of a blurry camera zooming in on Jr., while a high-pitched tone plays. Then silence for a solid 10 seconds. Jr. wakes up, turns his head, and we see something me and Gordon could never unsee.   I had no words or thoughts. I felt like I had gone lightheaded from fear watching this video. The camera only focused on the woman for a few seconds, before Jr. gets scared and runs to his room. That was when he saw the woman, awoke from the dead, standing in front of his door, and slowly walked towards him. Jr. runs to the couch, and sees the shadow of the zombified woman slowly approaching from the hallway. He then tries to bury himself in between the couch cushions in an attempt to make it, until the morning. But then, he gets pulled in by something. Then we hear a crunch as he's flailing around in the couch cushions, as his muffled screams soon fade. That is the last time we see Jr. in this episode, alive. We then get the next scene which takes place the morning after Jr.'s death. It's a scene of a picture hanging on a telephone pole. It was a picture of Bowser Jr., with text in all capitals saying, missing. This wasn't settling, considering that we, the audience, both knew and didn't know what happened to him. Mario, Black Yoshi, and even Sheila, Bowser's wife who conveniently made a comeback in this video, go to look for Jr. Alas, they did not find him. Later that night, we see Jeffy sleeping, when he hears a strange noise coming from the hallway. Jeffy, stupidly enough, goes to see what the noises are. He goes into the living room, and sees the noises are coming from the black couch. He sticks his head in the couch cushions and asks, No, hey, Mr. Wearn noises. What? For 10 seconds, we hear a weird humming noise coming from the couch.  We then see Jeffy wake up in a field similar to the one in the thumbnail. A creepy field with scarce trees, and no color. The next sound for the next 20 seconds is the sound of wind rustling through the trees. Even Jeffy is discolored and appears to be expressionless. Then the scene changes as this mystery world dissolves around him, and Jeffy is now inside a dark void. He hears a slight noise with sheepdom, a creepy child's laughter, and turns around. What he sees next is even scarier than before. It was a dead creature. Its body and bones were so mangled, that neither me nor Gordon could tell what kind of creature it even was. Suddenly, it lifts its head up and slowly stares into the camera.  This is when Jeffy loses it. He begins to scream in panic. Not the normal scream we've heard so many times before. This is a scream of truthier, panic, confusion and loneliness. You can hear the panic in Jeffy's voice as he tries to escape. This figure rises up to about seven feet tall. Most of the mangled meat and muscle falls off its body, as it raises its hands into the air, and gives some kind of ancient chant. Suddenly, weapons start to fly around the void, as to access Sly's Jeffy's body, creating a massive X of blood across his stomach. Then a butcher knife flies around the slowly dying Jeffy, goes above him, and it slams into his head, cutting his skull in half. We see Jeffy's corpse slowly bleed out for over a minute, as the camera slowly zooms out, so slowly that you can barely even notice the camera zooming out. It is now the next bay. There is a missing poster for Jeffy hanging over Bowser Jr's. Mario then gets a knock at the door. When he opens it, he sees Mr. Goodman standing there. Goodman says that he might know how to save Jeffy and Junior, because he secretly installed security cameras in Mario's house, because he wants to make sure Mario's working on getting money for his house payment. They check the security tapes and surely enough, they see Junior getting pulled into the couch. They fast forward to the next night, and see the same thing happen to Jeffy. Goodman says that he then has to leave, because he's being called by the police for all of the money he stole from people. But when we see Goodman leave, the camera quickly zooms in on Mario's face. Then we see Mario tying a rope around his body, as Rosalina lowers him in to save Jeffy and Junior. Be careful Mario. She says. We are all counting on you. Suddenly, the police burst into Mario's house and run upstairs, telling Mario that he can't go into the couch, and that they've been trying to destroy the couch for three years, but they haven't been able to find it. Mario then pulls out a gun, and aims it at the police officers, telling them that he needs to save Jeffy and Junior. Rosalina pulls out a gun, and aims it at Mario, saying that he can't resort to violence, which is pretty ironic considering that she's pointing a gun at him. Suddenly, Bowser pulls out a gun and aims it at Sheila, saying that he will kill her if they don't get Junior out of there.  Eventually, every character in the scene has a pistol pointed at one another. There's a few seconds of silence, until Mario says, I would rather die than have those kids be streamed their shriver. One of the officers, Brooklyn Guy, takes this quite literally as he shoots Mario, as every character fires their pistol killing one another. We then see his screen pop up, with text in the iconic bold font saying, three hours later. It's late at night. All of the lights in the house are out. Mario wakes up and crawls away. Every character from the scene from the shooting, Rosalina, Brooklyn Guy, Simmons, who is the second cop, the third nameless cop, Bowser, Sheila, and everyone else are all dead. Mario hears a creepy wailing noise, as he stumbles to his feet and runs to a dark room in his house. Mario then falls back down to the ground. Mario came to the conclusion, that the couch might be a portal for demons to enter the real world. This makes sense, because people were trying to destroy it. Suddenly, a door in the room he was in, swung wide open. It was the forbidden door from the SML video, the secret door. Mario is scared, because of the traumatizing events that happened in there, but decides to wait out the spirits in there until the morning. He crawled into the room, as the door swung shut behind him. Back in the secret room, except for the faint outline of Mario's half-dead body, crawling through the room. Suddenly, there is a sound of thunder, as a shadowy figure fades in, and stares at Mario for a split second. It then fades away, only to reappear a couple of seconds later, but fades away again. It's the same creepy colorless Mario-like figure with no eyes in the thumbnail, except that this was happening behind the real Mario, so he couldn't see it. It goes through the process of appearing and disappearing a couple more times. We then get one more shot of Mario's point of view. He looks up and sees a shocking sight. A dark shot of Jeffy and Junior's mangled bodies hanging by nooses. Of course, they didn't kill themselves.  Then we see a flash of lightning, as the creature from the thumbnail appears out of nowhere in front of Mario's face, and screams a high-pitched duck-wrenching scream. That's where the episode ended. Then, the SML question popped up. But it didn't say anything special. It wasn't even a question. It was just a black screen with no music, with text and the usual font saying, SML question, you're next. There was no caption at the bottom, saying that the funniest comment wins a free video game, or anything.  I went into the hallway, and blood splatters on the wall, and shroud covered puppet bodies around the hallway. Then, the puppets began to speak on their own, telling me to save myself. I didn't know if I was hallucinating, or I just had schizophrenia, and I just didn't know it yet, but I knew I was hallucinating, as I felt the warmth of the blood on the wall when I touched it. I picked up one of the puppet bodies, as it started flailing around in my hand. I saw a rifle on the floor, so I picked it up and I went into the kitchen, expecting a homicidal intruder, but instead, I saw something shocking. It was the dead creature from the black void in the video. It raised its head, and asked me in a slow and deep voice. That was the last thing I saw before I blacked out. Ever since then, I never went back to Gordon's house.


So, okay, so thanks for joining us. We know it's the end of the second day and everybody's probably excited but exhausted, so we're really grateful that you're all here. We're gonna talk about continuous delivery of Cloud Foundry. So now, keeping your cutting edge platform cutting edge, we think Cloud Foundry is the cutting edge platform, of course, so how do you keep it that way once you install it? So, I'm Cora Iberkleid. I work for Pivotal out of New York. I'm a platform architect. I'm a platform architect as well. I work at Pivotal out of New York as well. So, okay, so the objective that we wanna talk about is improving the ease, the quality, and the consistency of your platform. Platform meaning not just one Cloud Foundry foundation, but all of your foundations that compose the platform for your enterprise. So this is what's known as a platform lifecycle management experience and we're gonna talk about the angle of continuous delivery. So we're used to talking about continuous delivery from an application delivery perspective for software development, but we wanna take a look at our platform with Cloud Foundry as from an operations perspective is this is the software that we're delivering to the enterprise. So we wanna apply the same continuous delivery principles to the installation and maintenance of the foundations themselves. This is one piece of the puzzle of making the whole platform lifecycle management experience easy and consistent, but it's an important piece of it. So if we can do it well, if we can do it right, what are the outcomes that we could expect to get out of it? One of the main ones is a consistent configuration and there's like a bubble at the bottom. A consistent configuration and version parity across all of our foundations. So there are enterprises that are running tens of foundations, right? There are some that report over 30 or over 40 foundations. So how do you make sure that they're all running the same version as each other and that you have a consistent configuration across? So that's one important outcome. Also quick adoption of features and security updates. If you go through all the trouble as you might have experienced today installing Cloud Foundry manually or even trying to introduce your own automation. Once you do that and you have an environment that's working well and that's reliable, new features come out and you might start to fall three months behind, six months behind and you're no longer offering your developers the latest features of the platform that are available. Or as security patches come out, the more time that it takes you to install the security patches, the wider the gap where you might have a security breach, right? We saw recently in the US Equifax, there was a struts patch that they didn't install quickly enough and they were... Hacked. Hacked exactly. So by freeing up our platform engineers from these more mundane tasks that really can be automated, we're empowering them and enabling them to work on more creative activities. And finally it's also a question of having confidence, right? Confidence both in the automation pipelines as a process to be autonomous, to pull for changes in product and continuously and automatically update them. And also confidence in the platform, in the quality of the platform that we're providing for our developers without having to manually intervene necessarily, right? Yeah, so that was the outcome. That's the outcome we think can be achieved through pipelines, through continuous delivery of your platform. What I'm gonna introduce now is just some of the, in basic concepts around pipelines as to why pipelines and then we'll go into talking about what are the open source CF pipelines which are available, what are the PCF pipelines available, and then like a quick summary of that. So that's sort of the overall talk we're gonna do today. So let's take an example of an organization that might automate their CF environment where they would be like really focused on saying, all right, we're not gonna deploy CF or Bosch manually anymore, we're going to write some automation for it, we're gonna make sure that we have automation in place for doing those tasks, right? And this is an example of an actual customer. This is often one of our customers who have gone through this process of trying to write automation for their Cloud Foundry environments. So what they did was like they used Git for storing all their manifest files, credentials, configuration files, so an example could be BitBucketRepositories or something else, and then they wrote some automation scripts, in this case, an example of Ansible playbooks, but you could use something else, as an approach to write, to install, deploy, and update your Bosch as well as Cloud Foundry, right? And it was going pretty well for them in the sense that they were able to sort of, so they had this sort of workflow. I don't wanna spend too much time on it, but really they had a development box and then they had their production or development environment. They would make some changes to their box, they would push it out to BitBucket and then that would update their Bosch manifest and ultimately deploy Bosch Rector, CF, or whatever the broker release. That all worked in the sort of the happy part scenario. Also here in the smiley face is the manual thing and then the current is like the automated way of doing it. All right, but what happened when something went wrong? What happened when something went wrong in one of the Bosch deployed deployments or maybe at Bosch level itself? They would go into the jump box, edit those Ansible scripts or playbooks what they had and updated their and triggered another set of generated Bosch manifest. So it would update the Bosch manifest and then do a Bosch deploy, which is great. It fixed the problem, but now I gotta make sure the engineer who fixed the problem goes back, updates their BitBucket repositories, make sure that they're updated and good. Also make sure that this is not just for this environment but all the other different environments, they have it consistently configured across all these different environments, right? Now let's use a concourse pipeline-based workflow. I definitely bias towards concourse. I think you should use all things concourse for any kind of pipeline to write, not just for Cloud Foundry, but anything, be from app development to operational delivery pipelines, you should use concourse. But what is concourse? Concourse is a pipeline CI, more than CD system, but it provides like a declarative configuration for your pipelines, which means I can take that declarative pipeline and move it anywhere if running on any concourse in the world. The more important feature though is the repeatable builds. The repeatable builds allow you to say, all right, I'm gonna run my pipeline once, I'm gonna run my pipeline second time and third time, and I know those are all fresh, in fresh deploy, fresh builds, and I know there's no residue from the previous build, and I know that if it doesn't work, there's a particular change in that build which is not making it work. So just using concourse as a way to doing it, your happy path is still great, I still edit my manifests on development box, I trigger, I commit those changes on the bid pocket, and that triggers the whole workflow where it runs the concourse pipelines and then updates the manifests and finally does a Bosch deploy. But what's more interesting is when things go wrong. When things go wrong, I'm not editing that particular Ansible scripts on that particular jump box, but I'm really editing my manifest still on my dev box, I execute a task, if it runs fine, I just commit it, right? So I have now ensured that I'm not having inconsistent configurations by just maintaining one place where I'm running things off and triggering things off. So I just wanted to give you a quick view of it. I don't expect everyone to just follow the workflow right now and get it, but just the general idea of using pipelines and concourse pipelines for automation or for your platform is the key message, I think, I want to send. So from now, I think now we're going to focus on, first, the open-source CF pipelines. OK, so for open-source pipelines, here's an example. So for an open-source pipeline, you have to build the pipeline itself. So this example is very simple, three jobs. The first one is going to install Bosch for you. The second one is going to upload the stem cells, and the third one would install or update Cloud Foundry. We've put the GitHub references for anything that you can look up throughout the presentation that they're all referenced. But let's go through this and focus a little bit more on some of the subcomponents. So before that whole pipeline runs, actually, what about the infrastructure, right? We have to configure the infrastructure before we actually deploy Bosch Director. So there's a cool tool called Bosch Bootloader, Bubble for short. And again, open-source available. So the command bubble up will actually provision the infrastructure for you and deploy Bosch Director. So literally, as simply as you see on the screen, by calling bubble up with a certain set of credentials, that's what you need for AWS. This also works for Google Cloud. And it will work soon for Azure as well. And optionally, you can create load balancers as well. Just by running this command, you can do a Bosch login when it's done. So the infrastructure on your IaaS, as well as Bosch Director. Things that, before involved following a whole bunch of documentation and a whole bunch of steps, bubble up that command will output a file, a JSON file, or bubblestate.json file that has a description of the infrastructure that it just provisioned, which you can store probably in a private repo, would be a good place for it. And that bubblestate JSON has all of the information, including your Bosch Director address and the credentials to get to it. So as you can see in the second box, to do that Bosch login forever for the values of all of those parameters, we're using the bubble command, assuming that that bubblestate JSON file is in the same directory that we're working in, otherwise you point to it, but you can simply query for Director address or username and password. And literally, just by following those steps, you've logged into your Bosch in your newly set up environment. So really a simple. So in terms of the pipeline, we create a job, a concourse job, that's going to ultimately call this bubble up command. It's gonna do it by executing a task. So that, even though you have to write the job, the task is provided for you. It's available and also in a community repository called CF deployment concourse tasks. And a task is simply the execution of a script in an isolated environment with all the resources provided to it. So in this case, we wanna run that bubble up command that'll be provided to us in a script. The isolated environment is gonna be a Docker file that's provided through Docker hub that has, for example, the bubble binary. And so that task.yaml file, which is what concourse is gonna interpret, the actual shell script that eventually calls the bubble up binary command and that Docker file are all provided for you and referenced through this task definition in CF deployment concourse tasks repository. So the repository, this is what it looks like. So on the left hand side, you can see the second task listed is the bubble up task. So on the right hand side, we're digging into that directory. So it has the YAML file for concourse to read and the shell script to be executed. That shell script is what calls that bubble up binary command. And the YAML file is pointing to that Docker file that's provided through Docker hub. So that's the whole definition. So your job just has to call this task. Now we might wanna have a little bit of configuration, right? Because bubble, as you can see, it's quite opinionated. It didn't ask us anything. It just set up our infrastructure and deployed Bosch director. So there's an opportunity to tell the bubble up task to reference some ops files, which are basically YAML manifests that get merged into your Bosch manifests. So you supply that as an input resource pointing it to a directory. There are some sample ops files inside of the same CF deployment concourse tasks repo inside of an operations directory. Things like, for example, scale to one AZ because the CF deployment that we'll talk about in a minute by default follows a three AZ configuration. So if you wanna scale it down, you simply point to this ops file and it'll deploy a single AZ foundation for you. So this is what your Bosch definition would, the job definition would look like. This is the example of the piece that you might have to add. So you can see the declaration of the job. The first job in our three job pipeline is update Bosch. And you can see that it references the ops files at the near the bottom of the screen is the ops files variable which lists exactly which ops files we are choosing to run from that directory of available operations files. You can also point that to your own operations directory and write your own variations of operations files. And you can see the environment variables that previously I showed you would run from the command line that are passed to the bubble up command itself. And at the end, that bubble state JSON file is stored. Also, you know, we could put that in a private repository but it really is that simple that'll get you Bosch director. So in summary, our example update Bosch job declares that CF deployment concourse tasks repository as a resource. It executes the bubble up task that bubble up task script is gonna call the actual bubble up command. Bubble up uses Terraform under the covers to set up the infrastructure either on AWS or Google for the moment as or soon. And it also calls Bosch create M to deploy Bosch director all by just executing that job with one mouse click. So that's easy, it's predictable and it's repeatable. So what if you want a little more control over your IaaS? Once you call bubble up, you've got your Bosch cloud config created so you could export that cloud config, you could edit that YAML file and then you could update that cloud config back up to your Bosch director, that's one way to do it. If you want more control, you can not use bubble, just create the infrastructure yourself, create your own Terraform and then call Bosch create M, which is again, what bubble does under the covers, right? So we move forward to our job, our pipeline had three jobs, the second one was upload stem cells, so assuming that runs fine, let's focus on the update CF job installer update CF. So how do you decide exactly which components or which elastic runtime sub component versions were running or sorry, cloud foundry, application runtime components were running. So previously you might have used CF release to define that, so this is a more flexible replacement for that, it has a canonical manifest to declare the different versions, again CF deployment is an open source GitHub repo that provides this for you and it's just more readable and it emphasizes security and production readiness by default. So that production readiness, for example, I mentioned that by default, you'll get a 3AZ deployment and you can use the ops file scale to single az.yaml to scale that down, but by default you do get that production ready 3AZ deployment, so that's all defined in CF deployment. So we create a job that's gonna call use CF deployment for our Bosch manifest to deploy the runtime. Again, you can still use ops files as a way to configure things at this point in the same way that you would have done it for the bubble up job, you can declare them at this point as well and common configurations are included in that CF deployment repo. And finally, for credential management, this is also leveraging Bosch 2.0 constructs that allow you, previously all the credentials were sort of interpolated in the manifest file and Bosch 2.0 decoupled that, the credential store from the manifest file, so this is leveraging that, so when the deployment runs, it'll store all of the credentials in a var store file separately. It generates strong passwords, certain keys, and it stores them separately, so you could put that in a private repo or a cred hub or something like that. Awesome, so thank you, Kora. So that was about the open source pipelines. I'm gonna quickly describe sort of what the PCF pipelines look like. There are two sort of benefits to this, knowing this one, if you're a PCF customer it's great, you know what pipelines to use, but the other are, these pipelines have been used by several customer scenarios at this point and they have a level of maturity that you can adopt those patterns even in the open source world, so I think it's really extremely valuable to understand them. You could, one, either you could download them on network.pivot.io, you can sign up and access those pipelines there, or you could access the PCF pipelines repo which has all these different pipelines available. So what are PCF pipelines? PCF pipelines are for installing and upgrading of POSH as well as Pebble Cloud Foundry as well as the other data services like RabbitMQ, Redis, MySQL, whatever that be. It adheres to a certain reference architecture that's been defined by Pebble, by saying things like, as Kora mentioned, like multi-AZ environments, but also having a particular number of instances for, say, the cloud controller or the router having sort of a more HEA configuration for that. The pipelines are available for AWS, GCP, Jure, and vSphere. They also have the option of offline options which is really more for the government organizations where they really want everything locked down and nothing to be coming outside the organization. It has other important things, but really for me, the most interesting one is the jobs for wiping environments. As I'll go through the pipeline itself, so this is the install pipeline, you'll see something called the wipe environment job which is almost even before the create infrastructure, really, but what the wipe environment job is super useful for is that, all right, I create my infrastructure, I see something going wrong and I don't think that's the right way to configure. I can use the wipe environment just wipe out your environment and start from scratch or use deployed Bosch rector, you deployed your Cloud Foundry, now you're still not happy with it, do a Bosch delete deployment, it'll do a Bosch delete deployment and also remove the infrastructure again for you. I think it's a pretty cool pattern to have as part of the pipeline. It's also a little risky one, so not really expose that for anyone to click and wipe out your environment. The other jobs here are kind of similar to what we had in our open source pipeline. The one additional one here is the create infrastructure. The pipeline we showed in the open source one had like update Bosch, update SEM cells and then update CF. Here you have a job which is create infrastructure which really uses Terraform for say AWS or GCP, uses Terraform to bootstrap all your infrastructure required for setting up Bosch and Cloud Foundry. After that, it's really configure and deploy director jobs are just setting up your Bosch and then upload and deploy your T are just about uploading and setting up your Cloud Foundry runtime. You can have sort of similar patterns for installing say RabbitMQ, Redis, MySQL, so this is a repeatable pattern which you can use across other deployments as well. The upgrade pipelines are quite simple. They release something called the upgrade tile pipelines which are like a generic upgrade pipeline. Tile is just nothing but a Bosch deployment but converted into a little more fancy and easier to use sort of interface. But really at the end of the day, these are each of them are like Rabbit, ERT and MySQL are just Bosch deployments. And what the good thing here is that I have something called a regulator which is really a way for me to say, all right, every 30 minutes run for something new. If there's a new version, go pull it up for me. Go fetch it up and get the new version. It has two inputs. So it has like the tile and the schedule. So either every 30 minutes or if there is a new version of the tile. Again, it does the upload and stage style and then the apply changes is really the Bosch deploy. The additional bit about apply changes is that if I configure all my say three deployments, say Rabbit, ERT and MySQL, if I run apply changes once, I can deploy all of those three deployments at once. So that's pretty interesting because what you could do is set up your pipelines in a way where everything stops at the second job. Once it's all staged and ready to go, you click one apply changes and all your sort of several Bosch deployments will go update all the different components at once. And then lastly, it's the upgrade build pack pipelines. It looks extremely complex, but it's actually pretty simple. It's just all the system build packs. So right from Go to Java to Ruby to binary, all of them follow some of the same structure from a regulator to staging those build packs and then ultimately promoting those build packs in your CF environment. All right, so those were like the pipelines we talked about today, the open source ones and the PCF ones. Those are like the basic starting out pipelines. There have been some really advanced patterns as well built by some teams as well as the customers in pairing with the customers. The first one is really the YAML patch. It's kind of similar to ops files. Without YAML patches, imagine that, so there's a team which maintains PCF pipelines, they're building and releasing new versions of the pipelines, but you're using those pipelines and you have some customizations you wanna add to those pipelines. And that makes them your own sort of CloudFarmry pipelines, right? Now what this means is that when the team who's building these pipelines originally released new versions of these pipelines, how do I kind of make that merge, right? I run into the compatibility issues. Either I don't make my customizations, which doesn't make sense, or I don't have compatibility challenges. I don't know where the problem, if there's a problem, I don't know which where is it, either in my customizations or on the PCF pipelines. So with YAML patches, what really you can do is you can have these YAML patches or similar to ops files, you have these files or set of YAMLs which describe that customization you need. And then every time there's a new version of the pipeline, you apply those patches to that version of pipeline and you stay in sync with the latest, but also have your own customizations. I introduce this because I think this is useful for even in the open source world where you're trying to say, all right, I have these set of environments, I have the development environment, of the engineering environment, and maybe have the production environment. And then I have certain customizations for production, but which may not apply to my dev or to my sandbox environments. And then, okay, no, all right. So the second advanced topic really is around, everything we spoke about today was about single environment. What about, how do I build pipelines in a way which I can use for multiple CF environments? This could be for different reasons. You want your, you have one data center or you may have more than one data center, you may have different geographical locations. You may have different development and production environments. So you may have multiple CF environments. And what really this is describing is an approach or a pattern of using bill of materials, where I define the things that I'm providing as a platform and I'm defining what versions they're at. So when there's a new version of those, I release that in my development and my production environments. So really here, if you see the inputs to concourse here are either I make some configuration changes or I make some pipeline script changes or maybe there's a new tile or maybe there are new container images. Those all go to my Sandworks environment. I try everything there. Once I feel confident, and I may go through a few iterations there, let's just like app development, right? As you write code for it, you might have new changes to your product. You test those out in development, you make sure they're good, and then you release the, that bill of materials with those versions to your dev environments, where you feel great if it's all gone good, then I can go ahead and do that same thing for production, right? There's actually a more simpler version. They had a little more, there's a more complex version of this as well, but I think this is a, again, I say it as an advanced topic, it says that once you get more maturity with your pipelines, you can start exploring these patterns because you're definitely gonna need them for sure. All right, I think that's about it. This clicker has stopped working. All right, current to you. So takeaways, so main takeaways from this talk. Number one, installing an update Cloud Foundry has become really easy. Take advantage and enjoy it. It's pretty cool. And it's really in the long run, especially as your organization grows and matures, that the more foundations you're maintaining, it's really the only way to ensure that you are providing the most consistent, secure and up-to-date platform for your organization. And finally, continuous automation of Cloud Foundry. It's relatively new. I mean, you have enterprise customers using it for sure, but it's relatively new, and it's rapidly growing and improving, so stay engaged to the community. That's it, thank you. Thank you. Questions, please? Yeah. That'll be uploaded, but it's all the resources we presented. Yeah, so. Questions? Okay. Yes. We know the Gopatch syntax that is used when patching Bosch manifests. Does, is Yamel patch the same? It looks like it's different. What is the first tool you mentioned? Well, the syntax used by ops files it comes from a library that is called Gopatch. So we call that Gopatch, but is it the same that? It could be using the same construct. I'm not exactly sure whether it's using Gopatches specifically. Oh, okay. So it's not. But it's not. It's not the same. Different thing, because with Bosch interpolate, you can do the thing with Gopatch. It's fundamentally the same. Gopatch is just the same thing as Git patches. Okay. Or standard patches. There might be alternative solutions. Yeah. I can tell you more. Cool. Any other questions? Just more. Thank you for the presentation. Just one question about OpenStack. Just to know if there are some works currently on this provider. I believe there are pipelines for the PCF pipelines for OpenStack as well. I'm not so sure of this open source word. It was not on the slide, I guess. Sorry? It was not on the slide. Good point. It's in the works, I think. That's why I think it's not on the slide. Yeah, some of the artifacts are in the pipelines. So if you look on GitHub, you'll see some of the scripts for it, but I don't think it's at the same level of maturity as everything else, is it? Yeah, so get in there. Thank you for the presentation. It was very interesting. So my question is, how long do these pipelines typically run? Because it seems like every time you do something, it seems like you make a full-blown deployment of Cloud Foundry. So is there a way to speed up things? Because I think the feedback loop is important, and it should be smaller. Is there maybe a way to, before you promote the build, to just have a more lightweight deployment of Cloud Foundry at first before you start actually having a full-blown deployment of it? That's a really good point. There are some ways of making sure that your one way is when you make smaller changes. At the end of the day, it's doing a Bosch deploy of CF. If you're making smaller changes, it may just go through the rest of it and really take a very small time to make a change. The other way is what we haven't mentioned here is that sort of the smoke tests part of it. If you feel that the smoke tests are, if you have continuously running smoke tests, then you may not make changes a lot of times. You may make it only once a week instead. That may help sort of reduce the frequency of them, but yeah, that's one way of co-locating it. This is just sort of pipelining what exists, but as the deployment of Cloud Foundry actually gets faster because of the product improvements, then it's probably safe to feel it here too. So that is definitely a pain that we know when it comes to the build that we're trying to draft. I agree. I have another concern that we faced when building the Orange Pipelines for their cut Cloud Foundry OSS deployment, is that the versions of Bosch releases might be specified in the manifest when you're using the standard task for Bosch deploy. And that's a pain because as an operator trying to test drive a new set of versions into the sandbox environment, I just want to specify the new versions into a deployment manifest, not in my pipeline. I don't want to update the pipeline every time I have something new to test. So what is the state of the work you're presented? Are the versions of the Bosch releases and stem cells defined in the pipeline or in the Bosch deployment? I think the pipelines here specifically have the concourse deployments and they do specify like the Bosch versions. That's in the actual Bosch manifest, but I feel those can be abstracted out into concourse variables, which you update whenever your parameters file when you want to update those versions and that can trigger your concourse pipelines, which could trigger the deployments. Basically you could parametrize your Bosch versions, which you want to update, was that the... No, I want, as an operator, I want the Bosch deployment manifest to describe the exact state of what I'm deploying. So I don't want the concourse resources to fix the exact version that is actually deployed. So what, you don't want it? That way you want it in the... No, it's just that the concourse task was forcing us to tell that we were deploying, for example, the CosgressQL Bosch release in a version 45, specified as the concourse resource, and not as the versions from the Bosch deployment. Is it still true? Maybe it's not the case anymore. Yeah, we can definitely talk after just making sure if others have left, but still. There any other questions? No? Thank you all for coming for the last session. I hope you had a good CF summit.


My name is Jerzy, I'm from Poland, originally, but currently living in Latvia, I've just recently finished the Tafel online course, and I think it was a great experience, very enriching. I did study English some 20 years ago, so this time I could refresh my knowledge of the grammar and different aspects of the language. This was not that challenging, but the teaching component and the lesson planning that was quite new for me. Honestly speaking, at the beginning I was a little bothered by the lesson planning, the idea of structuring a teaching so much, but in the process I realized that it's very necessary and the teaching can be organized and very effective this way. I'm very grateful to my tutor as well, Peter. Hello, Peter. For his very practical hands-on guidance and supportive positive attitude. What I like about the Tafel also is that it's a very balanced course and its outlay is very comprehensive and it concerns all the different aspects of teaching age groups and the class management and everything in a compact way, and I hope that this course will help me to find some alternative job I'm going to continue with the business English study. Thank you again and have a good day.


My name is Lana Silverberg. I'm 73 years old. I live in Tom's River, New Jersey. I was diagnosed with ALS in November of 2016. Lana's first interaction actually was with me in my private practice.  She was evaluated and underwent a thorough diagnostic tests, and it became apparent that the weakness was not just in one leg, but it had involved other parts of her body as well. Now I have to think about the logistics of doing everything. I feel bad for my kids because they're not used to seeing me this way. I have to let them lead the way, let them do most of the work when they come. I first heard about the clinic at Jersey Shore through Dr. Sotaros. I had no idea that there was even such a thing that existed. I was very impressed with everyone and everything that went on at the clinic. Typically an ALS patient attending the clinic will be evaluated by a number of disciplines. Physical therapy, occupational therapy, speech and language pathology, a registered dietitian, of course our registered nurse and clinic coordinator. They also get to see the physician myself during every single visit. It's been so, so very helpful and they've made it so easy. Lana is a remarkable person.  It took me a while to come to terms with ALS, with that diagnosis. Even though I have ALS, this is not going to define me. I am still going strong. I'm going to go out and have a good time and live my life and do what I can do. I may have to live it differently but I'll do the best I can. I feel good, I feel happy but it's very hard for me to relinquish that caregiving attitude and know that I now need the care. My husband Neil and I have been married for 50 years. He's been my best friend and all of a sudden he's got the job of being the caregiver. He has been very helpful, he's stepped up to the plate, he's been my rock. I don't know what I'd do without him.


President Muhammad Buhari has loaded the Bank of Industry for creating over 9 million jobs in the last 7 years, as well as dispersing over 1.24 trillionaires to 4.2 million beneficiaries in micro, small, medium and large enterprises. Speaking at the commissioning of the second tower of the BUI building in Abuja, the president said that the bank has continued to successfully execute its mandate as a policy institution of the federal government, extending single-digit interest rate loans to manufacturers. Commanding the management of the Ministry of Industry, Trade and Investment and BUI for their contributions to the economic development of the country and the well-being of Nigerians, the president approved the issuance of a sovereign guarantee to help the bank raise funds in the Euro-bond market. I am glad to note that the bank has recently completed the transaction by raising up to 750 million euros from international investors. The process of this Euro-bond will be disbursed by the banks, the banks and the banks. It is commendable that the bank sources its own funds for lending based on its investment by the banks, the banks and the banks. The bank has been able to provide its own funds for the banks and the banks. The bank has been able to provide its own funds for the banks and the banks. The bank sources its own funds for lending based on its investment, great ratings by the rating agencies.


What advice would you give to beginners? What techniques to master? What are essential things to learn in UX design? Well, learn design thinking and lean concepts. You need to practice a lot, spend time at each part of the process, write design interfaces, talk to users, techniques to start are personas and design sprints. So what questions do you have for me?


Bridges. We are thrilled to share with you all about our journey connecting students and teachers to the world through innovative technology presentation. We will be using the interactive near pod platform to connect you to all the topics of discussion to access the presentation. Simply log on with any device to www.nearpod.com or to the near pod app. Once you're logged on, click sign in and enter the homework code K-N-W-I-M. So up here, you will enter K-N-W-I-M. And that will get you to our presentation. You should now be logged on to this presentation on this screen. However, if you do not have access right now, we'll be showing the presentation here as well. Throughout this presentation, we will model all the tech tools for you. As you can see here, near pod is a wonderful program that allows you to connect with students regardless of time or place. We have found that near pod is our go to tool not only for instruction with students, but also it allows us to connect globally with classrooms and teachers during our professional development sessions. Over the years, as educators, Fran and I have found that students today acquire information and socialize in new and innovative ways. These immeasurable advances in technology have exposed our students to experiences with diverse cultures and have afforded complex opportunities of collaboration. In efforts to prepare our students for the future in their global society, we have found that creating opportunities for this network collaboration really allows our classrooms to build bridges and meaningful relationships. So our goals today will be to discuss ways to use global projects, digital tools and collaborative projects to connect classrooms to the world. As we begin, let me introduce myself. My name is Jennifer Williams and I'm a Literacy Specialist and Global Program Developer for Kaliope Global. Through my experience coordinating programs for students of the world, my research and writing interests include digital literacy, collaborative learning space design and innovative instructional practices that empower the voice of the student. I am so honored to be sharing with you all today. Hola, my name is Fran Syracusa, I'm here with Jennifer. I am an Educational Technologist for Kaliope Global and have taught Spanish for over 20 years. My passion is connecting classrooms of the world and I advocate for students by facilitating and inspiring student learning and creativity in the classroom. Implementing tech tools, I coordinate actual and digital global projects with partnering classrooms across the globe. While working with classrooms, we always pause and take a moment to consider. Are we building docks or are we truly investing in building bridges? Now consider this. What does it actually mean to connect globally? Today's classrooms global connections allow students to together create and problem solve within learning teams. These skills of thinking critically and creativity, those are the skills that our students will need to be prepared as global citizens of the future. First, we should look at international standards of best practice. The ISTI standards, Asia Society, Act Fold, and the partnership for 21st century learning all offer frameworks and guidelines for using global collaboration in the classroom. With Nearpod, you can click to explore the ISTI website. If you go on the ISTI.org website, you will see here that there is all sorts of resources available for you as a teacher. If you look under standards, you will find that there's standards for students, standards for teachers, administrators, coaches, and computer science educators. Let's take a look at the standards for students. If you look, ISTI offers these great resources. So really looking at creativity and innovation, communication, collaboration, research and information fluency, critical thinking, problem solving and decision making, digital citizenship and technology operations and concepts. So you can use the ISTI website to really explore as you're looking to collaborate globally. Our journey that started with an interest in global collaborations and studies of world languages and cultures quickly extended to a comprehensive world program that include teacher exchange and long-term global projects that culminate with international student travel. One of the most memorable experiences for us has been a program called Conquistadors Connect, in which we connected two groups of students over a two-year period. Through the use of innovative tech tools and the dedication of a couple classroom teachers, we have been able to connect students in collaborative and transformative learning and travel. Here is our journey with Conquistadors Connect. We're going to show you a video. We have ideas for projects. What about some of our favorite tech tools to collaborate and connect? Through the use of digital technologies, we found that the learning with our global networks of educators has inspired the most meaningful and impactful professional growth of our careers. Tools like Twitter, Voxer and Periscope have allowed for these engagements and for us to elevate the conversation of education and global learning. For students, the possibilities for learning are truly endless. We always look to first identify our goals, which we call the verbs, and find the best tools or the nouns to match our students' needs. Interactive tools like Padlet that allow students to connect and share virtually create new bridges of connection for classrooms of the world. What we've found is that digital tools allow for transformation of learning experience and they can expand the scope of knowledge and education. These new technologies allow students to engage in all forms of communication, so reading, writing, speaking and listening. And alone, they have power to encourage inquiry. But together, when they're combined, the possibilities for learning can be exponential. Here are some ways that we like to combine digital literacy tools in the classroom. So you have Periscope paired with Nearpod, Skype partnered with Padlet and YouTube together with Ed Puzzle. So now you have ideas on the standards of practice, ideas for global projects and examples for tools to connect. But what's next? We have listed some ideas for you for where to go from here on our website at www.colibeglobal.com. Please check our site for more ideas on tools and projects for your classrooms. You can also connect with us on Twitter at la underscore profe underscore s and at genwilliamsedu. Thank you for joining us for this session on connecting students and teachers of the world. We would like to thank K-12 online for inviting us to join you. Offer some project and tools personalized just for you and your students. Please share with us here and we look forward to connecting soon. Thank you! Adios! Hasta pronto!


My name is Mystic, I'm going to be doing a presentation on mimicry and the mimic functions. In order to explain basically what that is, let me just start with the basic concepts and then I'll give you, I'll show you an example of the mimic functions in action and then I'll go into more detail on how to use them, how to write your own things for them and stuff like that and then I'll give you an introduction to a program that I'm developing right now, still in development, that takes this concept into a live chat atmosphere. So first, just basically, what is mimicry? Mimicry is basically the ability to mimic your surroundings as it says up there. So like animals do it, like chameleons would do it in the wild to mimic their surroundings in order to survive. And in the sort of cyberspace world where you have the internet and you have just communications going around and you want to encrypt something, the problem with that is that when you encrypt something, if somebody could run a filter on that network looking for encrypted data and pull it right out and then eventually decrypt it, it's only a matter of time. So what mimicry basically does is it allows you to encrypt data or take any data and encode it in a way that the output does not look like encoded data and in fact it mimics the sentence structure or the sort of likeness of a completely different script and I'll have to sort of show that to you, it's hard to explain. So that's what it says right there, a way to encrypt high data in which the output is statistically or grammatically sound. So if somebody was to use a filter to look for it, it wouldn't come up because it would just look like normal text. And before I go on, I want to show you an example of that. So I'll just give you one second to sort of put it in perspective of what we're talking about. So here's a job applet. I'll give you, at the end of the presentation, I'll give you an address to where you can actually download and use this program. And the source code for this is also on the CD. So basically I want to enter the message here, push mimicry. And now what it says there, basically what it generated is a block of text that mimics the, mimics two people, mimics the announcing of a baseball game. So I'll just read you a little bit of it. It says, well Bob, welcome to yet another game between the Whoppers and the Blogs. You're in the scenic downtown Bolvania. I think it's fair to say that plenty of bubble off, bug fever, it just talks about the game. So then, then taking this text, we can just run, remove mimicry and there's our original text right there. So that's basically what the mimic functions do. And I forgot to mention, the mimic functions were first released in a book entitled Disappearing Cryptography by a man named Peter Weiner. He was the first one to sort of take this concept and create a proof of concept, which are the mimic functions. So this is his code that I'm showing you. And again, I'll give you a link to that where you can go by the book, go to his website. So now the question is, how do you tell the program what to mimic? And mimic does this by what it says, generating text using the syntax described in what's called a context-free grammar and hides data by the choices it makes in that grammar. And I'll go through and explain that more in detail as I go on. First I'll describe what a context-free grammar is. A context-free grammar is basically a very specific way of describing language in general. In order to do that, it uses terminals, which are words or phrases, and they're static as it says there. Variables, which are places where decisions in the sort of phrase can be found. And productions, which describe how a variable can be converted into different sets of variable terminals. And again, I'll show you an example, which puts it on perspective. So here you see a variable. So here's an example of a production. It shows a variable, and it shows phrases or words. So to describe, to show a context-free grammar on paper, you would have the variable, I think the variables are in bold. And then this is what you put between the variable and the rest of the production. And then phrases are words. So this is a series of productions, and describe me a complete context-free grammar. So this is a good way to describe it, okay? So you have start and a noun and a verb. Those are both variables, right? Start is where you start. Nouns can either be Fred, Barney, or Fred and Barney. And the verb can be went fishing or went bowling. So this context-free grammar can generate sentences such as Fred went fishing or Barney went bowling or Fred and Barney went fishing, etc., etc. So that's basically what a context-free grammar is. Putting it very simply, because I don't want to get too technical into it, in order for mimic to hide binary data, it creates a tree of choices based on those context-free grammars. So if you look at here, there's all sorts of different choices that can be made. The noun can either be either of these. So it goes to these choices, and it creates a binary tree. So it starts here, and it creates a one and a zero. Either one could be Fred, zero is Barney. And then it goes on and on and on. So when it creates this tree, the leaves of the tree is what would encode the right bits. So again, I'm going to give you an example so it's easier to understand. So we're going to start out with this context-free grammar. There's start and noun and a verb, and then Fred and Barney, and then verb went fishing, where is also a variable, went bowling, where there's a variable, and then direction. So let's say you want to hide one, zero, one, zero. You want to hide those bits. You want to hide those bits given this context-free grammar. So it's going to go through and say the first is going to start at start, and there's nothing hidden because it's just the start. And then so it's noun and verb, and since it's a one, it'll go to the first choice, which is Barney. And then it'll go on. The next one is a zero, and it's going towards Barney verb, and you see the verb zero is going to be went fishing. So it'll go down went fishing. And then here it says Barney went fishing where? It's a one, so it'll go to here in direction Minnesota. So it'll go here and say went fishing in direction. So it'll say direction zero is northern, so it's northern Minnesota. And so that would give you the sentence down there if you can read it. It says Barney went fishing in northern Minnesota. So MIMIC needs the bits to be encoded, which can be the texts that I entered at the beginning, which are converted into bits. And it needs a context-free grammar. Those are the two things that it needs to encode and also to decode. And the way that MIMIC understands context-free grammars is through what's called a grammar file. And it's something that's unique to MIMIC. Let me give you an example of a grammar file just really quick, as you can see here. Really? Oh, man, I didn't know if you didn't... Okay, well then, you know what, here. All right, then I'll just go through this. You'll see an example as it goes on. Ah, jeez, I did this again. Okay, well, in order to create a grammar file, in order to show the variables, variables always start with an asterisk and must be one word. Productions are separated between numbers and forward slashes. The numbers indicate... The numbers at the end of the reductions, and I'll show you, there'll be a little bit of example, indicate the weight given to that choice. And they don't weigh out each other. Like, just basically the higher the number, the more probable it'll appear in the production. And I'll give you a better example of that. The end of variables indicated double slashes. Starting variable is always one side by the first. So here's an example of what a small grammar file would look like. AA start being, it would always be alphabetically first, so that would be the start. Fred went to con, con is a variable. And you see, I'll just sort of... It's the same way as the context-free grammar looks, but it's done in this sort of grammar file format. And then the numbers at the end give the weight. So here, this number is smaller than the other one, so this one would occur less in the final encoded information. Because of the limitations of MIMIC, you can't have a grammar that is ambiguous. So there can only be one way of producing one phrase. If there were more than one ways, then the encoding wouldn't work. So in order to do that, that's an example of an ambiguous grammar where there's more than one way. In order to do that, all the reductions in a grammar file have to be in a certain format. Basically, it just means that all variables have to be at the end of the reductions. You can't have a variable and then something static afterwards. It helps make sure... There are checks in the program to make sure that there aren't ambiguous grammars, but this helps out just to make sure. Some of the limitations of MIMIC is that, as you saw before, I had a very small text and it generated a huge amount of data. It all depends on the number of possibilities in the grammar file. In that case, if there's only a few number of possibilities and each of the possibilities have a large amount of text, then you're going to generate a huge file because it needs more possibilities in order to generate a larger tree. Also, if it reaches the end of a grammar file, it'll repeat and go back to the beginning. Also, there's also a random misspelled gen, but it's not sophisticated. If somebody really wanted to, they could write some sort of a filter. If they saw enough data, go through. They may be able to write some sort of filter because it's not... The randomness isn't very well done. You'll see bits that'll generate the same encoded data sometimes, but there is randomness there. IRC Mimic. This is the program that I'm working on. It takes this idea of Mimic, of being able to take a grammar file and generating text, but what my program does is I wrote a grammar file that mimics one side of an IRC conversation.  What's your name? Where are you from? It's just like that. And then it sends that to any sort of... any NIC that you specify. So it waits for... it waits on the server for a connection. It waits on the server for that specific nickname to message them. Once they message them, then the program will start sending... will send one side of the conversation and then wait for something else. And so you send another one and it'll send more of it. And it's built in a way that the end product will look like just any normal IRC conversation. But in that one side of the conversation is an encoded message. And in order to do this right, because that small text generates so much data, I did a few little tricks to get the maximum number of possibilities out of the grammar file. And I didn't write down what I did.  I went on the internet and found like the sentence information for the top, I don't know, thousand names in the country. And put that in is all the possibilities. Yeah, question. It's not that advanced right now. All it does is it generates... Basically it does the same thing that that first program I showed you does, but instead of generating a baseball game, it generates one side of a complete conversation. So it'll send that one... So for instance, it'll say, hey, and then you type back, the person will type back, hey, and the computer will bring back, how are you? That's one side of the conversation. Then you'll say, you know, good. The computer will bring back something random like, that's nice. And then you'll say, how are you? And then the computer will say, you know, I'm all right. And those things, hey, how are you? Good, and I'm all right, I've already been encoded. That's what it's sending. So I did... So the maximum possibilities, I did things like that. I also use common grammatical errors that people use in chat. You know, like using R instead of A-R-E, and I use capital letters, lowercase letters, just to maximize possibilities. And you're able to generate, like for instance, if you said this is a test, like I just showed you, that would fit in one conversation that's just maybe about 10 lines long. So things to look at the IRC, if you want... This is still in development. If you want a copy of the source that I have right now, I don't have it on my website right now. But if you want, you can come up and see me. I'll give you a copy, I'll have it with me. But there's ways that you can go... I will have it on our website eventually though. There's ways you can go further. You could have two bots talk to each other. You could actually have two bots have the same grammar file and have actually conversations with each other and be talking about something relevant while they're actually sending maybe a third party some sort of encoded information. You can just add more to the grammar file, give it more options, possibilities to make it sound a little more real. And here are some of my resources. This is where you can go to look at that Java applet that I showed you at the beginning. So also you can learn about... Just bring cryptography at www.wayner.org. That's Peter Wayner's website. You should also check out SPAM Mimic, which takes the Mimic functions and actually you enter a message and it generates text that looks like a random SPAM message on the internet. So you could send that out. It's funny because somebody will read it and it doesn't really say anything. But if you keep on reading it, eventually you get bored. But it doesn't seem like a computer is writing. It really does seem like it's something that you'd actually see as a SPAM message. This is the place to go to get the original Mimic functions, which are actually written in C. This is where you can go to get those. If you want the Java version, I do have... It is on the CD. Yeah, it is on the DEF CON CD. And the GIFs appearing in cryptography, that's that the book is a second edition out. I see Mimic, it's not up yet. Another thing, I'm a member of the Tribal A Security Group and we'll actually be doing a talk tomorrow that you should check out on the box that we built called the Undetectable Packet Sniffer, which is where we took a packet sniffer and stuck it into a stock-looking uninterruptible power supply box. It's really neat, you should go check it out. And that's it. I don't know if I have any time left for questions, but that's it.