Hi, everyone. So I'll be talking about how to build a website that will eventually work on Mars. Before we begin, Bruce already did a great introduction, but let me tell you something about me. So I'm Slobodan Stojanovic, and I'm working with Bolshoi Theater, as you heard. I'm kidding. I'm city of Cloud Horizon. That's a small digital agency. Small digital agency, we're doing different applications for different startups. Part of it is in Montreal, and other part is in Belgrade. And beside that, I'm organizing JavaScript meetups in Belgrade, Serbia. You can follow me on Twitter, and there's a few different things on GitHub. I'm working a lot now with chatbots and things like that. And before we continue, I would like to know something about you. So I have a few questions. The first one is, did any one of you ever visit Mars? No? OK. Is there Elon Musk in the audience? No? Cool. OK, I guess then I am an expert today. OK, so before we continue, I just want to tell you a few things about my talk. The goal of this talk is to explore some different technologies. Some are new, some are not that new anymore. And I just want to put those technologies in a bit unexpected environment. So I'm completely aware that some of those things will not work on Mars, at least not in the way I will describe them, because there's a lot of other things that will just affect that. And this is not a deeply technical talk, because first I need to give you a context why would anyone build anything for Mars. So that will take some time. And the topic of this conference is problems for today and ideas from the future. So this talk will be a bit different. We'll solve problems from the future with ideas from today. OK, let's start. First, I guess you have really important, let's answer the most important question you have. And not that one. Why Mars? Why would anyone build anything for Mars? Let's see what do we know about Mars? It's a planet. That's a bit obvious. So approximately, Mars have the same landmass as Earth. It's quite smaller. It's just 15% of landmass of Earth. But since we have 70% of our planet covered by water, so landmass is almost the same. So that's nice. Second great thing is that day on Mars is almost the same as the day on Earth. So for example, our plants will really love that. We don't need to create a completely different environment for the plants and all other things. So again, that sounds great. Third thing is a year on Mars is twice longer than year on Earth. And that's, again, not a big problem. So if you're Santa Claus, you just rest a bit more than on Earth. Temperature on Mars, it can be 20 degrees. So it's not nice as Barcelona, but it's not too hot. So that can work really well too. And the gravity, that's important too. So on Mars, there's just 37% of Earth's gravity. What that means is that we can jump much more, or I don't know. You don't need a elevator to come from second floor or something like that. You can just jump out the window and everything will be OK. And there's also signs of liquid water on Mars. There's a lot of ice. We know that. But there is some signs of liquid water. So that's great too, because we need water for the living. And that's not all. There's a lot of other cool things for Mars. For example, the biggest mountain in the solar system is on Mars. So it's much, much bigger than Mount Everest. And they have two moons. So just imagine the sky in the night. That needs to be really great. But of course, there's but. There are some problems with Mars. First one is that just 18 of 40 or even more emissions on Mars were successful. Most of other failed. That's a problem. But at some point, we'll probably solve that problem, because our technology is better and better all the time. The second problem is that temperature can be minus 153 degrees. And that's not that nice. So just imagine something colder than Antarctic that looks like Sahara Desert or something like that. So definitely not the place where we would like to live. Yeah, but that's not the biggest problem. There's a big dust storms on Mars. And it can last for a few months. And it can cover almost the whole planet. That's not nice, too. But again, that's not the biggest problem that we have on Mars. There's radiation, because Mars don't have the atmosphere like we do. So there's much, much more radiation. And again, that's not the problem, because we don't have an atmosphere. So that's the first thing. We're not able to breathe anything. So we'll probably not survive long enough for radiation to kill us. So why would anyone go to Mars? Earth seems like a perfect place for a living, right? We have, I don't know, we have air. That's great. Temperature is quite nice. Then I don't know, there's a lot of water and everything. So everything seems really perfect. And it is. But it's not that perfect if you ask dinosaurs. So in Earth's history, there was a lot of mass extinction events. There's five of the biggest one on that chart. And in each of those events, we lost more than 50% of all species. And one of them, we lost 19% to 96%. Almost everything live on Earth. And that's not so great, right? So we are software engineers. At some point, if we want to survive as human beings, we just need to make some kind of backup copy or something like that in different data center. And why Mars? Why not something else? First, let's go back to this. Sorry. Those events are not that often. So we are safe for probably the next few thousand years or even more. But if you don't start exploring those things right now, we never know when the next one will happen and how it will affect us. And what's our options? First option is Venus. Oh, sorry, Mercury. It's not a really great place for a living because it doesn't have an atmosphere at all. And it's too close to the sun. So during the day, it's very, very hot, extremely hot. And during the night, it's very, very cold because there's no atmosphere that can keep the temperature and everything. And again, there's Venus after that. It's even worse. You have an atmosphere, but very thick one. And we wouldn't survive pressure or temperature or anything else. There's actually a place in Venus where it could be really nice for humans, but it's 50 kilometers above the ground. And we're not that great with building floating cities or something like that. So that's not an option. The next one is Mars, of course, with not so perfect options. But again, we can make it work somehow. And after that, all other planets in our solar system are too far away. And they're gas giants, so we are not able to live in them. OK, now, because we are talking about how to build a website on Mars, I want you to imagine that you have a website, some kind of website that will be useful to people. Any kind will not get into the details because we don't have enough time. And let's just forget about that for now. Let's go back to Mars. So at the moment, Mars is the only planet inhabited by robots only. At least only that we know about. There can be some other planets, of course, but we don't know about that. And yeah, there's that crazy small creature that we don't know maybe exists on Mars. Until one day in the next 10, 15 years, that's not that far away. Some people start sending other humans to Mars. That will be a slow process, but they're planning to send first humans on Mars in, I don't know, next 10 to 15 years. You're not able to send humans on Mars any time you want because you need to wait for planets to be aligned because you don't want to travel for very long distance. And the plan is that in, I don't know, next 100 years or even more, Elon Musk have a plan to send 1 million people to Mars. Why million? Because he thinks that that's enough population to build self-sustaining, I don't know, colony on Mars that doesn't depend on Earth. We'll see how that will work. So in the beginning, people, of course, need some things. You probably know what this is. And when we get to Mars, first we need to find something to build some kind of colony where we can breathe and where we have some food, water, and things like that. Then we'll continue building a society as on Earth or probably a bit different, but we'll fulfill all those things that we really need. And after that, there will be something else that we really need. It's Wi-Fi. So at some point, we'll definitely have an internet on Mars. And how that can work at all? Let's see. So imagine one day you have that website. You remember that for a few minutes ago. From a few minutes ago, sorry. And one day you receive some message like this. And you just ask, OK, can you tell me a browser and a bit more context about that, and then you receive something like this. And so what's the problem? Why it's not working? OK, you start reading a lot of different things to find the problem. And the first thing that you see is the distance between the planet. So in perfect alignment, there's at least three minutes between for light needs at least three minutes to travel from Earth to Mars. So if you're sending information at the same speed, round trip from Earth to Mars will be six to 44 minutes. That's not working with TCP IP protocol and anything else. The first thing that you can think about is just, I don't know, deploying your website on some data center on Mars. And that will probably work. But in the beginning, AWS was just building their data center. So we need to wait for them to finish it. OK, what else can we do? We have large delay. It's not just a small latency or something like that. It's really huge latency. So no Netflix video or audio calls or anything like that. And I know he's not happy about that. But OK, so what can we do when we don't have enough servers? Maybe go serverless? I actually really like serverless, but it will not work with this. So let's see how do we communicate on Mars. At the moment, we're using just radio waves. So each spacecraft sends radio waves, the same radio waves that you are receiving in your car or something like that, to Earth. And then NASA has the very big receivers that just try to receive those things, those waves. And then it tries to respond with the same waves. And most of the time, they're really big because we're building our spacecrafts to save the energy and everything. And they need to be really precise because they need to travel very far. And they need to deliver some information. And then you need, of course, to parse that information and to do something with it. There's interplanetary internet, too. This thing is not new at all. They're working on that for, I don't know, 20 years or more. And how it works. So for example, on this GIF, you see how much time light needs to travel from Earth to Moon. Just imagine how. So in perfect environment, we would have interplanetary internet that will be fast as light. And let's just assume that. But let's see how it works. There is delay and disruption-tolerant networks. And they're a bit different than networks that we know today. Networks that we know today work something like this. It just sends packages and wait for them to return. And if something just stops working, they will just retry. But you need to send package from end to end. That's a bit problematic with Mars because we have 22 minutes. And you're not able to communicate if the sun is between the planets or if Mars rotates and the satellites are on the wrong side of the planet or something like that. So what we can do. This is a delay-tolerant network. And how it works, it's just some kind of store and forward method. So it stores all the packages. And it tried to forward them to the next node. If something breaks, you'll see it now. It will just try to resend it from the last node. Our nodes are, I don't know, satellites and old satellites and any other device that we can use as a node. So interplanetary internet is basically just the network of internet with that protocol in the between that can communicate a bit differently. But I don't know much about the network. So let's go back to web development because we already know much more about that than the networks and everything. First thing that we can do on Mars is, of course, to go offline. When we first load our website, so how do we load our website? I guess they will need to update something on some servers on Mars because we will have some servers. But most will not have big infrastructure. So we'll not be able to deploy everything to Mars, at least not in the beginning. And, of course, NASA will use a lot of those things. NASA or whoever else will use a lot of the resources to send more useful information than, I don't know, YouTube videos or something like that. So the first thing we can really do is just to make our website work to allow our website to work offline. And you already heard before this talk about service workers, so I will not go that deep into the details. But service workers are just like some proxy between a browser, your application, and network. So we can cache all the files. We can, I don't know, intercept network requests and just the requests that really need to go to the server. If we have network, if we don't have network, we can get something from our local cache or something like that. And we can allow push notifications. And we can do a background sync and things like that. So I will not show much code today, but some basic example of service worker will be something like this. So first, you need to check if browser has the support for service workers. You need to do that because some browsers, unfortunately, don't have support for that yet. And we don't know when they will support it. And after that, you just need to register files that you want to cache locally. And that's basically it. You can do much, much more with service workers. You saw that in the previous talk. Then you want to send. You don't want to send a lot of API requests to the server because if anything goes to Earth, you need to wait a lot for that. If it's on Mars, again, you don't want to make, I don't know, much pressure on that server because it's, I don't know, all the other people are using the same server, so we don't have infrastructure again. So the thing you can use is GraphQL or something like that. We heard more about that yesterday, but instead of sending API calls with the classic REST API and things like that, we can just use GraphQL to request everything that we really need for that view and store that somewhere. Beside that, it's good to have some local copy of the data and everything. So for that, we can use index DB. It's not working perfectly in all browsers, of course, but it can be useful at the moment that when we move to Mars, it will probably be a bit better. Maybe so far, we'll fix the bugs and everything. So what's an index DB? It's just a low-level API for client-side storage. And there's a few concepts that index DB is using. First one, it just stores key value pairs. It's a transactional database model, so everything you do is some kind of transaction. It's mostly asynchronous. Then it uses DOM events to notify you when some things are available, so you have some kind of success and there are events and things like that. It's not using SQL, so it's basically no SQL database and you need to be on the same origin to be able to use it. So that works nice. I will not show the code because the API for index DB is not quite nice, but there's other things that you can use. For example, there's PouchDB. That's basically just the implementation of CouchDB in the browser and it syncs really well and it works really well offline. So basically, you can synchronize with some database, CouchDB on the server and get just the data that you want and store it on your browser. And when you make some changes and things like that, whenever you're online, it will try to sync again with the real server and to send your information to the server. So it's great for offline experience and things like that. You can use it with nod or with many other things. It works with index DB, with web SQL, with local storage and things like that. And here's some basic example. It's really simple to use. You just need to create a new database to put some data into it and to connect to the other resource that you want to sync with. We are talking about background sync and things like that. So for example, when you try to send some data to the server, what if server is not available at that moment for any reason? What can you do? Basically, you can send the, I don't know, API requests and things in the background. So you can just, if you don't have connection, browser can, some browsers can, but many others will be able to do that in the future. But you can just basically save that somewhere. So even if you close the browser, system will try to send those requests when you have, I don't know, an internet access again. So that works really nice. And for example, it would be great to do some kind of periodic things or something like that. So for example, if you're reading your news at 10 in the morning, it can sync with the server at, I don't know, 7.30 or something like that. Beside that, the other thing that we can do is just upload and download big resources with service workers. It's not working right now, it's just a proposition, but the idea is to enable background caching of multiple resources. So for example, you have some big files or something like that, and you just close the browser. It will continue to do that in the background because operating system will continue to downloading and uploading everything, and it will just let you know when something is ready for you to use or when something is uploaded. And of course, it will allow you to react somehow on if something fails to upload or download. You can read more about that on this link. And that's it for service workers, but that doesn't solve all of our problems. So if we don't have a server, how can we communicate at all? So there's peer-to-peer connection with WebRTC. We still need server in the beginning just to connect with other people on the same network, but after that, we can send files and everything just by peer-to-peer connection. WebRTC is a free open source project that provides real-time communication for, it provides simple API for real-time communication and it works in the browsers. There's a few APIs that it implements. First one is media stream. So for example, if you want to do voice calls or video calls or things like that, you can use that. There's RTC peer connection that's just for managing all the connections and things like that. And the third thing is RTC data channel. So you can send the data, not just media, not just video or audio or something like that. Here's some example how to do that. WebRTC allowed us to build implementation of WebTorrent inside the browser. So what that means is that you're basically able to load and upload Torrents from your browser directly. Why something like that is important for Mars? It's important because for example, if I want to watch some movie and some of you have that movie, I don't need to download the movie from Earth or from server or whatever. I can just stream it from some other people in the same network. If it works for movies, it works the same for images or things like that. So it can solve our problem with media and with loading resources and things like that. So as you can see on their website, just imagine peer-to-peer YouTube. So you don't have servers, you just load everything from other people. That works great for us. And it's quite simple to use it for some basic use cases. You just need to do something like that. You need magnet link, of course, but everything else is quite simple. But if you can load images and I don't know videos and things like that for peer-to-peer connection, why wouldn't you be able to load, I don't know, HTML, CSS and JavaScript? That seems like it's just a file. So if you can load one type of file, you should be able to load some other types of files. So there's a thing called Hyperdrive and it's a file sharing network based on, it's basically something that allows you to make peer-to-peer Dropbox really easily. So you can share files and you can, I don't know, load files from other peers. And as you can see, that is using that as a main protocol. That can allow us to build something really cool. We can build, for example, I don't know, just imagine a distributed app store that doesn't have a server or something like that. So for example, if you have some application, I will be able to load that application from you via peer-to-peer network. And we don't really need servers so we can ship whole applications or updates or things like that. We are just simple peer-to-peer connections. Of course, we heard more about this a few days ago but instead of, I don't know, instead of Hyperdrive and things like that, we can use interplanetary file system that will work too because they can transfer a large amount of data from one machine to another. We appear to peer in other protocols. Okay, but those are the things that we can do from, I don't know, with the technology that we have today but that doesn't solve all of our problems. It just solve part of the problems. What are the other problems that we have? So for example, things like timestamps are a bit problematic. As you can remember, the day on Mars is a bit longer than day on Earth. It's 40 minutes longer, that's not much, but again, it's enough to cause some problems. So we probably need a better way to manage timestamps and things like that. Beside that, how do we do login and things like that? So for example, you want to access Facebook. How do you do that from Mars? Because you're not able to connect with Facebook all the time to check if token and everything else is valid. So that's another problem. Then security and privacy, how do you, I don't know, how do you stay secure on Mars? Because we don't have all the system that we have on Earth and if majority of our infrastructure is on Earth, how do we just check if, I don't know, right person want the right file or something like that. Of course in the beginning, we can just assume that no one else will do that because we'll have a small population, but at some point that will be, I don't know, very big problem probably. The other problem is how do we test anything that we want to deploy to Mars? Because it's a completely extreme situation. So how do you simulate that on Earth at all? So that's some of the problems that we are not able to solve on front end only. We need to, I don't know, to use back end of course and we need to find a better way to, I don't know, to handle those things. So what's the message of this talk? Is the message that we now know how to build an Instagram for Mars or something like that. No, it's not. It's not important still because we still have a lot of time until we send people to Mars and until we have problems like this. But the main problem we have today is that most of the things that we are building today are not working for everyone on this planet. So most of the time we just don't care about, we just assume a lot of things. And for example, if you live in, I don't know, Southeast Asia or Australia or something like that, you have a huge latency because majority of servers are in North America or Europe or something like that. And there's a lot of people with poor connections and they're not able to, okay, we are building faster web applications and things like that, but it's really hard to use all those things in some places without stable internet and things like that. So for example, how do people on, I don't know, South Pole or something like that check their emails because they don't have secure connection. They have huge latency and things like that. And we need to try to improve application that we are building on Earth because at some point we'll need to build applications that we need to deploy to more other planets on or who knows what and we're even not able right now to build applications that will work on this planet, on all parts of the planet without the problem. And basically, that's all from me. If you have any questions, you can ask them with that hashtag. Thank you, Slobodan, that was really cool. I really like the way you ended there because I was talking recently to some people who travel around African villages vaccinating their children and they're offline for days and days and they're using pouch DB and service workers. So it's a real problem as well as a fun trip to Mars. Actually, they tested interplanetary internet on some villages far north and things like that because they don't have stable connection and you can have big latencies and excellence. A few questions from the audience. Is there a limit to the amount of stuff that you can store in the service worker cache? Do you know? Yeah, there's a limit and it depends from a browser to browser but that thing will evolve so we'll probably be able to store more things. And presumably it depends upon the memory available on the device. Of course, but you can ask for more memory and things like that. So for now, that's not the big concern. Excellent. And the same question I put to Andrew because you mentioned Safari a couple of times. Is Safari the new IE6? I don't know. It's just Safari. We'll see. It will introduce problem. Actually, we already have some issues with Safari. It works differently than other browsers but we'll see how it will evolve. Thank you. Well, ladies and gentlemen, give it up for Sloboda, please. Bye.


it's a beautiful day in the neighborhood won't you be my neighbor guys we got a water boom we are back in action we are reunited and we are gonna tackle a long short list of of projects on the bus so I've been hanging out here for several weeks and we have Jennifer who keeps coming by and eats the plums off of the tree there I bought some as you can see very friendly sniffing for a I feed them sunflower seeds because I guess that's what you can do but anyways hey Jennifer hey guys we are gonna keep it short and sweet this is my to-do list and we're gonna try this ones with the stars or more important so long story short we're gonna get to work my boys and girls here is the update this piece right here we'll be covering up the foam that'll be the last we will ever see the foam we have this piece vertical piece right here actually drying we got a little putty on it right outside sitting on top of paint can to the right we have the floor trim which is gonna be white and that will go around all these little spots here we are working on the vertical trim piece right here right here and right here tomorrow I will be staining the doors Eric will probably router them I might give it a shot but we'll be doing four individual doors so double doors here double doors here this is the cover for the monitor there and I don't know if I painted that if that's just primed up to take this outside and check but that's going on we got a bunch of little jobs in here right here is the midway update we got the doors out we're gonna install the doors I'm gonna have to actually I should stain those up in a little bit yep okay got confirmation on that we have this part nailed in here this is just a little trim piece and have a little corner trim piece corner trim piece trim piece I just whitewash that let's run up here to the front we got shocks on these so if I need to lift up it'll it'll kind of hold itself up a little bit outside and see what else is going on oh yeah I forgot before we run outside this wire thing here is done we got a little screw point here screw point here can see me to pop it off and address any wires we got this part up here just get a touch that up obviously we also got some what is this step trim step molding I'm not really sure what it's called but this looks nice and clean now so no exposed edges this has been my little work station here I got the this is for the RV window passenger side stain that sealed that whitewashed by the bedroom some trim there this is for the electrical solar part by the back bed this is for the floor that's just the floor trim these are all my boxes my storage that has been inside the bathroom and under the rear had five of these things in the back of the bus and to the small ones and little tool things we got water boom the magician we are well he's washing up they're sanding up some trim to put on the skylight area we have a nice little design for that water room is a freaking genius comes out of nowhere with these great ideas so we're gonna do some kind of combination of this trim plus a little of that trim I got to stay in that as well kind of like that that and that will be the inside of the skylight this is what I've been working on had a little delay today but put on coat number two of the waterproofing sealer got four of these total these are going to be my closet doors bathroom doors one of them is working on a bunch of things with me pre-drilling some holes for the self-tapping screws to do their thing up here and again we've got these L-shaped L-shaped trim pieces that will both you know cover up the ugliness here and help hold up the thin cedar that's on there so pre-drilled everything and now push it up there I'm gonna give him a hand in a second yeah I can know I need to do is get it it's one nice thing about pre-drilling is that once you once it's in place you don't have to worry about the screw popping around on you so for anybody who didn't hear me before don't use this kind of cedar on the roof yeah get half inch alright so pushing up nice and firm look at all these eyesores that disappeared I don't have to look at this ugly ass thing I don't have to look at that ugly ass thing I don't have to look at this ugly ass thing look at this look at this look at this now I don't have to see this dipping down thing on the ceiling anymore because that's held up oh guys water boom genius right here holy moly this is looking amazing this is looking great man so what do you have for the middle part there yeah fab the little piece yeah ripped off the chunk of this I ripped that edge off since we have to follow the curve so now I'll just be kind of custom fitting one across the face and then we'll just need a little thin little strip to kind of match that detail yep across on the ends and excellent you go excellent there we have it guys we are almost done with this thing one more day of work and then visually everything should be together little update here ladies and gentlemen we have for the first time in my school bus functioning doors yeah with the at all everything matches here you know the hardware this stuff we have the water boom the master if anybody needs some help with their bus build van build little small little jobs big jobs give them a call water boom on Instagram wonder booming on Instagram on Instagram yeah so we're gonna work on well water boom is gonna work on door number two let me show you what I am installing for my fridge my amazing incredible demonic fridge which only sips on my 12-volt power overnight I wake up every morning the fridge is on the two two fans back here and that fan up there and all I'm missing on my battery monitor hid behind here is normally I'm missing 10 amp hours overnight which is nothing alright guys this is how I'm gonna cool down my fridge we have holes on the side like so that is to exhaust the hot air from the fridge compressor going down there there are two holes let me show you what they are for this is a dual fan this is on my Amazon store if you want to get the same one I did it comes with a temperature control automatic setting at a certain temperature it will turn on the fan at a certain temperature it will turn off the fan set it and forget it just like the infomercials but a bing but a boom this is what I'm talking about guys we got some doors now huh so there we go this is to get into the shower bathroom we got hinges or handles on the inside as well so you can close the door when you're inside and of course open and close when you're on the outside this one here is done no inside handles needed on this guy obviously so we got the fridge back in here I'll show you that in a sec one or boom is putting a little shock on the bench here to keep it in an up position if anybody wants to come over and play a game of golf well come on over here we got the magician at work I'm gonna give him a hand when I say a hand it literally just one hand so you get buddy all right so this is what what is this a cult again it's well kind of a tiny crown molding basically it's not really a cove molding and it's not really a quarter-round or anything it's just got a real tiny little crown look to it finishing strip I guess you could go like that so if anybody's like me and they don't have the skills to build a bus by themselves hit up a wander booming on Instagram and he will come by mobile how cool is that a mobile fixer upper that's right or you can watch the our van build videos on wander boom and see how we did her there we go link put the link in description as we're wrapped up with all the things that I couldn't do because I didn't have the tools I just want to say thanks to Eric and Robin for swinging by if you guys didn't already know Eric is one of my success stories as a result of his generosity and helping other people out he's been in my videos and Bob's videos and basically we met and all he said was I just want some work and this and that he's been booked out all of 2019 as a result of the videos yeah yeah it's been amazing I mean I was telling Jax he was like the lynchpin for all of this you know we met him in Colorado and yeah next thing you know it was like snowballing all of a sudden we're you know hanging out with Bob Wells and have tours on all these YouTube tours all over and now we've got tons and tons of people lined up for work and so thanks everybody and thanks Jax man yeah thank you so if this is if this could be a a lesson that people could learn here is that through generosity and and just you know caring for others you yourself you know will receive if you know just like the karma so dude thanks again for all the stuff and we'll be seeing you guys hopefully in a couple of weeks all right


Good morning. Hello Taylor. Good morning. So it is five after eight. So I don't know, should we start or wait a little bit more. But you guys. Go ahead and start. Let's just take a look at stuff I'm working on some of the issues right now. Okay, I will share the screen but okay. I think that you can see my screen right. Yes. Okay, well in terms of announcements that we have something for the next or something coming. I don't know. Well, let's see. There is one this week. Well not some announcement but this week is a Telecom TV event on Thursday. Yeah, the great talk a debate one second. I can get back to the right on there. There we go. Yeah, there's the agenda. One of them that looks interesting open ran and closed ranks. Different people working on different sides. Jennifer Dell. Someone that executive director of tip. Telecom and for project is going to be on that one. And all of these are free that anyone can watch them or anything. I think so right. Ticket. Discount ticket price. I can't tell. I'm trying to look at it. Watch all the key moments live and free on telecom TV. At least it seems like it based on the. Oh yeah, here we go registration. It's interesting the registration says. Which ones are you interested in but doesn't mention. Oh yeah it does it's just telling you others that are coming up later in the. 2023. So all right. Open ran summit telcos and public cloud summit and stuff but those are all 2023. I guess we could add those. Other ones. Okay. I will try to register and. I can wait and. Yeah. Here. I found like, and this week is the open source. Summit in Japan. There is one single topic. Which are related with telcos. I don't know if it's meant to be Japanese or. And I didn't register because I'm. The ticket for this one is 25. Dollars per. For the virtual event. I didn't consider like just paying 25 or. So single topic, which I don't know if it's going to be. In English or Japanese or. Probably. Later. We can access to the recording and see what, what happened. Right. Sounds good. All of these three are part of the. One or our separate things. Are different things, right. Yeah, those are all different events. And they have options to your chest. Virtually or all of them are important. Probably virtually most of the telecom TV has virtual. Okay. I'm just spitting them in here because I think we should at least take a look and see if there's any items that. I think are important. Any, any other event. Probably. I mean, there's MWC. But. I don't, I don't, you know, that's a big event. I'll say. There's some encouragement at one summit. And the elephant developer forum to. Get engaged with the tip staff. So maybe we should look towards some meetings. With them and what would be, you know, areas to collaborate. Did you take a look of the. Silver or the name. Silver project. Yeah, I have been some. Watson, especially has been looking into it, but. Ideally, we can find a way to collaborate and have. Contributions both ways. If they're going to be utilizing tools and. Existing documentation and other stuff. It would be good to contribute upstream from Silva and then. For folks to be engaged with them to incorporate directly and, and think about, you know, the direction they're going. Yeah. Have it listed right there. Look at that. CNF tests would be the test suite. I'm guessing, you know, just Kubernetes in general, but I think they're actually. Gonna. At least have. Some part of the. Kubernetes ED test or Kube ref or something, which will. Be related to the. Kubernetes conformance or I'll say the. Ensuring that. It's compatible. Yeah, from my understanding, it's like, let's be taking the. I don't get. Right. To, or. To just focusing in this particular area, like, I mean, they're, they're not trying to cover. They're, they're a one or. So. Yeah. Just read the documents and from a lot of good things and so in. So the issues that she. They. Find like that. Same rail. Okay. So what else? Have you ever watched the. The. All right. The recordings of the one time it. No, I haven't. Is there some good ones on there to. Yeah, well, I was probably one of. I like it was. From Santa. I guess she, she. She has that. Good presentation talking about the. The problems with the telcos like the direction that they are taking. And. They wise are. Or the reason that they are, they having to, to start working with Matthew and. But Matthew's proposing. So I guess she summarized very well, like. The main goals and. The reason behind that. Probably. For now is one of the. Great. They want one. Not a great one, but just. Offering like a different point of view things. Probably this, this could be. Yeah. Yeah. Yeah. Can you just add a note here? No. Drop the title or whatever. Yeah. The rest of them are. Are you there? But. Not too much. We have been trying to do. I don't know. Different perspectives. Things. The other one was fairly with that. The. A few words store shop. So. They provide like. The sort of code. Yeah. Sort of things. But I don't know if you have a chance to attend it or. No. Yeah. Or Matthew. I guess. The source code. The use for. I was watching and slack when they were doing the updates, but I didn't get back to it. By the time they did a demo, I saw they were doing up to the last minute changes. You find it interesting. Well, I like the way that. John. Explained certain concepts and things. So. One of the terms, which is so confused for me is package. In terms like a nephew, I guess it's more like. Like a kind of a home chart. But more like open and. Has an option to. The way to treat things from upstream and combined with the. The downstream. So. Yeah, he has. All these concepts defined there and try to clarify all these things. For the workshop. Yeah, I have a lot of things. I mean, it's not easy to reproduce because. Definitely. You need like a virtual machine in. In GCP and. Have. You to. Ripple. Associated with that PM and things like that. And that's relation is based on. The whole name. But. But yeah, just reading the documentation. It's very valuable in terms like. At least clarify a few things. From my point of view. So could the starting point. Right. Sounds good. I'll check that out too. And. I definitely would like to watch that video. Been trying to get her engaged. Some she's. Okay. Open source summit in Vancouver. Before. Things officially really got started. Like some of the initiatives and. It was just a small. Gathering to communicate what was going on. She had spoken back then about. Like adoption of stuff like that wasn't happening. Like CICD practices and things. So. It would be. It'd be good to get her involved. See how we can get engaged with her. Yeah. Absolutely. We had to. To have like a PR open or like that. Yeah. I put a title on for this. I mean, that's straight forward. Just say do it. Yeah. For me. I'm okay. So do we have to wait for. Come to. Thumbs up or anyone else? I guess. Well, yeah, we can wait for. Does it look good to you. That title. I was trying to add. Some other people just want to get it. Closed out. I don't think when it's five for this. Would be more important as. Adding. Adding more content to that. Best practice. Thanks. Lucina. Or. Creating. Other best practices. Like there's some other content. Yeah. I mean, it says user stories and stuff, but I guess it's valid for everything. There's maybe enough. And we just need to. If you go open the actual. Go ahead and merge it. I think with listening on your. As long as nobody. Objects. It's a title. It's minimal. We've already accepted the best practice. Yeah. Delete it. And then go open that. Best practice. From. Okay, it's an exception. Yeah. Oh, can you go to the top. Did that. Title. Was this supposed to delete some stars or something? Are we supposed to have this? I don't think maybe I was supposed to delete them. Yeah, because I went. You have it. Just edit it and do a direct. Just edit it. Just edit it. Just edit it. Just edit it. Just edit it. Just edit it and do a direct. Command. Treated it like it was going to make it bold. Didn't. Just before that, let me take a look out. Because I thought some. There you are. We're hiding here. Just. He's not in send out command. All right. Down sections. Oh, it's the same, right? That basically, yeah. Yeah, only one. Yeah, it's an emphasis and we had spaces around between the asterisks. What are all these release sign-up, it's not the same case? There's no spaces. So I guess, you know, I don't know that it matters. When you're using the pound sign at the start, it's already going to do something. Okay. Just, yeah, you can just call it fixing errors or whatever. Mark dinners. Linting errors, yep. That's good. All right, so if you scroll, so we have all these sections proposal work, workload context. And just scroll through and you'll see what do we actually have in this document. Proposal. Well, I was just saying, yeah, what is all of it, if you look above, it's really the only content we have. So that, I mean, that's fine. I think that's enough to kind of communicate what is this best practice. What's actually relevant and make sense. We haven't been doing those check marks. I think we should probably start doing that. This all seems completed enough. But do we need to delete some of the stuff that's lower down. Like, like, like the workload context. Yeah. So I mean, it says user stories optional, but do we just leave it like that? Or delete it. You know, it's kind of a template kind of seems like we should just clean it up once we're done. I'm not sure. Because I don't know, probably eventually we can add more things here or or if we move, if we modify template, we have today all its places as well. Well, I'm not saying modify the template. I'm saying literally just modify this one best practice and delete the extra stuff that's not necessary. So it's clean at the end. We can add them back if it makes sense, but user stories for this particular best practice don't really. Don't seem to matter unless you're going to write your own right here. I guess we could write a user story that says here's an example of someone having a best best practice that they're going to ignore. They're not going to follow a best practice. So then they document. If we want to give a real example, like when should you not when an example of not using or not following the no root processes and containers. So maybe a side car that. That's using it and it has an exception. But then we literally have to come up with. I mean, it's fine if we want to give real, a real example. So maybe it's okay to leave this and prompt us, but we should put something in there. What we have done in the other documents. What we have information for them right like that. Yeah. References would probably be. Something easier to add in. To that, to that one. Anyways, it's fine. The ticket open was only for title. It would be good to add more content, but. We can also work on other best practices. I at least want to close out what we had an issue for. The references. And I guess we could open issues. But I think. Mark them as. When they're. We had some input from. There's a way to say, Hey, we're open to anyone collaborating. They're adding two things. Help on it, like the tags. There's a. I think it's like. First contribution or whatever you tag in it. People are starting to click through tags and just help on any project. So. If there's anybody that's looking to contribute. You know, we've had people drop in on this call before. So we could add a, I guess that ticket add title to exception. So that would have been straightforward for. Pretty much anybody to go in and read and go, okay. Here's what the summary and motivation. Let me come up with a title. It's. Document your exceptions. We could create new tickets, like add, add references to. That best practice. And for that particular one, I think someone could go through and add a reference. So here's an example of documenting your compliance. There's. There's a lot of. Examples out there for different, any project. It doesn't really matter. This isn't specific to cloud native or tell comments. Communicating. If you're following standards. Community standards, best practices, whatever. Can you close. Ticket. 227. All right. Yeah. Completed. Anyways, I think we should. We could add tickets. For any of them. Some motivation. Requirements for multi interface. What do we have left today? Eight minutes. Well. When I just started the. The draft. But when I created draft, I didn't know about. These. Discussion in the community about that. Modifying the API is what they're trying to do in the. To support. Multiple interfaces. So, so that's why it's like a hold. Because. I don't know. We don't have to. Like a best practice for that. Mostly we're going to have or for what. The community is going to propose. So. That the current state, like, I mean. Definitely we have the draft here. But yeah, this is not something related with what. The community is doing. I mean, does, is it not aligned with what they're doing? Annotations. No, I don't know. No, from my understanding that they want to. Modify the current API. Definition. So that's the. That's my understanding. It's like. In your ball definition, you will have. The capabilities to that. The different. Interfaces. Implementation on multiple is going to. That new API definition. So. So I still don't know how they are going to implement that. But. Probably, yeah, probably the thing that I should. Refer here is like to all the discussions that are hot. In the community. The way we can. Correlate things. Yeah. Yeah, because they have a lot of documents and. Discussions in the community, which are not affected here. But yeah, I guess. In regard in these draft. I think it's. For now it's. Better to keep it as it is like a draft. See what. It's happening in the community. I mean, if, if we can write it where it's aligned. Then we can move forward. If it's already aligned, then I think we can move forward now. Aside from that, I think it'd be good to get an update from. I don't know what's going on with the discussions. The current discussions will signal work. Do you have you been keeping up with those. The last time that I attended was. Before the one summit. But yeah, they were discussing the. The things that they discussed before in the keep calm. I mean, they didn't. Too much progress on that topic. I'm trying to find the actual. I don't even can't find the. The meetings. Like when do they may. Not in a slack. That's good. SIG network, multi-network. Oh yeah, they have a specific channel. That's right. Community think was on November 2nd. So what's the next. They had. They didn't announce it in slack, but they had a November. That's right. All right. Rank requirements. Oh, this is a follow-up meeting. This one. There's a. Each network fighter manages their end points and end point slices. Topic. I guess this was. Recorded. Maybe. Let's see. Okay. I'm going to ask. Google may. Very interesting doctrine. This. Talks about the different use cases. And they discuss. Why, why they are doing these. Multi-network performance. Which one. Yeah, the requirements. Yeah. So take what they use during the. Contributors on me. And they were checking. They were checking that. So what I'm going to do is. These two. Documents. Here, right? Like, at least. Like a reference. But the community is doing right. Sounds good. So the annotation. Document. The best practice. To me seems still relevant. Annotating whether. Telling people that they need to do annotations for. How they're. Setting up their network is. Is moving people towards. Called me to practices, even if the community hasn't cited on. Where that could be. You can still. Compliment. The, some of the core concepts for doing. Doing these things. The configuration declaring your. Declaring. Your intentions and what you're wanting. Even if you're doing it. In. Vendor specific. Annotation types. I mean. It's still moving towards that versus saying, oh, we're going to statically generate. What we need with a shell script that. Generates, you know, the things on the fly by talking to some external database. And you have no idea what's going on because it's statically configured by a network admin. Ahead of time. Like that wouldn't be cloud native. But if you said that you're. Defining stuff and then the. In home templates, even if it's Dan M or. Multis or whatever, but you're leaving it up. Like device configuration or whatever else. If you're trying to make it where that stuff is dynamically determined. It's at least moving towards it. And then if we have a more generic way of doing things, then that configuration that someone is already using. With multis and Dan M or whatever, like you've done it. That works with all of them, like just adding all of the different ones. And then. Determining based on. The CNI that's there, you can do it. Well, if you've already done that, now you can simplify your code because you're in my mind, you should be able to simplify it. You're moving it all to one standard. Configuration. So I think this document doing the annotation is still. Valid moving it forward. Yeah, and also the other thing that I was thinking right now is. It's also applicable for, for example, controllers. So let's say that. There are certain annotations which applies only for engine X or. Check proxy. So. And also you can apply the same, same approach, right? So. So you can specify all. All the major ones or like. All the different notations. And doesn't matter. Like, I mean, at the end of the day. Your part or your deployment are going to take just the annotations, which are relevant to. The particular. It's a controller, right? No matter if you have for once those other ones are going to be northern. So basically the main idea is not restrict the number of annotations that you can put it in your. About definition. It's like. Put whatever, like. Don't be scared. Yeah. So. So what do you suggest? Like. To continue doing the. Discussion in the draft. So, or starting. Moving the draft from. From there into the. Into a PR or. Taylor. I'm trying to, I'm thinking like, if we get it out, ideally we're going to get. I'd like to get some more people engaged on it. And. I wonder if. What's been written if it would be worthwhile to. Have something written up. Maybe just taking what's currently there. And then go talk with. The sig. Multi network group. Add it to their agenda. It's an open agenda. Get it on. You know. Maybe we go talk with. Hop on like a. A multis call. I think they were talking on the plumbers working group, but that one might not be as good. But. Community getting. Feedback from. Other folks would be good. So whether it's written up in a pull request happens, that would be fine. And then say, hey, we want feedback on this. I mean, I'm almost up for tagging people. In the GitHub. If a pull request is there. Say, just start tagging people in other groups. Yeah, that's a good idea. To prove. This, this idea and see. Yeah. I mean it. The way it's written is a little bit more general to where it might be helpful for the sig multi network. Or if they're doing and how they're wanting to apply it. Probably would have been good to. Show them that. At the. Cube con meeting, but. If we could get it on a future one, that would be good. Yeah, also if I did some of the functions or like. Something is missing there. Be free to add it like. Probably. Very good. Don't comment on anything. I'm up for. Working with you to try to. Get something ready and maybe pull in some other info. I'm. Silva, you know, if we can get on and talk with them and say, here's an area where we're trying to do, I, I seems like they're trying to move forward on implementation. And it would relate to. RA to RC to stuff with the etiquette. So. Maybe reaching out to. Silva and. Are you involved on the etiquette side? Currently, do you think this would be good? I. Barely. I mean. Yeah. Just. I didn't attend all the meetings. Just. But yeah, I can. I think again. And she. Can propose that. I'd like to see if we can talk with the silver folks. And then the other part would be. Testing. Like what. Think. I mean, thinking forward, of course, if. If something moves forward in sig multi network, then there's. Going to end up being. E to E test around that. Eventually. That'll go into Kubernetes conformance. But it. The. So once it's in Kubernetes, then there's going to be different things that could be tested like in the CNF test suite and everything. If you have a CNF coming up and it's using multiple interfaces, is it using this new. Multi network. Thing that whatever comes out of that. But that's far future. So is there anything that we can do now that. Would be. Beneficial as a tool in the community to. Say. Are you doing. Declared of network configuration or not. Yeah. Because. There's teams. I'll be. The thing is like. NSM. They. In NSM. In the. They. Did a complete refactoring of source code. So basically the. The way to define things and. To use all the API. They. Moffitt complete everything. So. The source code that I used to. Have for NSM. Is not working with the. Latest. Release that they have. So I don't know. Why they decided to do that. Probably they had their own think of reasons to do that, but. Yeah, I need to. Check with. I don't know. He prepped can help me. To. Fixing those things because I. I couldn't make. To work for. For the current release that NSM. I try to. So basically what I'm trying to say. I tried to date. The source code that I have for. Making sure that. She's still. I'm valid, but. Have some issues with that. NSM. Daman seems to be. Deprecated. No one. Is. Updating the source code. Anyway. I. I tested. I'm still working with. Still. Newest. Multitudes still working as expected. So. So. Yeah. It's. My only concern is. With NSM. NSM proposed. A new. Different approach. Compared with. And then. You know, what does you have to pre-define the networks and you. Say, well, I have all these. Different networks and. My thoughts are going to attach to those. Of course, during the. Per request. In NSM. The approach is different. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. I don't know. In NSM. The approach is different. Like. You don't define anything. So don't you know. Find it. Your deployment. And. NSM. Is going to start. Connecting. Or creating the networks. Doing the execution or the creation time. So it's more like an on demand. Solution. So. This, this source code seems to be working before. And I have the end to end testing and checking all these things. And try to split in different pieces. For example, it's just. It's just focusing the structure. It's fine. The things I said for, for the infrastructure. So I. And I. Have. Different things like. For example, this component can be. Replaced with. A similar solution. I haven't tested. But yeah. The mayor concern is this one. Which was. A huge problem because they. And they don't have. Good documentation. How. How can you use your. They're dedicated. To consume those services. So this, they used to be. The initial approach. Which was. A fine for my. Proposal. Now is. I don't know. So. Yeah. It should be nice. If. Fred can take. Some eyes on this and help me. Just. Yeah. We're putting forward. The idea of. The best practice. Before there's. A community consensus on how to do things. I think. Something like this would. Would be instead of saying. Here is how to do it. It would. It would be. In an area that says, here's an example of what could be done. And then it would be okay. Since things are going to continue changing in. Network service mesh. And other. You know, whatever comes out of. SIG multi-network. Then our best practice needs to make sure that any implementation specific stuff is. It's apparent that it's not. The standard, but instead just. An example of what could be done. Okay, that's right. Yeah. As far as tests. Testing goes. I guess it can be a. What we had referred to as carrot. I guess it's a carrot test or it's a test that indicates that you could be doing something cloud native, but we don't know if you're not like, you may be doing something we're not aware of. So if we looked and said, hey, we're looking for this type of annotation. This network service mesh annotation. And they have it, then we go, oh, this is good. They're doing something positive. So we want to let. End users of the CNF know that they're doing something positive. But if we don't find it, it doesn't mean that they're not doing something we didn't recognize since there's not a single standard yet. But if there is something that we can show, here's what's currently happening. A valid, like you think it's a valid use of network service mesh that's still applicable. Like whatever they're currently doing. And we can write up, here's an annotation test. If we look at it, that seems like a valid thing. And if there's anything that we can say, here's a valid example. In multis and Dan M of doing annotations. That's like a community standard. If you see anybody doing something. Then I think that could be a valid test. So then we're looking at ideally multiple ways that people can do annotations until there's a, you know, a single way, then we need to try to cover and look for others. Probably right now, as far as the CNF test suite, it would be a bonus type of test where we're going. If you see this, then it's indicating positive. Cloud native behavior by this CNF. It's not, we're not saying, yes, they're absolutely cloud native in the way they do this, since there's not, but it's an indicator, which is okay.  And that same sort of example that could be looked at for testing could go into the actual best practice right up. So we're keeping the best practice general. And we're giving examples. And then it, you know, if. Both signal to network makes progress and they came out with like an alpha release, we could just include that. And we do an update to the same best practice. Anyways, that's kind of what I'm thinking. Yeah, no, that makes sense. So is there to propose something and. Eventually. Fine or foolish all these things. Based on the feedback from the community and sort of like. No, mentioning anything. Yeah, we're about time, aren't we? Really? Okay. Well, that was the, I guess the only. I don't know if we still have the next. Yeah. I don't know if we have to start preparing for the holidays and. If you want to. Have the meetings or. Yes. Let's see if I. Real quick before we move on to that. Looking at your screen right there for the open issues. I would the link between non-route best practice. And run right in test suite. That one's pretty straightforward. Tom, I want to get that one knocked out. I'm just kind of looking at the titles real quick. So that one seems okay. We have, we just need to update it in the docs. That seems pretty straightforward to try to clear. Some of these out and have momentum. I want to add that to my to-do list. Would you assign me on that? Okay. Maybe Lucina too. Let's get multiple people on this. This one is straight forward enough. Let's get it completed. All right. Go ahead and go back to the list of issues. And. The 228 skip that one's harder organization. As multi network. We did that. The do not run containers with privileges. So that's another best practice. And. We have all the content. In the list of issues. Google doc. And there's also a test. Test or multiple versions. Of tests. In the. Inside of the. Test suite. There's one in the certification enabled, but the test suite actually has multiple types. So I think that one should be one that we. Put together sooner than later, since we already have content. And having more best practices. I think will motivate people. To get involved. And it's good to document. One thing that. I remember in Lucina. So I'm just trying to think of like what are some things that we can put in place and. Move forward on. Lucina. I mentioned. Previously to. That we could start using that best CNF dev. Document. We had held held off because we didn't have. Any best. Enough best, maybe no best practices when Robbie created it. But I think we could start linking them in there. Like the non root. And that would be one of the best practices. Like how do people find these?  CBP folder. But. I think it'd be better to just send people here. Now this may need, you know, some updates, or maybe we just start putting them in. I just realized, scroll it up. Under configuration life cycle. Best CNF dev applications configured via standard way. I guess those are just examples. What is number two application now? Some membership of the tier to its peers. Interesting. Those are not. Those are going to be fake. I think so. They just got put in there. I was trying to see if they're actual best practices that we should write out. Yeah, that didn't go anywhere. Yeah, those are just examples. But adding the ones that we have in here might be a good thing. I don't know if we want to update. The. Categories. Before doing that, or just put them in. Because we're trying to, we want to be able to get more people engaged since, you know, in 2023. Get this going again. We had a higher number of folks that were. Involved for a while and it's kind of fallen off. But we're towards end of year. So. Thinking like 2023 and. Getting people engaged. And contributing. If we say, here's what we're trying to do. We're trying to help. The developers and the, and the end users of those developers with. Having CNS that are following best practices that everybody understands. So here it is. The best practice for CNS developers. We're contributing right here. And starting with this document. When we're talking to people. It's probably better than go to get a page and. Clicking and. What is. BBP PPP stand for, you know. Just. You know. Yes. Confused. The other content. Or maybe one of the. We can add it here in the cities could be sustained. Maybe. Some practice. Best practice for sustainability. Or environment. Care. What do you think. I didn't catch the last part. Can you say that again? No. Yeah. I was thinking like maybe. Providing like. 11. The number 11 like sustainability. Like. Or things that impact. Yeah, that's great. That's great. Yeah. Sustainability. I don't know if it's just environmental sustainability might be the category. If there's any other sustainability. Yeah, I don't know if we have some best practices in that term, but at least like raising the topic there and. Could be something. Interesting to explore. I like it. Environmental sustainability or just sustainability. I don't know if there's any other sustainability. I don't know if it's just environmental sustainability might be the category. If there's any other sustainability. Yeah, I don't know if we have some best practices in that term, but. I don't know if there's any other sustainability that a CNF would care about, but. Yeah, what Lucina just put in there. Can we add this comments to the, if it hadn't already happened to the. The meeting that's please. This is a good idea. I really like that. Thanks. Thanks. You're awesome. All right. Yes, for that, adding that category. And then what do you think as far as adding best practices into the. Best CNF dev doc. No, that's also. Yeah, that way we can give it more visibility. Right. Since we're running out of time before break. Let's see. Let's just mark that I'll come back to what I was going to say. December 26. Let's just cancel that one. I'm a no on that. Let's. Are you going to. Do you want to run one on. On the six vector. No. All right. Let's cancel. And. And this one as well, right? Cancel on the second sounds good. But what is the 19th? Nothing. 19. That's not, that seems all right. Let's keep the 19th. All right. Okay. Yeah, looks good. All right. So. Are you available this week. For maybe some working sessions to get through some of this. Yes. I have some time. So one that I don't want to do, but I think should be done. If we're going to do this. Add practices to that document is update the categories. From 10 to seven. Take it. Two to eight. That's something that's. A little tedious and annoying, but if we get the categories updated. Or decide if we're going to update them and then do it. Yes or no. We'll make it better if we're adding tickets. Adding new best practices. Sorry. So ticket two to eight. Which is going to. If we match this best practices for CNF developers. Set of categories. And looking at. Matching them to the CNF test suite. Or a set of categories. I think it'll be easier to find stuff. So I'm going to. Show. I think that like the rationale document has content. Like that's base content for best practices that we could potentially write up. Any. What's that. Are you going to share something. I'm sure I can share. So this is just this rationale, which is just a short, these are just short write up of different things, you know, microservices, reasonable startup time. If they're not responding to readiness checks. And this is after downloads. So this, this test. Waits for the CNF. The image to be available and actually. Initiate container startup. On the host machine. So if, if it's not. Having any response at all, then. And it's indicative of a monolithic application. So that's the idea. And. Having something around a best practice. You know, if it takes. 20 minutes for an application to actually respond to availability. When something's going on. Even if it's saying, I don't want to accept new services. Don't, don't. Have the proxy or whatever. Put me in service yet. Because it's waiting on multiple other things to come up. There should be some type of responsiveness and say, I'm waiting. You know, if I'm thinking like restful applications. You can still respond and then have applications that are intelligent because of the response. That's not the best choice, but it'd be better than nothing. Like no response. Anyways, the point is. If we go to categories that match, then I think it's going to be. A little bit easier, but we need to look and see if it's makes sense for what we've been writing over there. So compatibility and solubility, upgradability. That one. Let me. Bring this. And then this. Not found. Not found. Doc. So installation. Upgrade configuration life cycle. Those were merged. Installability and life cycle management. I'm saying there's no space here. You'll mind a thing. All right. So this is. Merging two categories. Which there was overlap and which one does it go in? Is it going to go in. To configuration or is it going to go into. Configures life cycle or is this part of the initial installation? Well, upgrades and installation. I mean, there's configuration items that you could say, well, it's important to do this so that you can do deployments. But then you go, well, isn't that part of the life cycle? So that whole. Discussion around where it should go. It seemed like it was better to. Have something like this. So that was the decision there. Microservices, I think still. Split. I need to move these. Each other. So we still have microservices hardware compatibility. I think. Hardware support got merged in. Believe. But I'm going to go over to the test categories. I guess that's the idea. We don't have to do it now, but I think we should. Look at this and then decide. Are we going to. Keep them separate. Or they're not in sync or do we merge them? Okay. Just realized we had this configuration tests here and we have. Compatibility, I guess it is split. All right. So we need to look that over in my mind and then. That kind of influences how we think about best practices and. When we're communicating. When we're in the middle of it, you know, Victor, you may go, I know this is applicable in multiple areas, but when we're trying to get other people engaged and they go, I don't. I don't know what that is. All I do is help over here. And we'll go, yeah, it's applicable. But more less categories is probably easier. So this would be seven right now and eight. If we had the sustainability rather than 11 total. And you think that it's going to be a bit more confusing to have less or everything. In a single. Um, it's been. Less confusing when people are saying a best practice. Is applicable in two different categories. And those categories are similar enough. So then you just go, here's the set. They're all applicable. In the context of a specific best practice, it may say this is for. More applicable for the install on day one. And another may be well upgrades are applicable. They're not related to the day one, but they're also part of life cycle management. Those are real. They're kind of all related tests. They're close enough in relation. And depending on how you. How your workflow is and the opera, you know, operations workflow and everything. You may split those out or eat and have like a. A special dev and then salt team or. Or not, but it's all related. Whenever they come in. Let's take a look or if you want to look ahead of time, but I'll reach out to you maybe with some time and we can look at that and then look at adding best practices. And then some working sessions to maybe work on. The new best practices like the network stuff and how we present that to that, to different groups. But that's good. Right. Thanks, Victor. Thanks for listening. Have a good day. Thank you.


Welcome to Constructing User Stories, part of the Research and Assessment Cycle Toolkit offered by the Association of Research Libraries and made possible by a grant from the US Institute of Museum and Library Services. This presentation is part of a module that describes ways to articulate the focus of library assessment projects. It includes strategies for structuring user stories. We hope the content is useful to library practitioners seeking to conduct assessment projects. At the close of the presentation, you will find a link to a feedback form. Please let us know what elements were useful to you. Most library assessment projects are intended to close a gap, solve a problem, or answer a question. To design effective assessments that result in increased knowledge and understanding, it's essential to begin with a clear conception of what the precise gap, problem, or question is that is driving the work, what specifically needs to be learned about the issue at hand. One way to attain clarity and refine away any initial vagueness around the information need an assessment project seeks to address is to express the needs succinctly. There are three common ways of doing so, articulation of user stories, research questions, and hypotheses. User stories are tools most often used in designing systems, but they can also be used to focus and scope an assessment project. In some ways, they are more clarifying than research questions or hypotheses, and that they incorporate the purpose for the project at hand. In a nutshell, user stories identify an individual or group that has a need or goal to accomplish. Describe an action that individual or group wants or needs to be able to do, know, etc. And provides a reason, rationale, or purpose for undertaking that action. So a user story encompasses who a user is, an action the user wants to accomplish, and why they want to be able to accomplish that action. In library assessment, a user might be a library user, an individual or group, segmented in any number of ways. A library colleague, a leader or administrator, a campus partner or collaborator, really the possibilities for the user are wide open. User stories can be formatted in a variety of ways, typically one of the following three structures are used. First, as a who, I want what, so that why, or as a user, I want some goal, so that reason, or as a stakeholder, I want to be able to do an activity, have an awareness or take an action, in order to achieve an outcome, solve a problem, or meet a need. In order to build a user story that can guide an assessment project, these three pieces are necessary. The user or stakeholder, what activity they want to accomplish, awareness they want to build or action they want to take, and the why. What reason or rationale do they have for wanting to take the action described in the second part? What is their purpose in doing that thing, whatever it is. In library assessment work, this structure forces clarity around who wants to know the answer to an assessment question or project, what they want to do with their knowledge, and why they want to do that, what beneficial action they want to take, for example. In this way, user stories describe students, librarians, faculty advisors, institutional researchers, administrators, or other partners and stakeholders need to know to solve problems and achieve goals. They also anticipate actions that might result from the assessment, and provide rationales and aims for those actions. Another way to think about the structure of a user story for an assessment project is who, what, why. Who will benefit, what will they be able to know or do, and why do they want to know or do those things, what positive, useful, or helpful outcome or impact is likely to follow the action undertaken. This list provides a few examples written from the perspective of a librarian. Of course, user stories for assessment librarians will often focus on users generally or specific groups of users, but these examples demonstrate ways in which user stories for assessment can also inform regular library work and decision-making. These examples also pack in quite a bit. User stories can be much more streamlined as well. For example, we have, as a librarian, I want to know whether students who ask reference questions earn better assignment grades so I can persuade more faculty to encourage students to engage with reference librarians. Such a user story would help guide an assessment exploring the role of reference work in academic success and learning and clarify the goal of the assessment up front. Of course, the assessment might not find evidence of a connection. If, on the other hand, a connection is found, at least one possible outcome of the results is already understood in advance. By including intent for use in the guiding language of an assessment project, library assessment practitioners can guard at least somewhat against getting to the end of a project and finding that no actual actions based on results have been considered in advance. User stories are one way to articulate the goals of a library assessment project. Like research questions and hypotheses, they can be used to link library offerings with intended outcomes. Like these other approaches, they can set up assessments that explore correlations between various experiences and factors. In addition, user stories articulate and emphasize the purpose of an assessment project, as well as the intended use of possible results, which, in a variety of contexts, can be an important and useful addition to project scope. Thank you for viewing this presentation on articulating the focus of a library assessment project. Please use the link provided to complete a feedback form on the usefulness of this information for your purposes.


Today is October 27th, 2019. And yesterday, October 26th, 2019, I made a video testing Firefox DOH without Cloudflare, PF Blocker, DNS filtering and site blocking discussion. And I know there was a mistake at about the five minute mark where it says I was using it and I said you had to restart Firefox. Both those things are not true. No restart of Firefox is needed to change this setting. So I figured I'll get that out of the way real quick. But thank you very much for all those who commented, pointed out, I did reply. I'm also gonna pin this video to the top because some of you answered some other questions and I wanted to get it out to the greater audience and everybody reads the comment section of YouTube and sometimes it's not great reading the comments in YouTube. But we were talking about the trusted recursive resolver settings, specifically network TRR mode. So I wanted to bring this up because one of the questions I had was like, okay, we have BLOD DNS over here and BLOD DNS supports some filtering but that filtering still will fail because the default config for Firefox right now is and it makes sense to do it this way that when you look something up and there's a failure it then refers back to local DNS. And this can be for a number of reasons. One of those number of reasons is let's say you have some custom DNS entries in your server because you have local resources on your network that are not publicly available but do have their own DNS entries. Right, there's a reason to definitely leave it on if you're using this in an environment where you have those things that you need to get to not by IP but by DNS name. So that is a concern. And so they did default to that which probably makes sense because a lot of people use Firefox and a lot of people do have really especially in the business world local resources that may not be publicly available and custom DNS entries. Also, when you rely on one of these DOH servers and this is blah DNS is a small hobby of ad blocks and DNS project. Well, if this person's hobby has a problem and it doesn't resolve, your browser will stop working until you change it. So it's worth noting that that's in there but of course that doesn't do anything for site blocking if your local resolver doesn't block the same sites as this DOH one. So we go over here to the about config and we have network TRR mode. So you can see the default value right now too. So when this is turned on, you get a default of two. And what two means is, so zero is off when you're not using DOH, one reserved, two first used here for first only if the name resolve fails to use the native resolver swallowback so it goes back to your operating system resolver. All right, three only used here, never use native. This mode requires bootstrap address per to be set. What does that mean? Well, I was doing some testing with it and what happens is, if we go here and we set this to three and this goes for really any of the providers that you're gonna use for DOH but if you choose a DOH provider and you want the browser to not use local DNS resources it still has to in order to get the name of this. So right here is DOH-fi.bladns.com. We need to resolve that name. So we gotta go here. I'm just gonna do a little copy. Then go here and we'll do a quick dig, paste that in DOH-fi.bladns. Now we have this IP address. What you have to do is resolve this. Then you can set that setting. So in about config, we set it to three. Now we gotta go and put that IP address in and we gotta put it in the bootstrap address. So while we're still in about config over here we type in bootstrap address, modify, throw the IP address in there and away we go. That's all you have to do to make that work. Now that we've turned those two things on. So one, the DNS resolver works. It knows where to find it without going to local. You can now go over here and this site was loaded and we'll go ahead and refresh it now and it will fail. The reason it failed is because this Bladns has that particular site block so we can actually, this is from the other day, we had the demo on there so let's go here. They have a little checker. Check a domain status. Gemini.lookupfaileder blocked so we know that's a blocked one and of course now we can go back over here to the network.trr which is right there. Modify and if you put it back to two which means go ahead and use local resolver as well. We go here and hit control F5. My local resolver does resolve this therefore it works. Once again, no reboot. I will mention that as well. Also I was looking there are, if you start doing some searching there are plenty of other places that support DOH and I did notice clean browsing. I've heard people mention I've honestly never used it but they have some DOH filters as well. So if you were to set these up and you wanted to plug these into your browser to use the clean browsing one including they have an adult filter on here if that's something you want blocked out. They do have it but please note you'll have to follow some of that same process of if you wanted to not use local resolver at all you'll have to do that same thing over here. I'm using dig UK if your windows NS lookup I believe works the same way. So you'd have to put the IP addresses into there. I'm not sure how it handles having two of them but just some thoughts on that. And if you're using three of course now you've locked it into that particular provider so you could have other issues if that one DNS provider doesn't work. It's not as robust I think as regular DNS but I figured I'd cover that for those interested and of course in some people like to point out they don't like the fact that Firefox has been looks like they're gonna be pushing this as default and then using Cloudflare as the custom default. Opinions seem to vary on that. I think a defaulting to the end users the general public a more encrypted DNS versus the public facing is better especially due to the fact that a lot of manipulation happens within the DNS but there's been some agreements made some Cloudflare not to also try to monetize and manipulate the DNS and Firefox does reserve the right to change that at will. So Firefox they seem to care about our privacy. I do believe Firefox as a foundation will probably do the right thing if they caught Cloudflare not behaving properly and switched to another provider just throwing it out there but of course this is all customizable for those of you that wanna customize it. Well this video is just a follow up to show how you would lock it down using the trusted recursive resolver and what you need to do to make that work if you only want a DOH. Kind of a nice thing about it if you were to set this was when you do this now your browser doesn't need to do any DNS lookup. So if you are starting out on some other network you have less of a risk of getting hijacked of your DNS at all because it never looks locally for anything it's always going right out to the web and right out to those IP addresses in there. So I think it's kind of an interesting opportunity especially when you use your laptop maybe on wifi not with a VPN on some public network where there is the higher potential like let's say a coffee house type network or somewhere anyone providing free wifi getting around whatever they're doing for DNS is generally a good idea because you don't know if they're injecting something in there manipulating the DNS records and you don't necessarily wanna rely on local resolvers which is one of the reasons we tell a lot of people switch to public DNS but by default most computers out of the box or when they attach them to a local network they don't do this they're gonna just use whatever resolver was handed to them based on whatever network they joined locally. So just some thought I just wanted to follow up on this and thank you for all you the comments I don't get mad when people call me out as wrong cause you're never as wrong as when you're wrong on the internet it actually helps me learn and this video is to help others cause I'll pin it to the top for others wanting to know those couple details I just didn't know like how to set this network TR mode and things like that. And of course like I said for people someone people messaged me and asked about the filtering clean browsing does have the adult filter on there so if you wanted to plug it in there to help block some of the adult sites that maybe you don't want the kids going to that's an option I'll be careful those kids are generally pretty smart and get around things quickly so keep an eye on them that's the bigger part there that's my recommendation. All right and thanks. And thank you for making it to the end of the video. If you like this video please give it a thumbs up if you'd like to see more content from the channel hit the subscribe button and hit the bell icon if you like YouTube to notify you when new videos come out. If you'd like to hire us head over to laurancesystems.com fill out our contact page and let us know what we can help you with and what projects you'd like us to work together on. If you want to carry on the discussion head over to forums.laurancesystems.com where we can carry on the discussion about this video, other videos or other tech topics in general even suggestions for new videos they're accepted right there on our forums which are free. Also if you'd like to help the channel in other ways head over to our affiliate page we have a lot of great tech offers for you and once again thanks for watching and see you next time.