Hey friends today. I am hanging out at the Magic Kingdom because it is a beautiful Sunday afternoon I wanted to see if anything new is going on and plus I want to ride some rides and eat some snacks, so Let's go do this It is literally the perfect day Look at those skies listen to the music This is great. I Have been staying away from the parks on the weekends because of the overwhelming crowds So I was a little hesitant coming out on this Sunday But when I seen the weather I was like all it definitely seems like a Magic Kingdom kind of day and so far Like the hub area seems pretty empty Main Street not too many people there So hopefully it's just really really slow and not all these people are actually in the ride lines because that's what we don't want Like look at all this open space Tons of space nobody waiting to get a photo. I'll take a photo. You doing photos? Yeah Whenever I see any photo pass photographers just sitting there without anyone to take photos up I kind of get sad and then get my photo taken just because I want them to be happy and making memories and taking photos One new thing that just popped up a couple days ago right here at the Sunshine Tree Terrace are the fried pork and vegetable Pot stickers. I'm very excited to try these Right here they are and I think I actually might get an iLava U-Float too because I've never had it before But I'm excited these pot stickers are new. They look really delicious and take a look at this This is the iLava U-Float. Can you hear the pop rocks? I don't know if you can get like a good It's like doing a little snap crack on pop because it has pop rocks on top and then here are the pot stickers I'm very excited to try both of these. It looks amazing doesn't it? I feel like this is gonna melt first. So oh it's already it's already a big mess, but we're gonna try this one first.  Look at them. They're very crunchy These are so delicious, but I accidentally like dropped some of my pop rocks on there So like you know how I said they were crunchy now, they're crunchy and they're popping in my mouth But oh wow these are such a great snack here at Magic Kingdom it's definitely a weird combination eat pot stickers and a pop rock iLava U-Float But it's delicious This has officially become my favorite float at the Magic Kingdom. I love it. I love the pop rocks I love the strawberry Fanta and the only thing is is it is messy So you got to eat it quick find a nice cool spot get plenty of napkins and prepare to get sticky Since I'm over in Adventureland, I'm gonna ride something I haven't rode in a while Mainly because I just kind of always skip over it, but not today. We're gonna ride it The Magic Carpets of Aladdin. I don't know why I skip over this ride I mean Dumbo is kind of like the same ride, but it gets far more attention So we're gonna actually you go for a magical carpet ride They actually give you assigned carpets, so we're gonna be carpet number nine They actually have it all lined up like this I love looking at all the little details on this ride like things. I've never even noticed before Look at the camel spit in the water right there. Look at how happy he looks. I love the eyes and Right in the middle there is a bunch of genie heads and then above it is a boo I have never realized this before All right. I got my seat belt on and I'm ready to fly Magic Carpets Look at there's the camel right here. There's a good look at the camel. That is amazing. Oh in a bottle shame I can show you the world Oh no, I'm tilting back and forth.  Oh, I love it Let's drop down a little bit here Little bumpy Wow Well, oh there we go now it's time to go down Okay, that was a lot of fun. I really really enjoyed it. I also enjoyed the music I hope you guys don't mind me serenading you a little bit with my wonderful Aladdin voice I'm only kidding, but it was such a great ride. Definitely one that you should do a little bit more Now I think I'm gonna head on over to Liberty Square It is such a nice day out. I know I've said that a couple times But I really can't get over just the beautiful blue skies and just the perfect amount of breeze Not too much just enough to keep you nice and cool. I Know it's only February But I feel like I haven't been in the ye old Christmas shop in a while and we got a while before Christmas But sometimes I just like walking through there. They don't just sell Christmas things They have other things too, and it's just nice to look around. It's a beautiful store The ye old Christmas shop. Oh look you can see 2021 merchandise right here already. Oh All the cool stuff we have to get a countdown calendar Some train sets some ornaments and stockings Everyone's got to get ready to go for next year They even have some annual pass holder exclusives like cell phone cases right here Some signs up there and even a sweatshirt and a t-shirt. Look at that with the Christmas castle Another thing is it just smells like Christmas in here. I have no idea why I think it might be the reeds It just feels like very herdy like Christmas. I don't know. I don't know what it is. It must be the smellalizers They even have some new soul ornaments Plays music. I wonder how it plays music. Oh wait you can't you have to pull out that tab So we're not gonna do that, but that's really interesting. Isn't it? Where's soul cat? That was a nice little detour through the shop, and it smelled amazing in there blows my mind I wonder if I can get that I wonder if they make the candle You know they're making candles of all the Disney sense. So maybe it'd be the ye old Christmas shop candle I'd probably buy it I'm gonna continue on up towards the castle But I want to show you the moat here because the moat is empty and look at this I've never seen it like this. They got scaffolding down there. You can actually go right underneath the castle. They got the cranes everything I Also think I like fantasy land probably the most when it comes to background music as you're walking around Either tomorrow land or fantasy land That's a hard pick because I like the futuristic soundtrack, but I like this classical music too For some reason every time I walk by here. I always miss it because it closes super early I think it closes at four o'clock. So today. I think I'm actually gonna get myself something to eat I'm gonna get the broth and tater bites Look at that's a pretzel row and it's got a bratwurst and some potato barrels or tater tots I've never gotten this before but another thing I noticed is you can actually get a Mickey ear hat right here's a little ear hat and This is 1799 and it comes with your meal. So I think I might get this it looks pretty fancy doesn't it? I'm not sure what I'm gonna do with this Mickey ear Hats or bowl. It's a bowl actually, you know what I could do with it I can actually make it like a little travel water bowl for Gracie. This is a great idea I just need to find somewhere to eat this This was 1999 altogether and I think that's a decent price because the bratwurst and tater was almost 11 dollars And then I got this little mickey mouse club bowl. So it fits very well. I think this is a good price Honestly, I think one of the hardest things to do is find places to eat now Because you know, you can't sit down anywhere. So I think I'll sit over here with the ducks Now we don't feed the ducks, but we can actually use the ducks as company So we are dining with the ducks today. Hello. My name is Nate What is your name? Take a look at this bratwurst. Isn't this amazing? I got it with no sauerkraut and then we got the tater tots and then this is what the bowl that I got Ah, like I said, I think this would be a good like watering dish like a travel dish for Gracie Or even like food. I think she would like this a lot They're not coming for my tots, are they? Keep it moving. Keep it moving. No, come back. I want friends. Come back, please I'm gonna dive right into this bratwurst. The bun is so big. Oh, yeah. This is good. This is gonna. I know This is gonna be good. These are so good and that's a good brat right there You know, I've really been missing Casey's and this kind of like makes way for a little bit of improvement Did you hear people scream from the seven doors mind train? I don't think it was that intense But this is a pretty good replacement for right now, but ultimately we want our Casey's back I would definitely get this again. I mean the bun it seems like there's way too much pretzel bun Actually, I don't even think that's a thing. There's never too much pretzel bun, but this is very good I like it a lot That was a very good meal. Now I have to carry around my hat though. I wish they were ears. I would wear them I mean I can kind of wear it like ears.  It's not broken. These actually bend down even too. Look at that It makes a very convenient and packable I can actually fit it in my pocket That is some fanciness right there I was thinking maybe I would want to ride the teacups But I forgot that the teacups are actually closed for refurbishment But one thing I want to show you is like they're closed for refurbishment side. I think it's the coolest one ever Oh my oh me we've run out of tea That's really cool. Isn't it and then this one over here it says Will party again soon, but it's upside down like it's backwards upside down. That's really nice. That's really that's a good touch right there I turned the camera upside down so you can see it a little bit better I was thinking since we can't do the teacups, maybe we'll go ride the astral orbiter You know, it's been a while since I've been on one of those spaceships Seems like the astral orbiter has a really long line So I'm thinking maybe I should ride buzz light here instead Like either ride buzz light your space ranger or astral orbiter. I think we're gonna have to ask someone Excuse me. Good sir Should we ride space ranger spin or astral orbiter? Just one space ranger spin or astral orbiter you yeah, yep buzz light your space ranger spin. Thank you Well, I mean, what are you gonna say buzz light your says go ride space ranger spin You have to go ride space ranger spin. I don't even know if that was a fair question. I should have never asked him I feel like you know, his opinion was a little one-sided 30 minute wait it looks like Seems the power is dangerously low So I don't know if I'm gonna be able to be A galactic hero, but with buzz light yours blessing and his wishes for me to ride this ride. I better make him proud Oh boy Engage what's going on over here? We're just gonna keep shooting this guy Oh We're not gonna make it. We're not gonna make it. We're not gonna make it. There it is bam Galactic hero take that Zorg That is definitely a high sanitized after-ride experience I know it's really easy to become a galactic hero You just got to know where to shoot but I always struggle with it because I don't have the posable thumbs You know, it's hard for me to actually just kind of shoot. I don't know why it does it's really hard for me Like I didn't get it to the last second I wanted to come back out to the main hub area only because it's just so beautiful over here And I'm liking the music, but also I wanted to see the dragon and the ducks. Look at that sitting right there But now I think we're gonna start making our way down main street. You know that song I'm walking right down the middle of main street usa So do you think people sing that as they're walking out of the park? Like I feel like that song is only appropriate when they're walking into the park There is a big line for the emporium So I do want to stop into some stores before we head out I want to see if they have any new Fedora hats because you know my original hat is now at the character warehouse And they don't sell them in the parks anymore and I tried to go get them at the warehouse But every time I go they're sold out So I want to see if they're actually going to replace that or if they're just going to keep on selling the Honda mansion one I'm not too big on carrying a purse around, but if I did I would definitely get this purse right here Look at this 101 Dalmatians This is to help celebrate the anniversary And Gracie would love this. Well, they got so many of them. These are pretty expensive These are the dunium Burke ones. I bet you they're like $300 I wish they made 101 Dalmatians hat. I mean that would be perfect right up my alley. I would say Normally my go-to spot to actually get hats is at the hat shop But there usually is a line because it's connected to the confectionary So we're going to see if we can actually just hop in here and see if they got any new hats And that is a big negative. I can't go into the shop The men's and women's hat shop unless I wait in line to go in the confectionary Which is no big deal But I asked them if they got any new hats in any like cool hats in and they told me no So i'm not gonna wait in the line just to find out no anyway, and uh, I guess that's gonna do it for me then That's the end of the day. I had so much fun today Today was like one of those adventures where we just walked around the park and just had a good time And I made a lot of jokes and I laughed to myself It's kind of crazy the things that you can get accomplished and the things that you can do by yourself And I think bringing you guys along with me just uh gives me more encouragement to just go out and have fun So I hope you enjoyed the video. I enjoyed making it. We'll see you next time Bye


playing drill to me just a really aggressive rap really aggressive stabbings everything oh so it's the lyrics i think yeah it is lyrical but well that's something they they like to rap about their life i guess yeah and so why is it called drill i actually don't know most clubs don't want to play it because it's that violent yeah and so we're trying to change it stigma up yeah so by the event name saying say less you're actually saying more with the lyrics exactly it's a contradiction exactly i love that yeah that's cool


Hi everyone Sorry for being a bit late. I was talking with Nate about backdrop and the fact that you really love symphony Which is a cool news for me so So today I want to talk a bit about symphony. I'm this is not a very technical talk I want instead I want to talk about the problems symphony tries to solve and Why I think that Drupal actually took the right decision when Driz and many other core developers decided to reuse some of our work and At the end I'm going to talk about my tech on Drupal 8 and the backdrop thing and and what I think the community should do Okay, so first what is a symphony and where does it come from so I started to work on symphony seven years ago At that time I was working for a web agency. I created almost 15 years ago and it was really created to solve problems for our customers So that was seven years ago and three years ago. I decided to start from scratch and and start working on symphony version 2 And I had several goals in mind. The first goal was to be useful for companies wanting to create Custom solutions for their projects, but I also wanted to create the best platform possible to build other open source projects so the main asset of symphony is a set of components we have about 30 plus PHP components nowadays and each component tries to solve a common web development problem that you can face when creating a website It's really just about the lower ever architecture of a website. We are not Giving you any business logic. We are not trying to solve business logic problems. So we don't have any CMS components Or Sharon stuff or whatever. It's really just about the lower ever architecture of what you can do with PHP And it's kind of interesting to understand that those components Borrow a lot of ideas a lot of best practices Concepts and design patterns from other languages like Python Ruby and even Java and also from other Technologies and other frameworks like Django in in Python Spring in Java and a few more So it's not symphony is not a new way of doing things. It's not Something that you need to learn because of symphony symphony is just an implementation of some other best practices as our design patterns that already exist and stuff that Really work on other technologies. So we Adapted those techniques to the PHP world, of course So there is the full list of the symphony components And again, it's it's really just about the boring stuff How to write a console application how to read a YAML file how to write a YAML file how to translate stuff How to use internalization and so on. I'm not going to talk about all of them. I'm going to talk about a few of them So some of the components are tools and Basically each of them Does only one task it solves one simple problem And that's all and they don't have any external dependencies So the first one I want to talk about is the finder so the finder come I'm not going to talk about how to install the components because nowadays with composer. It's really easy Just add a symphony slash finder to your composer the JSON file and and your dog So the finder is a way to be able to find files and directories on the file system or Online so it also works with Amazon F3 works with FTP servers, whatever whenever you can Store files and directories you can use the finder to get them back and you can filter the result By date by name by size Or you can even use an anonymous function to implement your own logic to filter the the files you want The second one is the CSS selector. This one is quite interesting if you are writing test functional test for your website So you get a URL and you get back an HTML page and you need to check that the HTML page page is behaving the right way that the content is actually the right one and The way you can do that by default you can use regular expressions, but that's quite limiting and it's not really easy to adapt if you know the design Changes over time You can use XPath that's the default way of doing that with HTML or XML documents really Or you can use CSS selector and I think that you know most of you probably knows about CSS selector And it's much easier to write a CSS selector than it is to write an XPath Expression so the goal of this component is to take a CSS selector and to convert it to an XPath expression So the API is the API is really simple. We only have one method, which is the two XPath one So that's very useful if you want to do some functional testing and I'm going to show you an example later on The debug component provides tools to actually is the debugging of PHP code And again, it's really easy to use you just have to call this method enable somewhere in your code and then It automatically register an error handler and an exception handler And whenever there is a PHP error or a PHP exception, it tries to give you better exceptions than the default of The PHP defaults. So this is an example. It's quite small but The idea is that beside the exception message or the error message It gives you a stack trace and you can even configure the component so that you can click on the file names and automatically open your favorite editor or IDE And It also tries to be smaller than PHP when it comes to error messages. So this one is about Yeah, so you try to Load the class finder from the global namespace. So apparently you Forgot to use a use statement because this is a class that is in a specific namespace So instead of just trying I'm not able to get the finder class It tells you that you forgot to add a use statement And it also tells you that you probably want to use symphony component finder finder So we try to help you as much as possible when there is an error The entl component is is a very boring one really but very useful So, you know that in PHP by default there is an entl module That helps with internalization of your website but unfortunately a lot of PHP packages on different Linux Version they don't provide entl by default and in this case You can use the entl symphony component, which is a replacement a PHP replacement for the C extension And if you are using composer you have nothing to do It will be automatically activated if the PHP extension is not there It does a bit more than that because it also exposes a lot of information from the ICU library So you can get languages region currencies and a lot more information about Stuff that are available in the ICU library So that's about the components The tools we have in the components. So each tool does just one job. It's easy to integrate A tool in your project and most of the time the IPI is just about one Method one class and one method so we have tools we also have Some frameworks and those frameworks are more involving because they are doing more than just one thing But the benefits are also I hope because if you are using them then you are able to share code You can you you will probably be able to integrate more features Faster and it's also a great way to be interoperable with other project that are also using the same components I'm going to talk about one HTTP kernel later on Okay, so symphony is a set of components that you can use for a project. It's also a full stack framework That you can use to create a custom application and Drupal Drupal version 8 is not using the full stack framework It's using the components to build a framework on top of the symphony component Last but not least symphonies open source like Drupal it's using the MIT license Which is very permissive. So basically you can do whatever you want you can integrate Symphony in any kind of projects even projects using the GP a license like Drupal I like to think of symphony as being a middleware for PHP applications and Object-oriented middleware for for PHP and that's the key point you know even if PHP gives you all the tools to create object-oriented code its core is still mainly done with Plain functions, right? You have a bunch of functions and if you have a look at all the classes provided by the PHP core They are not web-related. They are not related to the web So symphony is a layer on top of PHP to provide an object-oriented Abstraction for everything related to PHP to the web. Sorry So the first framework I want to talk about is HTTP foundation Which is an abstraction on top of the HTTP specification And of course as web developers you are all using HTTP You are using HTTP all the time and symphony tries to leverage HTTP as much as possible so How do you represent a request? This is a typical request here on the screen As you can see HTTP is a plain text protocol Here I want to get the foo.html resource. I want to use HTTP version 1.1 and the host is example.com pretty simple and how do you represent this request in PHP? Like this you don't really represent a request you just get information by calling Functions like you know sessions start to be able to get stuff from the session And it's mainly about global variables, right? And that works really well. You can get stuff from the query string From a post you can get the method of the of the of the request and so on But the thing is it that's only a very low level abstraction and Here is an example If you want to get the client IP address you can get the remote underscore a ddr Item from the server global variable, right? That's how you can do that The problem is that it's not secure. This information is coming from From the request so if you want to get the real IP address from the client because you know between the client and the server you can have proxies you can have proxies Installed by an ASP you can have reverse proxies So if you want to get the real client IP address by taking into account all those proxies The code is more complex. This is what you need to write And actually this is really a stripped-down version of what you need to write to get the real IP address of the client and the code is not even secure if you want if you want to get the real IP address or The best approximation for the IP address of the client you need to Know which reverse proxy you are actually trusting right you can't you cannot blindly trust all the reverse proxy along the way so That's why I'm saying that you know by default PHP provides a very low level Low level abstraction on top of the HTTP request message And if you want to get the code right then you need to write a lot of boilerplate code So why not sharing this code in one? abstraction So using plain PHP Is just a pain first because it's not object-oriented The fact that it's not object-oriented as a lot of you know consequences really And the first one is that it acts as a singleton a singleton being you know something that you can have just one instant off It means that if you want to test if you want to functional test your website you only have You know one request you can't have more than one request in one PHP process And that's a problem when you want to simulate a request for testing So this is big limitation and of course you can easily override the underscore get or the underscore post global variables That it's not be deal, but when it comes to overriding the underscore server global variable That's get really difficult So that's a lot of our abstraction only I've talked about that before And and and that's that's a very big problem if you are if you want to create secure applications Okay, if we have a look at How you can do the exact same thing with Symphony So in Symphony you can create a request from the global variables This is the first the second line here or you can simulate any request by calling the create method on the request object So here I want to simulate a get slash a lot of HTML request I don't care about the values coming from the global variables And you can even be compatible with the code that is still using the old way by overriding the global variables and Symphony is Going to have read all the underscore get underscore post and underscore server based on the information you gave to it with the create method here and Then you have you know the request class exposes all the information that are Useful from the HTTP request In a semantic and secure way So when you when we get the client IP you will get back the real User client IP address and of course you can trust some proxies to get a better approximation of the real IP address and the same goes for the response again the HTTP response is plain text so it's kind of easy to understand here we say that we we Answered with an HTTP 1.1 Message 200 means that the response is okay We have a bunch of errors and then we have the payload the body what is going to be displayed in the browser and PHP gives you Methods to be able to generate a response To generate headers to set cookies and if you want to add something to the payload you just call echo or print All right Okay, so like for the request PHP works In a way that you can only generate one response You cannot generate more than one response in a single PHP process Which you know most of the time that's fine But when we are talking about testing your application if you want to simulate more than one request in a PHP process Then that doesn't work that well So it makes testing more difficult than it should be So singleton like again lower abstraction only Doesn't work on on the command line doesn't play well with the command line interface because By default PHP Assumes that if you are on the command line It probably means that you are not Dealing with the request and you are not going to generate a response which means that for instance in PHP There is a function named Edders underscore least which returns a list of headers that you set in your script Except that if you do that on the console It will always return an empty array Which is a shame, right? and If you want to get the HTTP status code that you set in a response It's just not possible on the command line. I mean it's not it It has become possible as of PHP 5.4 thanks to a new HTTP and the score response and the support core code function. So And last but not least it's not object oriented But I think it that's the least important stuff the fact that Symphony provides an object oriented way of creating a response is just a nice Consequence of what we want to be able to achieve with a response the fact that we want to be able to have more than one response So as you might I have guessed we have this response class You can create a response the first argument of the response constructor is the body then you have the status code and then an array of Edders right and then you can send Set the content and sent the response back to the browser And of course you can only call sent once but you can introspect the response whenever you want We also Support stream responses because that's one thing that PHP does really well as you can use just headers and error calls and echo by default PHP is able to stream the response back to the browser when you are using an object That's not really possible anymore because you create the object You populate the object with Edders and the content and at some point you need to send the request the stream response class is a way to Be able to stream a response back without Creating a response first So the request and the response object are totally independent you can use just a request You can use just a response, but if you are using both them then you must know that you know in the HTTP specification There are a lot of stuff that Yeah, sorry, so Creating a response sometimes depends on the request for instance if you want If you don't get a resource, but if you want to get the head of the request then the body should be empty and the prepare method does exactly that it check the request headers and Depending on the values of those headers it tweaks the response so that it actually Respect the HTTP specification So to sum up the HTTP foundation component abstract the HTTP messages and gives you If an object oriented layer that allows you to test things more easily And gives you access to more secure Code Okay The next thing I want to talk about is innovation. So Simply tries to innovate a lot in the PHP world We were the first to actually Introduce a dependency injection container in the PHP world. Sorry about that But we also have a lot of debugging tools and we were the first to add What we call the web debug toolbar and basically when you are in the development environment You have access on all HTML pages at the bottom of the page you have these tool bar and gives you a lot of information about the current request and hide behave And nowadays all the major frameworks also have the same kind of tool The interesting thing is that you can also click on each of the item here You get into what we call the web profiler and the web profiler gives you a lot of information about the request about the response and What? Happened during the the handling of the request and these two Will be available in Drupal 8 I have a small module integrating this web profiler and the web developer into Drupal 8 It's not I Did the work probably six month ago So it doesn't work anymore for the current version of Drupal 8 But it should be easier nowadays to integrate that and it was six months ago So that's something that you will we will be able to share with you Another game changer for me is twig Collect a real time playing system because you know, I think that PHP is not really a very good PHP template system not going to talk about that today because I already talked about that yesterday And no one is nowadays there are so many other project that are using or switching to tweak that You know, if you learn tweak You will be able to use this knowledge with many other different Projects even project not written in PHP because it's in text itself the language itself is shared with Other libraries that you can find in Ruby and Python. So the syntax itself is Becoming a standard really, okay, I need to talk about dependency injection I'm not going to dive deep into what dependency injection is or what a dependency injection container is When I was working on symphony version to the very first prototypes I Had a bunch of problems and one of them was how can I make things more? Flexible, how can we allow people to remove some parts and replace them with other ones? It was kind of important to be able to decouple all the components that we had to be sure that you can use just one Component or the other one without any interaction and if you get them together they can interact in various ways So Dependency injection. I think that this design pattern is probably one of the easiest to understand The name of the pattern is kind of scary But it's really easy to understand if you know what object-oriented programming is The container is not something that you really need to be aware of most of the time. This is really the law-abiding stuff And and you will probably never interact with the container directly in Drupal 8 if you need to interact with the dependency injection container in Drupal 8 for day-to-day activities It means that there is something wrong somewhere and that needs to be fixed So as you yeah, you might have guessed that Drupal 8 is going to use the symphony container If we have a look at the community So symphony we have about 850 core developers Which is a lot for a PHP project, but nothing if we compare to Drupal. I think you have almost twice as Twice this number for Drupal 8 nowadays. So still that's a lot We have a very active community We the community created more than 2,000 bundles in the last year and a half. So that's that's really a lot and We have almost one million downloads every single month. So that's a very big project really The last thing I want to say about symphony is that you know symphony is not a black box It is just plain PHP code Code that you can probably read that you can probably understand But most important the symphony code is just about Implementing best practices and design patterns and standards really like HGP It means that if you want to learn symphony It's more about learning those standards those best practices and and less about learning something specific to symphony Or the implementation details of the symphony code Most of the concepts that you are going to learn are Really concept that are not tied to symphony. So if you already know about these standards like HTTP dependency injection Learning symphony is really easy. And if not then Well, you will have you will be able to apply your new knowledge to other in other technology Technologies or even in other languages So that was about symphony what it is And and why I think this is a good idea to reuse some of the components that we have But now is symphony good for your open source project So as I said before it was one of my goal to be able to provide a platform that is a good tool For all their open source projects. So I'm very happy that it actually happened For me, there are four key points The first one is Symphony allows you to standardize your low lever architecture. So let's symphony do the boring stuff There is no need to reinvent the wheel here There is no need to reinvent a new way to abstract the request to abstract a response or stuff like that So that if you spend less time on this low lever architecture, it means that you will have more time to focus on The core features that you need that your users need All the business logic that you can implement for your users like the mobile HTML 5 We see we get it or whatever Things that will make Drupal a Great tool for new users And I think that you know symphony is just an implementation detail Then if you are using symphony means that it will be easier to integrate with other products also using symphony And we are working out trying to convince other open source projects to actually adopt some of the symphony components so that We are we will be able to have a more interoperable PHP platform for everyone and also because more people will be able to understand your code you will have a larger pool of developers Helping you with the code also because we don't have a CMS in the symphony world anyway So interoperability and integration is possible because Drupal is not the only project using symphony There are many other different projects. I've just So this slide is just about a few of them the main ones probably So we have big project. We have small project. We have CRM systems. We have CMSs We have our own tools. We also have other frameworks using some of the symphony components. So a lot of different kind of projects Drupal is not using all the symphony components, but quite a few of them really and The last one I want to talk about today is HTTP kernel because this is probably the most important symphony component that we have and this is Because of HTTP kernel that Projects using symphony are interoperable actually. So I like to think of HTTP kernel as being The equivalent of frac in the Ruby world or WSGI in the Python world And it's if it's not exactly the same as PHP The core of PHP takes care of a lot of details and and and the bridge between the language itself and and the web server But still it's about standardizing the HTTP protocol and the way we interact with the HTTP protocol and the symphony HTTP kernel components provides The building block to create flexible extensible unscalable HTTP based frameworks So HTTP foundation is about the representation of HTTP messages as defined in the HTTP specification and HTTP kernel is the dynamic part of the specification it gives the developer a standard way to under request do something about the request and I'm sure that the response is sent back to the browser and The most important file class interface in symphony and the HTTP kernel component is probably in HTTP kernel interface is a very simple one One method and all it takes a request as an argument You need to implement it and then you need to return a response at the end and just because of this One method all the projects using HTTP kernel are interoperable and you can you know Create bridges between them. So let's see how it works in practice. So if you have a look at Drupal The symphony food stack framework is he published or and a bunch of other ones You will see something like that. We create an HTTP kernel Whatever it is. It is just a kernel Implaining implementing the HTTP kernel interface You create a request from the global variables and you ask the kernel to under the request and then you send the response back to the browser It is that simple, but just because you are using this pattern. It means that a lot of things become really easier and one of the biggest problem when using plain PHP for HTTP is that the code is very testable, but thanks to the HTTP kernel interface it becomes really easy to write functional test and In the HTTP kernel Component we have a client class. So the client class simulates a browser really So you pass it a kernel and then you can simulate requests here. I want to simulate a get slash a low slash Fabian request Then you can get the response and you can check whatever you want on the response here I'm Checking that the status code is actually 200 But there is more if you have access to the CSS selector component I've talked about before you can filter so actually the request method return a crawler The crawler is like jQuery for PHP and then you can filter the response with a CSS selector And then do whatever you want with the nodes here. I'm checking that there is one h1 Tag on the page containing Fabian, right really easy It also means if you are using HTTP kernel interface, it means that you can also leverage HTTP caching Not going to talk about that because I'm running out of time here, but Most of the time, you know the caching layer created on You know various cmses and frameworks are Proprietary really we reinvent the wheel, but if you have a look at the HTTP specification You will see that you have everything you need to create a good caching strategy written in the HTTP specification so The HTTP specification defines two different caching models exploration and validation exploration allows you to specify How long a response should be considered fresh? And validation is a bit more complex and it means that every time the server actually Validates that the cache is still valid and the great thing is that you can still use Exploration and validation in the same request meaning that you can say okay this response can be cached for 10 seconds for instance and Every 10 seconds we validate that the cache is still fresh So you can mix and match and exploration always wins over validation so the goal of a Good HTTP caching strategy is to never ever generate the same response twice So as everything is based on HTTP it means that setting the HTTP caching strategy is just As simple as setting some headers on the HTTP response But we also provide an abstraction for the most Common cases like setting a TTL Which is a way to say I want to expire this page in 10 seconds for instance And Even if when using the HTTP validation model You can also save some CPU by not generating the whole response if you are able to actually say that the response is not modified With so this is kind of what you need to write to Check that the response is always the same you can return a 304 as fast as possible without generating the all response And using the HTTP cache layer in symphony is really simple you can just wrap your kernel with the HTTP cache Class and the store is where you want to store and the cash. That's really easy and As we are leveraging HTTP and the HTTP cache headers It means that instead of using the HTTP cache class, which is really just an implementation of a reverse proxy written in PHP You can also use any reverse proxy Like varnish for instance So if you are using varnish, then your application is going to scale even better because the cache the cache layer is going to be Endowed by varnish with which is really fast And so in Drupal you are not only using the HTTP kernel interface you are also using the HTTP kernel the default HTTP kernel implementation and it's even better because we provide a bunch of workflow from the request to the response where you can hook in and do stuff do interesting stuff again I'm not going to talk about this workflow in great details because you can find a lot of information online a lot of Documentation videos whatever so if you want to know more there are plenty of documentation online but the thing is as This is standardized again, you will be able to leverage a bunch of Features that comes built in with the HTTP kernel component Last but not the least we also support edge side includes ESI and Supporting ESI is only possible because we are able to actually handle more than one request and generate more than one response in one PHP process, so Drupal 8 is not Able to handle ESI tags yet because of technical problems because we are not it's not finished yet, but the goal is to be able to use ESI in In in Drupal 8 also Also want to talk about Predictability and that's something really important and when you choose Symphony for your open source project. It's not just about the code It's also about the way we manage a project in a very predictable way And that's also a big plus Of course as you are unbending a third-party Code it means that from time to time you need to upgrade you need to update the code to the last version so being able to Know when a new release is going to happen can help a lot and we have a clear roadmap That you can easily Follow so there is a new Symphony release every six months No matter what every six months at the end of November and May we have a new release and We have a new long-term support release every two years a Long-term support release comes with three years of maintenance and four years of security issue fixes And we work out to keep backward compatibility between all the major releases As an example if you have a look at twig we released twig version 1.0 a year and a half ago two years and a half ago And we did not break backward compatibility since then so in two years and a half With more than I think 36 releases we did not break back by compatibility That's something really important for us because we know that a lot of different opens of project actually rely on our code So we can't break back by compatibility because if we do that we are going to break a bunch of code Talking about security issues also we have very well defined an open process So we work closely with the Drupal security team To synchronize our security releases that that's not happening right now, but it's going to happen when The stable version of Drupal is going to be released So those are just example of what we do to ease the work of our users Be they big companies or open source projects. I Want to finish my talk with my take on on Drupal 8 and the current situation of Drupal 8 I'm an outsider here. So please take my words with a grain of salt. I'm aware of the recent Drupal fork I've talked with Nate just before this talk I'm aware that some people don't like symphony I'm aware that you struggle with a lot of things But I'm pretty sure that Most of the problems that you have now are not really related to symphony But more about how you are using symphony and or how you are transitioning from the old Way of doing things to the new way of doing things and the good news is that I'm convinced that the vast majority of The problems you have are fixable I'm not saying that it's not it's it's it's going to be easy. I'm not I'm pretty sure that it's going to take time, but it's still doable And I'm sure that you won't regret that move in a year or two And of course if you need help and I think you need help We are you're to help the symphony community is ear to help. So We want to play to be a huge success. We need to play to be a huge success So let me show you my experience and my vision about, you know, the current programming world and the state of things in PHP I Think you know developers Need to embrace changes because the web evolves at a very fast pace and You know, if you don't want to learn new things if you don't want to adapt yourself to the new way of doing things if you don't want to learn How things works in other technologies in other languages If you don't want to reinvent yourself on a regular basis, I think that's you know, you really need to look for another job But at the same time and bracing changes is really out and that's the real challenge There is a pattern. I've seen often in the last few years and you know, it all starts when you Discover a new way of doing something You discover a new pattern a new best practice and You start using it to solve one problem and you find it beautiful Powerful or just better than the other and the other way You don't really understand why but you have this feeling that you You've just got to the next level really and Then all of a sudden you want to use it everywhere And it soon becomes, you know, the way to fix all Problems, but at some point you realize that It's not the silver bullet It does not help fixing all the problems you have it's like, you know, I have two kids and When I come back from a conference most of the time I have a small gift for them so they have this new toy and It's great. It's wonderful and they want to Play with this new toy and all the old ones They're not, you know, so old obsolete And it lasts for two or three days a week depending on on the toy And at some point they realize that the new toy is great, but the old ones are also great So they start using and playing with all their toys. I think this is the exact same thing here so And Here I'm talking about object-oriented programming. I'm talking about the MVC pattern. I'm talking about dependence injection I'm talking about all the new programming concepts introduced in Drupal 8 and all those new concepts are not the answers to all the problems far from it I'm even going to say that Using them everywhere in Drupal 8 is a mistake Would be a mistake actually It would be really bad for Drupal so you need to find the right balance between a Beautiful design and a practical one and that's really tough You need to understand when to use the new tools you have at your disposal You need to be able to migrate one step at a time to be sure that you don't overdo things and to be sure that you don't rewrite everything in one go and Knowing when to stop the refactoring understanding where to apply This pattern is really odd It probably took us the symphony community about two years To really understand when and how to use dependency injection When to use the container in symphony when to inject the container when not to inject the container We even removed some of the features that we added in the container at some point because we realized that Even if it was a good idea in the Java world It did not make any sense in the PHP world, but it takes time and That's some knowledge that we have and and we want to share that with you And you know Using some PHP functions, that's fine. No big deal. Not a problem. And if you want to replace all the functions with Static method calls. Hmm. I think that's not a good idea. It doesn't make really sense Not always actually Creating a class without an interface. That's fine. Even if a lot of people are going to sell you the contrary Hey, we are using PHP right PHP is probably the worst language ever created So if you are Serious about programming anyway use Java use least but not PHP, right? We are using PHP because it's the best way for us to get the job done right and We don't code For the code, right? Coding for the code is really a bad idea. We code because we want to solve problems We are coding to simplify people life, right? And Symphony is just a set of tools Symphony is not Drupal 8. I will even say that for most people Symphony should be hidden This is just an implementation detail Symphony solves the Lolliver architecture of Drupal And it should simplify the life of Core developers But it should not get in the way of regular Drupal developers and in the next coming month, we need to work together to find this right balance And again, we are here to share our experience. We are here to help That's all for today. Thank you


Nucleic acids are one of our four classes of biomolecules. We've looked at carbohydrates, we've looked at lipids, now we're going to look at nucleic acids, and we're going to look at proteins in this section as well. So let's get started. Let's do a definition to start with of a nucleic acid. It's a biomolecule. But like all of our biomolecules, it's made of subunits. And so we can almost define it by what it's made of. Made of nucleotides. And there's many different nucleic acids. DNA is an example of a specific nucleic acid. RNA is an example of a specific nucleic acid. And we have different kinds of RNA that, again, that's the category of organic molecule that we're talking about. All of them are made of nucleotides.  First of all, my picture is wind-ified. Because this isn't really what it actually looks like. First of all, all nucleic, all nucleotides have, this is a nucleotide right here. The nucleotides have a pentose sugar. Pentose sugar. And a pentose sugar just means there are five carbons in the sugar. Glucose is not a pentose, actually, I think it might. No, it isn't, a pentose sugar because it's C6H1206. So if it has six carbons, it's not a pentose sugar. I'm going to tell you a couple of examples of pentose sugars. One of them is deoxyribose. That's a pentose sugar. Oase often tells you sugar, glucose, fructose, lactose. Another pentose sugar that we're going to look at is ribose. Ah, the plot thickens. So either deoxyribose or ribose are going to make up this pentose sugar in our nucleotide. Owned chemically bound to my pentose sugar in a single nucleotide, we have one phosphate molecule. Just like adenosine triphosphate had three phosphates attached, a single nucleotide has one phosphate attached to it. And then the other thing that all nucleotides have, I don't know why I draw them like this, this is a nitrogen base and it's just a molecule that obviously includes nitrogen. There are multiple different flavors of nitrogen bases. We have, maybe I'll write them all down for you. I'm not sure if there's another time when I'll do that. So let's do, our nitrogen bases could be adenine, thymine, guanine, oops, guanine, cytosine, or uracil. These are our possible nitrogen bases. And we're going to look at their structure a little bit more as we get into, like, what did Watson and Crick discover about this whole thing? Hmm, is there anything else you need to know? If you look at, I'm going to tell you two more things. My pentose sugar, I could actually draw it as a little, like, pentagram, is that a pentagram? Pentagram, I think so. And I'm going to tell you that the phosphate attaches to carbon number five. This is something that you might be, like, going, really? Why do we care about that? Carbon five is the carbon that the phosphate is attached to. And then another important carbon is carbon number three. And that'll become, that's important when we look at the overall structure of the DNA molecule. DNA molecules are made of multiple nucleotides. I'm going to show you what they actually look like from a molecular standpoint. Oh, that was the whole DNA molecule. But take a look at this. These are different flavors of nucleotides. This one is cytosine. You can see here is my phosphate. This is my pentose sugar. And here's my nitrogen base. Same thing over here, nitrogen base. You can see that the guanine has a different structure than the cytosine. The guanine is similar in structure to the adenine. Thymine and cytosine are similar in structure. But these are the basic building blocks that make up any one of our nucleic acids. Let's look now at specifically what the DNA structure, how a DNA molecule is built from these building blocks.


So, my name is Mihai Vagman, I'm a software engineer at Qualpera and I'm going to talk today about LibRafis Online, the client developed. So LibRafis Online consists of two parts, the server side and the client, of course LibRafis. And on the client we have Leaflet and open source JavaScript library and JavaScript as the main language to code in. So this is how Leaflet usually looks like. Many of you might be familiar with OpenStreetNet and Leaflet is actually used by big companies and they've recently reached the 1.0 version of Leaflet. We're currently using some 0.7 version. So we had to make some changes in Leaflet. Mainly we've added web socket communication to send and receive commands from the server and also to get the ties from the server instead of having a new URL for the images. So we're also caching more. For example, when zooming, they used to remove the old layer of ties and no longer do that. And some newer versions of Leaflet also discarded ties once they got out of the viewing area. So these are the steps to load a document. So we needed a different coordinate system, a different from the one that is normally used for viewing the Earth, because the Earth is drowned and we needed a flat surface. Luckily, Leaflet already had this implemented mainly for maps in different games. And we used that. So the tile at the very top left is the tile with the coordinate 0.0. And the axis goes from left to right and the y axis is from top to bottom. And images are requested from the server based on the coordinates. So each tile of 256 pixels represents a single file of a specific coordinate. So the server sends binary images and those images are transformed in data arise with which normal images are constructed. So this is an example of a simple image, a red dot. And that's a code example of how to create it. And this is what the document looks like in the browser. All of those are images and that blue rectangle is actually an image. And you can see the actual HTML code. So we've tried to cache a lot as much as we could because this improved the user experience when scrolling and zooming. For example, we do prefetch tiles outside of the viewing area after a time of user inactivity because we do not want to burden the server with tiles that are not visible while the user might be editing. So after a few seconds of inactivity, we start to load tiles outside of the viewing area and increasing border. We also can prefetch tiles from other parts. For example, in Epress or Kalk, a page is just a slide and you can actually prefetch a thing around it because that's all of it there. So we prefetch other parts so the part changing is a bit smoother. So we've added a scroll API based on the already existing timing methods. We did this because every time we need scroll bars because that's the natural way to navigate a document. And custom scroll bars can be easily added to the existing implementation. We also cut the mouse time so you can actually scroll in the mouse and move the document around without moving things in the documents and without selecting anything. Selections are implemented as an SVG overlay, they are independent of the tiles so the tiles underneath do not require to be repainted. Actually, selection works really well because the message that is sent from the client to the server is quite small so you can send a lot of messages in a short time. So we're actually tracking the user movement.  We also have selection handles for shrinking or enlarging the selections. Those are pretty handy on mobile devices and those from the browser, why not? So this is the typical scenario. We record keystrokes, we send them to the server. The server tells the client that some tiles are no longer valid. The client requests those new tiles and once they are re-rendered and they arrive on the client, they replace the old tiles. So it was a bit tricky to capture the keystrokes. So we actually have a hidden test area in which the user types and we capture the events. We had some compatibility issues because keyboard events were different across browsers. So some keys need to be treated differently. For example, the tab key would change focus in Chrome but in Mozilla would do nothing and so on. Also the workspace would cause the web page to go back. Images can be selected and moved and resized. This is how an image selection looks like. It's similar for shapes and other objects. Copying. So we need the keyboard event to actually access the user's keyboard and due to security reasons access to the user's keyboard is very restricted. So we cannot initiate ourselves a keyboard event. We must wait for the user to press conferencing or what is it. And we must modify the data inside that event so that the user gets what he had selected. And the pending plan must be handled synchronously because I assume due to security reasons as well it will somehow expire and the keyboard gets detached from the event. So we actually need to get the selection content on the client before the user presses conferencing. And we do that by quickly requesting the selection content after the user selects something. So about 150 seconds after no activity we get the selection content and it will be there when the event arrives. So there is ongoing work for a keyboard API. But I understand this is a working draft. And there are some hacks to actually have access to the user's keyboard. There is a zero copy library which is a hidden flash movie. And when the user clicks on a button or clicks on something in the context menu the data gets copied to his keyboard. But this also requires user interaction so it's still not perfect. And also flash is going to be deprecated pretty soon so it's not the way to go. And also there is a little support unfortunately for RTF formatting. So we now only can offer plain text or HTML formatting for the selection content. So we have methods of interact which the user can interact with the toolbar. Developers can very easily plug in their own toolbar and modify the existing one. So the document can actually be viewed without any toolbar. It's just a just an area in the browser where we can pan the document and edit and so on. So this is what the toolbar looks like in the ClutchIt toolbar. So we have the most common buttons like bold italics and so on. Telegraph alignment. We can select fonts, styles and font sizes. We also have buttons for zooming in and out and changing the page. This is what the font selection looks like. We also have a search bar. We can search backwards or forwards. And some features that I want to say that most of the toolbar buttons work through unicomments like bold and so on. But we also have some of our own methods like go to page or go to part enable editing. There's a button next to searching to the left which enables editing. When disabled the user can pan the document and interact with it like you would do with a map. And while in viewing mode the user can also enable selection for the short time if needed. It will select text with the mouse. We also have previews for presentation documents and those previews are updated. So when the slide is edited the previews will also get an update after one second. We do this not to load the server too much with repending the whole slide for a small preview. So regarding testing it can be made automatically. We use the mocha framework which is a JavaScript testing framework. Dflat was already using this so we've extended their viewing tests. And we can also replay an editing session to get the average loading time of the tiles, the maximum and the minimum loading times. This is a test output which can be run in the browser. And an alternative would be to use the phantom.js library which actually has a known WebKit implementation. But unfortunately they have some old WebSocket implementation that doesn't work with our server. But they promise to implement some other WebSockets and as soon as they do that we'll probably switch to that. And this will give us a more automated test so we no longer need to run into the browser. And the idea is that to let the browser, I mean to let Dflat decide which tiles to request from the server and to actually take into account the time to load the tiles. And without the browser we would have to manually request tiles and it is not exactly desired to do it this way because we want to emulate an actual editing session and an actual interaction with the document. So about performance, the average loading time is quite good. It's below 100 milliseconds which is actually very smooth. You can't see the lag. And we're still working on improving it. I know that binary images take longer to load in the browser and we might somehow overcome this problem by loading them in another way. This is yet to be tested and we hope to have an improvement in there. So I have two demos for you. This is how you can time the document. You can also scroll to the next page and back. This is the selection enabled in the viewing mode. You can also zoom in. Scroll to the next page if you select the first page and move it upwards. Sorry. If you want to take the beginning of the selection and then move upwards. And then scroll to the third page. Yes, I think so. You can move shapes around. You can resize them. Do the text. No shapes. Searching shapes also works. So this is how editing usually looks like. As you can see it works pretty well. You can see when you're typing and what you're typing with no delay. You can switch the selection handles and the cursor moves with the end selection handle. Searching. So we have my table with a lot of fonts and as you can see we have a feedback of the current font. Selection with shift and arrows also works. This is a nice spreadsheet because I'm going to have an updated preview of the slide. Text rectangles. Sorry. The text rectangles. How do you get them? Which ones? If you do a selection or a search then you do a selection locally. So you must know what the boxes are. We get that from the server. We get the position where the selection starts, where it ends. And it's actually a perp angle that we get from the server. Ok, so the cursor movement is around you to the server? Yes. Most of the things are around you to the server but very fast it works. So the search is done on the server or on the page? On the server. We don't have text on the client. We just have files. Ok, thank you very much.


This research paper presents a novel approach to automatically detect and extract flooded areas and surface waters using sentinel 1 amplitude data. The proposed methodology was tested on three different sites affected by recent flooding events and achieved high accuracy rates of up to 98%. This demonstrates the potential of the proposed methodology as a reliable tool for fast and accurate flood and surface water mapping. This article was authored by Philsa Biresida and Puyson, Andres Dumpf and others.


I am honored to be here with you today, and I would also like to recognize the Romanian Government for the warm welcome and hospitality they gave us. We commend the decision to bring a humanitarian government to this beautiful city of Bucharest. Somalia is now running for a seat this term. However, we are very confident that we will be well represented by other member states in ITU. So, also, let me remind you, our friends here today, Somalia welcomes any honorary seats or titles within the organization, although we are now running. To succeed in digital transformation and connectivity for all, the ITU organization should support, should adopt a support safety net for most least developed countries. With that, I would like to bring an attention to you today that the resolution number 160 adopted during the 2018 ITU conference in Dubai, based on ITU union should support Somalia. We would like to be implemented, to see it implemented. Somalia's strategic location presents a great opportunity for the realization of its own digital agenda to connect the unconnected. My government has implemented a digital transformation strategy, priorities, like implementing an e-government policy and a strategy to improve good governance and service delivery, ensuring inclusive and affordable digital opportunities, developing skills, digital skills, and literacy, establishing legal framework laws, policies, and regulations for digitalization. Developing in digital economy with full smile connectivity and middle mind connectivity is also established. The establishment of a national data center on relevant data protection, cybersecurity capabilities. In conclusion, we fully support the book rest declaration to build a better digital future for all. We also urge others to do the same. Somalia is a digitally freeing country and open for business. I would like to also add, I heard a landlock from this podium today. We are calling you, I mean ITU members, close to the board. We have the longest day in Africa and there's no landlock, can't be filled in Africa or elsewhere. With that, I would like to conclude my remarks by saying thank you very much and have a good afternoon.


Hey, this is Brett and this 2019 Ram 3500 True Cab Long Box Dual Rear Wheel Laramie Level 1 is stock number 13517Z. I am here at Summit Automotive in Fond du Lac, Wisconsin, you're new and used heavy duty truck and Ram headquarters this 2019 Ram 3500 has the 6.7 liter Cummins diesel engine. It's paired up with the 6 speed 68 RFE automatic transmission. This truck has been fully safety and inspected by our service shop as a fresh oil and filter change. All the fluids have been checked and topped off and it is 100% ready to go. This one has a max towing capacity of 21,610 pounds and it has a max payload of 5,630 pounds. Found those on Ram's tow guide website, I'll link that in the description below. I'm going to go all the way around in this video. Inside underneath, start it up and take a look under the hood to give you the most accurate representation of the vehicle possible. Diamond black pearl coat is the color. Shoot all my videos in 4K so if you have HD capabilities, turn them on now because it is your best way to check out the quality, condition, options and of course cleanliness of the truck before seeing it in person. As you go down the driver's side here, the duly tub is in really nice condition for being a 2019 cab and doors are all in really nice shape as well. I didn't see any major dents or dings on there and the front fender is in really nice condition as well. If you like the video, you can subscribe to my YouTube channel which is youtube.com slash Summit Auto. Click the bell notifications to get updates on the videos I do each and every day here at Summit Automotive as well as access to one of the largest catalogs of vehicle walk-arounds on YouTube. This one has the polished aluminum wheels and it comes with Nexon Rodeon HTX tires. These are LT 235 ADR 17s and I would say they have right around half the tread left on them. Frame and underbody is exceptionally clean. This is a one owner clean title history, clean car fax out of Oregon. Has the LED headlamps, LED running lights and the LED fog lamps. Front bumper is in fantastic condition, no dents or dings on there. It does come with the front bumper parking sensors, the chrome trimmed grille and the hood is in really nice shape as well. I didn't see any major dents on there. It does come with the cab lights up top and the passenger side front fender is in fantastic condition as well. Passenger side front wheel, no major scuffs or scrapes on there. I really like Diamond Black, it's got a lot of gold flake in it. Really a cool color especially in the sunlight it really pops. And as you go down the passenger side here, take note of how clean that body is, how reflective and mirror like that paint is. I take these HD videos so if you are far away or even if you're close by and you just cannot make the trip down but you're still interested in purchasing the vehicle, you can see the truck, hear the truck and have confidence in the vehicle that you're looking at before you even get here so when you do get here, there's absolutely no surprises and you can make a smart and informed buying decision from wherever you're at. And if this video helps you make that buying decision, let your salesmen know that you saw the video, that it was helpful and that Brett sent you. Back wheel is in nice shape as well and the back tires have just as much tread as those front tires. Frame and underbody is exceptionally clean back here as well. It's like that all the way underneath has all the remaining factory exhaust. Looks like it did have camper bars on it at one point. Lower rockers and cab corners are in excellent shape and it comes with a really nice set of chrome western steps. They're in excellent condition. You also get the 3M tape on the front of the dually tub to help with rock chips and such. Fender flares, part of the Laramie package, coming around to the back. The rear bumper is in great shape as well. No major dents or dings on there and it does have the backup parking sensors. Full towing package, which includes the receiver hitch 4 pin and 7 pin wiring. And the tailgate is in very nice condition as well. I didn't see any major dents or dings on there. This one does come with a Truxedo, low pro, roll up tonneau cover. Same tonneau cover I have on my truck, I love it. Really nice condition as well. Comes with the fifth wheel and gooseneck prep package as well as a spray and bed liner. A little bit of light due to usage back here. Comes with 7 pin wiring and LED bed lights. That fifth wheel and gooseneck prep is a nice package to have and all those lights work nicely. That spray and bed liner goes on to the tailgate, which is a nice thing to have as well. For full disclosure, this back wheel, just as nice as the rest. Once again down this side, doors, cab, backside, all looks really good. It does come with the heated fold up tow mirrors. They have built in directional signals, blind spot mirrors, 360 cam, they fold out like so. They also fold in like that.  No rips or tears on those seats. You get the stitching in the backrest, the gray piping on there, factory Berber floor mats, auto headlamps, power pedals, power windows locks mirrors, you get these suede inserts with the wood grain trim, and these mirrors do power fold in. I always like showing both sides so that you know that both sides are working properly.  Seats are just as clean as the front seats, no rips or tears back here. It does have the latch child safety system for any child car seats you may have. Power sliding mirror window with the built in rear defrost. Seats are in really nice shape, it does have the load floor back here, which is nice. You got muddy boots and tools, put them on there, you're not going to get your seats all dirty. Or if you got pets, put both sides down, they got a nice flat place delay. And once again, they're not going to get your seats dirty, storage underneath. And you get the Berber floor mat back here, you get two USBs, two USB C's, and a 115 volt 400 watt plug-in. In floor storage with removable bins for easy cleaning, you can put ice and drinks in there.  Or if you're not in Wisconsin, just extra storage space. Get the child safety locks on the back and the inside and bottoms of the doors are in fantastic condition. We'll hop inside, check out the miles, the radio. And everything that this truck has to offer on the interior. You can see that this one has 20,441 miles. You do get the digital spinometer, and the summer cluster is very nice and clean on that 7-inch LCD display. You get the multi-function steering wheel. Steering wheel is heated, you get cruise controls, gear selector, Bluetooth and information center controls on the left, and audio controls on the back of the steering wheel. The 68 RFE automatic transmission shifter, and the 8.4 4C radio. This one has AM, FM, and serious XM radio capabilities. You also have your heated seats and cooled seats, as well as heated steering wheel there. And you have your surround camera, which you can check out right there. There's a surround camera, there's the backup camera. You get a wide backup, a wide front camera, a narrow front camera, and you can check out your cargo cam, and you can also check out down the sides of the truck, which would be amazing for backing up a camper, boat, or trailer. I wish my truck had this. You can zoom in on each side to make sure that you're getting your camper or trailer in the right spot every time. So that's a really nice feature, really nice system right there. You also have all your different apps, including Project Manager. You can project your cell phone to the screen via Android Auto or Apple CarPlay. You can do a demo on Android Auto with an 8.4 if you want to check that out, and you get the Alpine Premium Sound System. Heated and cooled seat buttons, heated steering wheel, you get dual climate controls right there, and more tactile climate controls, as well as volume and tune controls. Stability control, push-button four-wheel drive. There's your factory brake controller, factory exhaust brake, tow-haul mode, front and rear parking sensors. This one comes with an old-school CD player, two USBs, two USB-C's, and an aux jack, keyless entry with remote start, and the power drop down tailgate. And here's your 115V, 400W plug-in, and you get a sliding coin holder and cup holder bin. Dual glove boxes, passenger side format and seat are in fantastic condition as well. Smells very clean inside this truck. I don't think it's ever been smoked in, and the headliners in great shape. You get the speakers in the ceiling, part of that Alpine Premium Sound System, and that headliner is really nice. Like I said, you get the lights up there for map lights, power sign rear window button, power drop down tailgate button, and your home link buttons for your garage door security systems and lighting systems. I did want to show you the tire and loading information real quick, as well as the VIN sticker before we started up. There's that. Alright, start it up, take a look under the hood. We'll check out all those LED lights as well, because they are very nice and bright. Starts right up, no check engine lights or anything like that, other than my hoods open. I would personally like to thank you for checking out the video today, and hopefully from this HD video you've been able to verify the quality condition options, and of course cleanliness of this truck all the way around inside and out. You can see all those LED lights are very bright and working nicely, as well as the cab lights. Under the hood we have the 6.7 liter Cummins diesel engine, engine bay is very clean, runs very smooth. Once again, this truck has been fully safety and inspected by our service shop, has a fresh oil and filter change, all the fluids have been checked and topped off, and it is 100% ready to go, there is the emissions sticker. And I would highly recommend this truck from a quality and condition standpoint, and to see more pictures of this truck, or one of other 550 new and used cars, SUVs, minivans, Wranglers, halftones, sweet quarter tons, one tons, you name it, we got to go to their website right there, summitauto.com, full pictures and descriptions of every single vehicle, all at summitauto.com, and if you'd like to check out more HD videos, you can go to youtube.com slash summitauto. Click the bell notifications to get updates on the videos I do each and every day, as well as access one of the largest catalogs of vehicle walk-arounds on YouTube. In fact, a second new ceiling to subscribe to my YouTube channel in the upper left to link to more Ram 3500 truck videos like this one, the upper right link to this vehicle on our website and the lower left to link to one of our latest YouTube videos in the lower right, click those check us out, we're super excited to help you with this ultra clean 2019 Ram 3500 crew cab long box dually, Laramie level one and Diamond Black Proco. Thanks again for checking out the video. Remember to like, subscribe and share on the YouTube channel. I really appreciate it. Thanks again.


Hello friends, I am Sanjay Gupta. In this video, I am going to demonstrate you how you can print a name without using semicolon in the program in C programming. Before starting, you can note my information. You can watch or subscribe my YouTube channel through this URL that is youtube.com slash sanjaygupta underscore tax school. You can download my programming app, TechMS, which is available on Google Play. Now coming on to the topic, this is very interesting question which is asked in various interview examinations that how you can print your name without using semicolon in the program. So I am going to implement a code for you so that you can understand how you can do this. First of all, I am including a header file that is STDI dot H then in main inside main function I have to implement a statement which will display a name but I don't have to use semicolon. So if I write simple printf and I print my name so with this printf statement I have to use semicolon so without sorry using only this printf statement I have to use semicolon so I can't remove this semicolon because it will create a syntax error. So now the solution is you can use if statement and you can enclose this printf statement inside parenthesis of if and then you can open curly braces of if statement and you can just close it. So this way I have not used any semicolon in this program and my name will be displayed on console so I am saving this code now I am executing it. You can see my name is displayed on console and I have not used semicolon in the program. So friends you can use printf in place of condition with if statement. We don't have to use any relational or logical operator every time in if statement we can simply use printf or scanf in if statement they work properly. So I hope you have understood the concept it is very easy and it is frequently asked in various interviews and examinations so do remember this that how you can print your name without using semicolon in the program you can do it with the help of if statement. So I hope you have understood the logic if you want to ask any query related to programming languages you can comment me in this video you can also watch various programming related videos through my youtube channel the URL is youtube.com slash sanjay gupta underscore tech school you can connect with me by following these details which are available in front of you you can download my programming app tech ms which is available on google play so keep connected with me watch programming related videos because programming is fun thank you for watching this video.


Hi, my name is Kate Calvin. I'm NASA's Chief Scientist and Senior Climate Advisor. Thank you for the opportunity to speak today. I'm gonna talk about how humans are changing Earth using a NASA perspective, focusing on NASA research. One of the primary ways that NASA studies Earth is through space. We have more than two dozen satellites and instruments in orbit, including several on the International Space Station that are continually monitoring our planet. We've been monitoring the planet for decades so we can see both the state of Earth today as well as how it's changed over time. And we're looking at multiple aspects of Earth so we can see things like vegetation, clouds in precipitation, carbon dioxide, and much more. Just as an example, we have a series of satellites called Landsat. The first Landsat observations are from 1972 so we have more than 50 years of observations from the satellite series. What Landsat shows us is land use and land cover so it can show us where there are trees, where there's snow, crops, urban areas, deserts, lakes. And since we have more than 50 years of this data, we can see how all of that has changed over time. So when we look through those time series, what we see are things like urbanization. Our cities are getting bigger. We're also seeing declines in forest area in some parts of the world. And we see changes in the size of some lakes. One of the things we see when we observe the Earth is climate change. So this animation is showing temperatures it's using surface temperature data set but it's gonna show you temperature change over time starting in the late 1800s and working its way through today. 2022 was tied for the fifth warmest year on record and collectively the last nine years have been the warmest since modern record keeping began. We're seeing more warming over land than over ocean and more in higher latitudes than lower latitudes. It's not just temperatures that are rising though. There are other impacts of climate change that we're seeing along with those increases in temperature. So we're seeing declines in Arctic sea ice, increases in sea level. We're seeing more extreme events like heat waves and wildfires. And we're seeing changes in the water cycle including more heavy precipitation events and in some regions more drought. And I'm gonna talk through a little bit more of those later in the presentation. These changes that we're experiencing what we know about from science is that many of these impacts will either become more intense or more frequent or both as warming continues. This figure is from the IPCC's most recent report. So the Intergovernmental Panel on Climate Change assesses the state of the climate literature every several years and puts out reports summarizing it. And what this particular figure is showing is the hottest day temperature change at different warming levels. 2022 it was about 1.1 degrees Celsius warmer than today. This is showing this hottest day temperature change at 1.5 degrees Celsius, two degrees Celsius, three degrees Celsius and four degrees Celsius. And what you can see is these extreme heat events increase with future warming. We know what's driving the warming we're experiencing. So human activity and principally greenhouse gases have warmed our planet. This animation is of carbon dioxide concentrations globally. The colors are indicating the source of those emissions. So brown colors are fossil fuels, greens are more from land. We're also showing some of the what's called carbon sinks. So when you see the flashing over the Southern Hemisphere that's where carbon is being absorbed. So some of the carbon is absorbed by oceans and land. The rest remains in the atmosphere and traps heat leading to warming on our planet. We can take this information on carbon dioxide and convert it to information about emissions of various sources of carbon dioxide. So this particular graph is showing fossil fuel emissions. It's the annual average emissions between 2015 and 2020 by country. And so we can look at that and see where the emission sources are coming from. This is just an annual average for most recent years. If we were to look at this over time, what we would see is some countries have emissions rising, some countries have emissions falling, but overall global carbon dioxide emissions are continuing to rise. And with those rises in emissions we're seeing increasing warming. What we know from science is that warming will continue as long as carbon dioxide emissions are positive. Carbon dioxide isn't the only greenhouse gas. So this is an animation showing you methane and what you can see where the sources of methane are around the world. Methane has different sources than carbon dioxide, so it comes from things like agriculture, oil and gas, landfills and wetlands. Those are some of the sources of methane, but methane is also a greenhouse gas and traps heat. Per ton it's more potent than carbon dioxide. It also can lead to air quality concerns around the world. Just about a year ago, NASA put an instrument on the International Space Station that will help us identify methane. So this is an image from that instrument. The instrument is called EMIT. EMIT was actually designed to measure mineral dust. So mineral dust are these fine particles that reflect or absorb sunlight depending on their color. EMIT's goal is to map those. But the science team realized they can also observe methane using that same instrument. And this is an image of that, a methane plume over the Southwestern US. And this information is made publicly available so people can use it to inform what's happening where they live and take steps to address those emissions. So the increases that we're seeing in temperature are leading to climate change impacts all around the world. And I want in the next few slides to walk through some of the impacts we're seeing and what we might expect in the future with increased warming. So first, what this slide is showing you is data from GRACE and GRACE follow on. So GRACE and GRACE follow on are a set of missions that use a pair of satellites and they rely on gravity to measure mass change. So they can see things like changes in the mass of ice sheets. They can also show changes in terrestrial water storage which we'll get to you next. But what we're seeing is that with warming, we're seeing declines in the mass of these ice sheets. And so this is showing you both Greenland and Antarctica. The time series is showing you over time the total mass, but if you look at the individual maps of Greenland and Antarctica, you can see areas where we've lost a lot of ice as well as the bluer areas where we've actually seen some gains. As ice sheets melt, that water runs into the ocean and it's one of the contributing factors to sea level rise. So in this slide, we're showing you total sea level and what you can see is that has increased over time. This particular chart is starting in the early 90s because that's when our satellite observations of total sea level rise begin. But we do have some tidal gauge information that goes back much further that is consistent with these observations. So sea level rise is driven by a number of factors including ice sheet melt like we just saw on the previous slide. One of the other drivers of sea level rise that we're experiencing is what's called thermal expansion. So as oceans get warmer, they take up more space and that's contributing to sea level. We have a portal here. So this particular figure is looking at global mean sea level but what you really wanna know is what about sea level rise where you live? And so we have a portal on NASA's website if you look for NASA sea level change where you can click on different coastal cities around the world and see both how much has sea level risen in that community up until now as well as how much might sea level rise in the future. And that's really important for planning to think about where we might go from here and how much more sea level rise you might experience where you live. So sea level rise is not the only impact. This is an animation showing us some of the extreme events. So I mentioned earlier that climate change is driving changes in extreme events. This particular animation is looking at wet and dry extremes. So as we're seeing increases in warming where along with that comes more heavy precipitation events and in some regions more droughts as it's shifting the water cycle. And what this animation is showing is an index of the total intensity of these types of events. So looking at duration, magnitude, and frequency of these wet and dry extremes. And so the blue dots are where you have an increase in a wet extreme. Red are where you have an increase in a dry extreme. And we're seeing both around the world. So we are seeing both increases in heavy precipitation events and flooding as well as increases in drought in some parts of the world. One of the other things we're seeing are impacts on hurricanes. And this is particularly relevant in recent months in weeks in the US. So this particular animation is looking at two different hurricanes over the ocean you're seeing Hurricane Franklin. But we're actually gonna zoom in on Hurricane Adalia in the Gulf Coast. And what this is using the global precipitation measurement mission to measure the precipitation from a hurricane. And one of the things we know from climate change is that we're seeing a larger proportion of category three through five hurricanes. So we're seeing more intense hurricanes and we're seeing more intense rainfall associated with that. And some of our satellite instruments and measurements can see both where the hurricanes are but also how much precipitation is falling as part of those hurricanes. So that's a lot about the impacts we're experiencing today. But a lot of what people wanna know is what's gonna happen next. And so this is another figure from the most recent intergovernmental panel on climate change report that's looking at the future. And this is using warming. So in this particular figure, reds and darker reds are warmer years and the blues and yellows are cooler. And what you can see here is that up until now we can look at the warming but how much warmer it gets in the future depends on the emissions. So there are different scenarios of how much more emissions we have in the future and higher levels of emissions mean higher warming in the future. And we can look at what that looks like over time and we can map out what we expect some of those impacts to be. But with increases in warming we're expecting more impacts and we expect more warming with higher emissions. So another question I often get is, well, what are we doing about? And so I wanna talk through a little bit about NASA's role in mitigation and adaptation. So what we do in response to climate change. We are a science and technology agency. So part of what we do is we develop technologies. We have a team, an aeronautics team. It's actually the first A in NASA is aeronautics that has been working for decades with the aviation industry to reduce the environmental impact of flying. They work in a few different areas. So one is in aircraft design. So if you look out the wing of your airplane next time you're flying you'll see that the end of the wings curve up. That reduces drag which means less energy use and less emissions. And that comes from NASA research. And that team is continuing to look at how can we design an aircraft so they use less energy and less emissions. We also work in the space of airport operations. So we have a project that's looked at how you can better time when you depart from the gate so that you spend less time waiting on the tarmac which means that you have less energy use and less emissions. And so looking at how can we optimize the way we were airports operate in order to reduce the energy use and the emissions associated with flying. The aeronautics team doesn't just work in terms of reducing environmental impact of flying. They're also looking at how they can use some of their research and their tools to help address some of the impacts of climate change. So they've been doing some workshops with the firefighting community to better understand the challenges that firefighters face in addressing wildfires. And some of those challenges have to do with how you observe and deploy fire retardant. So in some parts of the world we rely on aircraft to deploy fires to press it and you can only do that during visible flight conditions. So those planes can only fly if they can see where they're operating which means they can't fly at night and they can't fly when it's smoky. So we've been working towards how can NASA technology help with that? In particular, how can uncrewed aircraft systems help us better observe and respond to fires? Everything we do at NASA is open source. So we have a big effort going on across the agency about open source science. So the data that I showed from all of those Earth observing satellites it's already publicly available and you can get it on NASA websites. But what we're doing now is working towards making it more user friendly and easy to use. So the data is not just public but also that people have access to it and know what to do with that. And some of that involves us putting some of the tools and resources and making those publicly available in addition to the products. Some of that has to do with us moving data to the cloud so it's easier to use and you don't need a supercomputer in order to use that information. Some of it has to do with us putting more trainings out including trainings in Spanish language so that we can access a broader audience. But throughout everything we do we're trying to make sure that people have access to the information we do so that they can address challenges in their communities. As part of that Open Science initiative we have just recently launched an Earth Information Center. There is both a physical space in the lobby of our building in Washington D.C. as well as a virtual presence. This Earth Information Center is really designed towards engaging the public informing them about what information we have as well as making that information accessible to them. Because what we know is that people are making decisions that are impacted by climate change every day whether it's a farmer deciding what crops to grow or a home buyer assessing flood risk. And what we wanna do is make sure that what we know about climate is available to everyone else. And so we've opened this physical space in our lobby and we're building out our virtual presence on the web making sure that what we know is available. So thank you for the opportunity to speak today. Protecting our planet and sharing the information we have about it with the world is part of NASA's vision exploring the secrets of the universe for the benefit of all.


What has been your Moodle Moodle Global 2023 highlights? Well, the presentation is about AI, especially the ones that show plugins that are already using AI in Moodle, which I need to investigate more, if we can adapt them. And there was one also about the gradebook, how to think about the gradebook in a different way.