For almost as long as there have been roads, there have been professionals responsible for maintaining those roads, road agent, road supervisor, pavement manager, whatever the title, it never has been an easy job. Though our understanding of how to build better roads has increased and technology has advanced, today's road superintendent faces all of the maintenance problems of his predecessors, plus the pressures of ever tightening municipal budgets. To his advantage, he can call upon powerful sophisticated time and labor-saving tools such as the road reclaimer, high production profilers, the automated paver, and the tape measure. That's right, the humble tape measure is one of the simple instruments vital to the latest road management systems, and these road rating programs are really powerful tools. They provide many benefits to the town while helping the road supervisor perform his job more efficiently. An inventory of your road system eliminates guesswork. You have a record of every mile of road, and you know what its condition is. You get the information you need to anticipate needed repairs and improvements in your road system. That enables you to make repairs in a planned, cost-efficient manner. Maintenance needs are documented in specific numbers. You can demonstrate to town officials where road problems exist and project what they will cost to repair. That allows you to determine a total budget to repair all problems or to show which repairs will be deferred if the budget is cut. Established logical maintenance plans for the whole road network will allow you to resist pressure from individuals who want their road fixed first. Should town officials be sued due to an accident caused by a road maintenance problem, the courts are less likely to award damages when the town is following a documented road maintenance plan. So road management systems make sense for many reasons. But what's involved in putting such a plan together? There are several steps to be followed carefully, and a nominal software charge, but nothing terribly difficult. The rest of this tape will show you how to use a management system for unsurfaced roads that has been developed by the U.S. Army Cold Regions Research and Engineering Laboratory. It's called the Unsurfaced Roads Management System. The field manual, Rating Unsurfaced Roads, will give you even more detail if you decide to use the program. At the end of this video, we'll tell you how to get more information. In a nutshell, here's how the program works. First, roads are divided into representative sections called sample units. Next, all the problems within these sample units are measured and noted. Then with these measurements as a basis, a few simple calculations yield a number for each sample unit called the Unsurfaced Roads Condition Index, or U-R-C-I. Usually the superintendent's role is to choose the sample units and do the calculations. The road crew does the actual measurements. Now let's take a closer look at the process. First, we need to choose our sample units. This step takes some patience. It must be done carefully, but it's only done once since these same sample units will be studied yearly. Start with a map of all of your roads. To make sure that the sample units are truly representative of all of your roads, we will go through a three-step process. First, branches. Divide your roads into major recognizable units. In many cases, these will be entire roads. Identify branches with existing names whenever possible. Here we call Boot Hill Road BHR. Next, sections. Sections are parts of branches where road conditions are uniform. For example, Boot Hill Road shows four sections. BHR 1 is a mile-long gradual hill, pretty much the same throughout. After the intersection with Dodge Road, there is less traffic, so we call it BHR 2. BHR 3 has still different characteristics because it runs through a poorly drained area, and BHR 4 is a parking area for the town pond. Once you've chosen the sections, label them clearly on a map. Finally, we divide the sections into sample units, where conditions will be studied. In general, sample units are about 100 feet long, and you will want to take detailed distress measurements on about two of these per mile. Mark your sample units well, both on maps and with permanent stakes at the site. This stretch of BHR 3 has a problem with potholes, so we chose a sample unit that includes some of the potholes and some of the good road. The field manual will give you more details about making these divisions. With all sample units selected, mapped and marked, measurement may begin. As with any scientific procedure, consistency is vital. Be sure that your crew understands the importance of their surveys. Observations should be made at the same time each year, when the roads are in their best condition, and data must be gathered in a consistent fashion from year to year and from crew to crew. As the crew makes measurements, they fill out an unsurfaced road inspection sheet. They will measure seven distress types for quantity and severity. With this information, you will be able to calculate a rating called the Unsurfaced Road Condition Index for each sample unit. This index, based on careful measurement, gives you an easily understood profile of the condition of each road. The calculation may be done manually or with a computer program called Micropaver. To perform the calculation manually, refer to the Unsurfaced Road Inspection Sheets turned in by your crews. Start by determining density of each distress type. Divide the amount of the distress by the area of the sample, then multiply by 100. Here you have 100 linear feet of improper cross-section, and the total area of the sample unit is 1800 square feet, so the density is 5.6. Next, refer to the curves in the field manual for each distress type. An improper cross-section of low severity with a density of 5.6 yields a deduct value of 13. When you've determined all of the deduct values for the sample unit, add them to get the total deduct value. Here it's 64. The number of individual deduct values greater than 5 determines the Q value. Here we compute a Q of 3. Relating these two figures to the U-R-C-I curve, we find an Unsurfaced Road Condition Index of 59 for this sample unit. A section total is the average of all the sample units in the section, and the rating for the whole system is the average of all sections. See the manual for more detail. Now, how do we utilize this figure? Well, you may use the U-R-C-I to develop priorities for maintenance. If you set an overall target index of 65 and your current rating is 50, you can use the index to determine which roads you should improve with available funds. Since all improvements will probably not be completed this year, the data is useful in justifying next year's budget. The index also gives you a basis for projecting future requirements and tracking road deterioration with time. When the program has been in place for two or three years, you will know what maintenance practices work best on your roads and what they cost. This data will make budget forecasting easier and more accurate. These are just a few of the ways that this management tool will help you to do your job better. As you become accustomed to using the system, other benefits will become apparent. Contact CREL for the latest information on how to get started with road management. We'll send you a copy of the Unsurfaced Roads Field Manual. Also available is a videotape on proper road inspection techniques for the Unsurfaced Roads Condition Index.


Researching with microfilm can be difficult at first glance. This quick tutorial will help you get to the content you need. What is microfilm? Microfilms are scaled down copies of documents used for transmission, storage, reading, and printing. Images on microfilms are usually reduced to ¼ or 25th of the original size. The optical reduction may be greater for special purposes. Why do we keep microfilm? Microfilm is an antiquated medium, so why keep it? The reason is, there is an astonishing amount of material recorded in them that can't be found anywhere else in our collection. Many microfilms have documents that no longer exist as original copies. Microfilms are packed. Microfilms hold an exceptionally large amount of information, from copious quantities of magazines and newspaper issues, written manuscripts, books, and many other research materials. Thus knowing exactly what range of topics are covered in a reel are impossible to know offhand. Therefore, we need a stratagem for tackling our microfilm collection. There are a couple ways to find out what's inside a reel of microfilm. We have microfilm guides on the left side of the study area on the 6th floor of the library. We have more guides hosted online. They'll be linked in the description below. If there aren't any guides in the library or online, then it's old fashioned detective work. You have to check each role for the content that may be included and if it aligns with your topic. Some microfilms have tables of content scanted to the film, usually for the issue you're reading. Use these like checkpoints in your research to see if it's worth going through a specific issue or chapter. If it seems important, keep it. If it looks remotely aligned with what you need, then capture those pages. You can sort them out more thoroughly after you get through your reel. Use your time wisely. Be inquisitive. If you're interested in the civil rights movement in New Orleans, scan the newspapers from that time. Learn the names of the local leaders and see if they appear in the guides and indexes for the FBI files available in the microfilm collection. How to find your reel. On the right side of the study area, there are several shelves of drawers filled with our microfilm collection. They are stored by collection and in alphabetical order. Each collection shares one call number with the addition of a real number. For example, microfilm 2010, 1130, reel one. This is reel one in the John Ruskin collection. All our reels are in our online catalog. If you can't find your reel or collection, please ask the service desk. They are always there to help. After you have your reel, there are microfilm readers near the front of the service desk. You may use the guides included on the computers or ask for help. I hope you find this information helpful in your pursuit of research materials. If you would like any more information on what the library can offer you, please feel free to check out more of our videos or visit our website linked in the description below. Thank you.


The ROG Falcon RX Low Profile 65% keyboard is very similar to the ROG Falcon Ace which I reviewed a couple of months ago with two key differences. One, this uses a new Omni receiver so other compatible ROG devices can connect to the same receiver. No need for one receiver per device and that's super useful. Second, the keys are much softer to the typing touch and quieter. These are for the touch typists who like to tap or graze the keys. The keyboard is very sensitive. You just need an ultralight touch to register the keystroke. The key toggle for the upper panel which is a touch screen was also a useful touch. Like the ROG Falcon Ace, this is an excellent wireless keyboard both for work and gaming and both as a main keyboard on your desktop or something you take on the go. But this is all you really want to hear in keyboard reviews so here you go.


If you really want to know all the details, I'll post them below It's a sweet machine But I want to tell you about what really makes this bike special about the heart and soul of this thing This is the love cycles bike. I rode this across the country in 2018 with Ali This bike connected us to wonderful people all over the USA from Oregon to New York City Our goal was to ride the back roads and to explore the hidden gems of this country while asking random people for love advice Along the way, we made tons of friends and shared those experiences with all of you To this day love cycles is by far the most watched series on my channel We learned a lot about our country that summer and explored new places like Idaho How come nobody told me how amazing Idaho is? This bike is unique. It's infused with 3,500 miles of love It's seen the waves crashing along the Pacific Ocean The lush forest of Washington the Columbia River the stunning vistas in Idaho the T-tons I even rode it in a motorcycle parade for the 4th of July It went up and over the continental divide into the prairies of Wyoming the cowboy trail in Nebraska Ragbride. Oh boy. Did we have fun in Iowa? Countless rail trails through the Midwest a short stint through Canada 500 miles of the stunning Erie canal trail Into Alley's hometown of New Paltz and after two and a half months. We made it to the Big Apple Thinking back on that incredible summer makes my heart really happy and Although Allie and I are no longer together We're so grateful for all the experiences that we had and yes, we are still friends But now everyone out there in the world It is time for this bike to take somebody else on a great adventure or many great adventures All right, so now I'm gonna tell you where the money is gonna go Half of it is gonna go to the bikepacking roots BIPOC Adventure Grant. BIPOC stands for black indigenous people of color Bikepacking roots is the only non-profit organization Dedicated to supporting and advancing bikepacking growing a diverse bikepacking community advocating for the conservation of the landscapes and public lands and creating professional roots The grant was created to help reduce the barriers to bike adventure for black indigenous people of color Individuals the grant will support recipients by helping fund a fun and empowering bike adventure I just learned about bikepacking roots, and I love what they're doing if you want to learn more go to bikepackingroutes.org Now on to the other half of the money and it's gonna go to black girls do bike They're all about growing and supporting a community of women of color who share a passion for cycling They champion efforts to introduce the joy of cycling to all women, but especially black women and girls They are establishing a comfortable place where female cyclists can support one another and they have over 85 chapters all over the US they encourage bike advocacy education Volunteerism and safety in all communities and corners of the world. So why did I choose these two organizations? Well, I think it's time. We welcome new people to the cycling and outdoor world Specifically people. We don't usually see people of color. All right. Let's get this party started This bike is worth about a thousand dollars But I'm thinking with the extra juju and magic infused in this thing It's worth quite a bit more. I will link below to the auction site on eBay Please share that with as many people as possible. I would like this to make a lot of money Also, I will sign the bike if you want whoever ends up winning this bike. The auction is gonna last Five days and I'm guessing that the majority of you out there don't need a new bike So if you want to donate to bikepackingroutes or black girls do bike I will link their information down below and I hate to say it But this bike is only gonna be available to people living in the United States The taxes on shipping bikes internationally are just way too much money So thank you so much for watching this video. Thank you so much for watching all of my other videos If you're new to my channel, I have all sorts of adventures by foot and by bike The whole idea is to inspire you to get off your couch So thank you so much my friends spread the word about this bad boy, and we will see you down the road


Tourism plays an important role in the economy of Fort Worth, bringing millions of visitors to our city each year. But have you ever wondered where the money comes from to help support this important industry? That's where the hotel occupancy tax, or hot tax, comes into play. The purpose of this tax is two-fold, to promote Fort Worth's local tourism and hospitality industry, and to increase revenue so we can preserve and improve our city's tourism assets. Hot tax dollars come largely from visitors to Fort Worth, from across the Metroplex, or from all over the world. Who come here for conventions, athletic events, a night out in downtown, or maybe a family fun weekend? These visitors pay a hot tax as part of their nightly hotel fee. But the hot revenue that comes in isn't just a free-for-all. It's used for specific purposes, like building, maintaining and operating convention or visitor centers, promoting events, art, and history, preserving historical sites and museums, and even organizing sporting events. The hot revenue collected by the city of Fort Worth is used to support operations, including the Fort Worth Convention Center, Visit Fort Worth, and the Will Rogers Memorial Center. The hot tax is one method of funding local tourism-related projects and services in our community.


So we'll call the meeting to order. First up is public comment. This is comment on anything not on the agenda, which is the public hearing and free informational meeting. Hearing none will move on to the town meeting 22. Public hearing and informational meeting. So maybe just as a reminder, article one would be the elections. Those aren't the types of things that we discuss, whether this would be town meeting day itself or here tonight. Those are all generally determined. Some of them are by Australian bout. Normal years, a few of them have been lumped into that. But so article one were the following officers. So there's a moderator to select person positions to listers, trustee public funds to library trustees. To budget committee members. For anything that doesn't have a kind of it. Those will have to be determined by, by right in or later appointment. And I don't know if you want me to go into article two and just do a brief overview or we want to wait to see if there are questions. I hope there's a method from last year that works well or. Well, I believe the town report has been out and available. Correct. Yep. And then we've got this. So maybe just take questions. If anybody has questions. If anybody with any questions about any of it. So this could be a record meeting. No questions, no comments, no nothing, then. I think we've met our, our attempt. It's not surprising we don't have much. Yeah. Yeah. So folks are looking for stuff. Page 12 is where all the budget stuff ends. There's a summary of what's changing an expenditure summary page, the detail pages from last year. The back end of that you can see pages 32 and 33 have special appropriations and estimated tax rate. Capital programs on 34, a couple of charts and graphs and then a debt service schedule. At the back end. All the classics are there plus a few new elements. And then you can see portions of the audit. We do have the school report in there. And I guess they're having a budget meeting tomorrow at six. And then they've got one on their warning for the 28. Maybe also at six. That would be in. The morning is in the town. Age. It's 70, 71. Great. So. Hearing no more questions and no comments. Anybody want to make a motion to adjourn. We have a motion and a second. All those in favor. Opposed. Well, thanks everybody. That was quick. Yeah.


Hello everyone, another Narc Spiver Live video. In this one, we do have a very interesting topic. The Narcissist will never be happy. You know, a lot of you may not feel too happy right now after everything they did to you.  They future faked, they lied to you. They devalued and discarded you. They did all of these things to you. And you may feel bad, but trust me it will pass with time. Especially if you are an empath. We can self reflect, we can process these emotions, we can heal our traumas, but unfortunately for these manipulating and deceptive Narcissists, it's not so easy for them. Because a lot of them lack self awareness, they don't self reflect. They don't process these emotions instead they deflect. So in many ways you unknowingly and unintentionally become there.  And the reason why you become that is because there wasn't an equal exchange. There wasn't reciprocation. You were led to believe that you were going to get something and you didn't get that. Or you were manipulated and deceived. You were harmed. You were led astray. And you didn't have justice. There was nothing in retribution as a result of what was done to you. And so that energy stays with them.  But they can't validate themselves. They need other people to validate the illusion.  But it's never the same. Because they can never find you. Which is why a lot of them, they will end up hoovering you again trying to get you back. And it's because they're seeking validation. It's because of the shame they feel. And they're trying to resolve it. So they're seeking that validation from you. And a lot of times it's usually in a sexual way. It's like all they really want is just to have their asses beaten down. Because it validates them. It tells them they're not so bad. They're okay. It's like they just want to come back so you can put them over your knee and give them a spank. And then they can finally feel like they're okay. As though they're not such bad people after all. But again, unfortunately for these narcissists, they do have a lot of ego and pride. A lot of arrogance and audacity. So a lot of them know they're not going to come back to you. They're not going to put themselves in a position where they could be rejected or humiliated. Where you could get the last word, the last laugh. They're not going to give you that satisfaction over them. Because of that, the trauma, the pain is never resolved. And instead they just keep going on from one third relationship to the next, trying to find someone to replace you.  But they can never find a suitable replacement. And you may find on their social media, or you may even see it in person. But they're trying to replace you with someone who may even look just like you. Or they may try to turn someone else into you. Because they're trying to resolve this trauma, this pain. They're seeking this validation, but they really want it from you. And it could be subconsciously as well. They may not realize it on the surface. But yes, this is what they're looking for. And that's why those of you who did experience the narcissist Hoover, you will have seen for yourself how seductive they can be when they come back. It's like the sex is very different after the breakup. If you make up again. Now they want to try all different things, all different positions. And it seems to last a lot longer as well. Because they really want that validation that they never got. And they felt like they were bad. They did something wrong. So they just really want you to give it to them. And for some reason, yes, it does work. It seems that your validation, it does fill in some kind of gap, some thing that they were missing. Because deep down, they know what they did wrong to you. And that harmed them as well. It made them feel a lot of shame. And it's like they just need that reassurance, that confirmation that what they did wasn't so bad after all. And they get that by you still wanting them. Especially sexually. But it's not enough for them to just think that you still want them. They have to come back with the Hoover and actually engage in sexual activity with you for it to be resolved. Because otherwise what do they do? They just move on and try to find someone just like you. Or they try to turn someone into you. But it just doesn't resolve it that way. And some of them they may have been carrying past traumas with them as well from previous relationships. And that's why you may have found when you met them, everything was so fast.  Because they were just trying to resolve it with you, what they experienced with someone else before. But they had too much ego and pride to go back to them and have sex with them instead to try and process it. So they tried it with you maybe. And then what you may have found as well is that they stayed with you for a few weeks or a few months. They still went satisfied. They still had these insatiable desires. And then before you know it, they were back with their ex. They were going back to them again. So yes, this is what you will find with them, how they just jump back and forth between relationships and what they're really looking for is that validation. This is why the hoovers are so common. This is why on average a victim will be hoovered about seven times by a narcissist before it's finally all over. Because what they're seeking is this validation. And they will try to achieve it through sex. Because that's what tells them that they're okay. But of course, yes, if the narcissist you were dealing with had too much ego and pride. And as most of them do, they had too much fear of being rejected and humiliated. Or even of being exposed. These types of narcissists are pretty much screwed for life. Excuse the pun. But yes, there's not much they can do in that situation. They're never going to get that validation from you. And they're just going to carry that same pain and shame into every relationship they get into. And even genetically, it will be passed down to their children as well. And maybe their children's children and it just goes on and on. So yes, believe it or not, it's actually the ones who are more the most egotistical, defensive and resistant narcissist.  They really do. Because they just can't let go of that pride and this false self-satisfaction. If they could let go of that, then maybe they would have a shot. They would be able to resolve it. But because they can't do that, then there's really not much they can do. And yes, they will just carry that pain and shame with them wherever they go. And it's just always going to be like that. So yes, it is sad. And despite what I've been through, yes, I do feel bad for them. But that's just the way it has to be for them. That's just how it is.  They will try and find you in someone else. But they will never actually find you. Or they'll try and turn you into someone else. Turn someone else into you, I mean. But it's never going to be the same. It's never going to give them that validation that they're looking for. Even though you will see them, they like to triangulate you with their new supply. And they flaunt it in your face. They put it up on social media. And they want you to see, oh, I'm so happy now with this new person. I'm living my best life. I'm having a great time without you. Well, that's just not the case at all. They want you to think that they want you to believe it. Because again, they're trying to get your validation. It always comes back to validation so that they can feel like they feel sane and okay. But they're not going to get the validation they're looking for by doing that. For some reason, it does appear to revolve around sex. And that's why when they, if they do who forgive, they will be very seductive.  Like this makeup sex. Because that seems to resolve something for them. Whether able to process these emotions just by knowing that you want them.  Then they feel satisfied. Then they feel good about themselves. So yes, that's really it. It's crazy as it sounds that is the truth. But of course, it's very, very different for us as empaths.  Because we can process these emotions. We can go within ourselves and heal. But for them, yes, it's very different. And it's much better for them if they can come back and get you sexually involved and satisfied with them. If they can get that then, and if they have gotten that from you, you will have seen it already. It's like they're on top of the world. They've resolved that shame. Of course, that they may still have shame from past relationships or from their parents, their mother or their father. But sometimes it even seems to resolve that as well for them in relationships. The trauma that they experience from their parents, it seems to get resolved when they are sexually involved with someone too. So these are all important things to take into consideration. Of course, it is very different for us empaths. We don't tend to resolve these things sexually in relationships. I mean, some of us might, but it's just different. It's not the same. For narcissists, it is more that they have this emotional dependence which is resolved sexually through their victims. I'm not too sure why exactly, but it does just seem to process these emotions. It resolves something for them mentally. Yes, you will see that if they have engaged with you sexually again following the end of the relationship and they hoovered you, but otherwise, yes, if they do have too much ego and pride, then they will just move on and carry that pain and shame into the next relationship while still acting as though they live in their best life, as though they're so much happier without you when you should know that that is not the case at all. They're not happier without you. They're a lot worse, especially if there was no hoover attempt. If they didn't even try to come back, not even once, because you will know if you have experienced a hoover attempt already and you had that makeup sex, they really put a lot of energy and enthusiasm into it. They really go over the top and outdo themselves more than ever before for that validation. And yes, it can be quite an experience for you too, but you do need to be very careful, because that will only be in the beginning and then they will return to normal, to where they will return to abusing you, giving you the lies and the future faking. They will return to doing that again. So yes, you do need to be very cautious about that, but yes, I can understand it can be very tempting and enticing when they come back and they're so seductive, they're all over you.  Because to do with the trove on and how they're letting them back in because you're seeking some form of validation from them and gives your power away to them, which they can then hold on over you as an advantage, which can then give them an influence over your behavior and even direct the course of events. So definitely these are things to take into consideration. If you are thinking about letting them back in, I'm not saying that it won't be sexually satisfying for you and that it may provide you with validation as well, but you have to consider the after effects and how it will quite possibly push you back because you may be desiring more a relationship, all of these things which they won't be able to give to you, they will only give you lies and future faking. So yes, be careful, be very careful. Remember they are seeking power and control. So when they're coming back with the seduction and the love bombing, that's what they're trying to do. They're trying to gain power and control over you and of course we should desire to empower ourselves. That's where our power comes from, validating ourselves instead of letting someone else validate us, which of course is what they want to do. They want to be the source of our influence and validation. They want to have power over us so it keeps us in a trauma bond. It keeps us attached to where our energy is constantly going to them because that's really it. That's how they get our energy. A lot of energy is transferred through sex. It may even feel like a soul tie, but yes, this is why the narcissist will never be happy, especially the ones who have too much ego and pride to even come back and hoover you. They're going to carry that pain and shame into their next relationship and they're just always going to be miserable. While as for you, yes, you may feel down in the beginning and that's completely normal, but with time you will be able to process those emotions and you will learn to validate yourself so things will be okay for you after some time, but for them it's just going to get worse. It's going to get worse and worse, but that's just how it goes for them.  So yeah, yes, that's it for this one. I'd just like to thank you all for watching and if you'd like to support our community you can give this video a thumbs up down below and let me know your thoughts as well in the comment section. I do read your comments every day, hit that subscribe button to receive the notifications for all of my future videos and if you'd like to book a one-on-one coaching session with me you can do that on my website at isnarksurvivor.co.uk and also check out my Instagram. It is NarkSurvivor YouTube and Instagram. I have pictures and videos of my travels on there every day. Thank you all. I appreciate the love and support and as always there will be more videos very soon.


Good afternoon, everyone. Elaine Schlescher is a freelance software engineer and WordPress consultant living in Germany. He is the maintainer of WPCLI and is sponsored by host to work on WordPress Core where he maintains a bootstrap slash load component and tries to tackle their architectural pain points of this popular CMS. Passionate about software architecture and code quality, he never misses an opportunity to share best practices and tries to develop his educational aspirations through public speaking and blogging. You can read his thoughts on code and other things at www.alainschlescher.com or say hello on Twitter under the handle at Schlescher. And please help me welcome Elaine, a lot of Elaine, a lot of Elaine Schlescher. Before I start, a quick word on the planned target audience for this talk. So it's mainly a developer talk that focuses on people that might have their own plugins or their own custom code that ties into the admin backend of WordPress and that might be affected by the changes that Gutenberg introduces. So this is not about how end users will deal with Gutenberg, this is how about how plugin developers and site developers will be affected by Gutenberg and how they can handle it. So first of all, Gutenberg will not only give us a new shiny editing experience, it will drastically change some of the architectural decisions that the editing experience is placed on. So there's a few rather major shifts that are happening with Gutenberg and they will force you to adapt to this with any custom development that might directly coincide with the areas that Gutenberg touches from now. As you might know, the editing experience is the first phase of what Gutenberg changes but it's planned to go beyond that and in later phases also add this block-based approach to other areas in the admin backend. So for now we're only concerned by the editing page. So if you edit a post, that's the only area where Gutenberg right now changes things but it will expand beyond that. So these architectural changes, the first one and the very obvious one is that everything all of a sudden moves from server to client. So right now if you go to the post editing screen and you make changes to the post editor and you click update, you will see that the browser tries to reload the page because the changes you made are sent to the server and then the server will process these changes of a system to the database and then send you a new version of the post editing page that contains these changes that you wanted to store. This conceptually, if you want to visualize this, you can see as I shown here in the diagram that the general state is served on the server side and the server always sends output to the client. The client displays that output and if you click on a link on that output, the link you clicked will request a new version of that page or another page from the server. So the server gets the request and generates new output to show you. This is how the old traditional way of WordPress works. And with Gutenberg, we will now move this to the client side and this basically means that the server sends logic and data to the client. In case that's not clear, the client here is your browser as a practical result. So the server sends logic and data to the client and then you stay within that client. The client manages its state all on its own while you're making the changes, while you click around, while you move blocks around and create new ones, delete old ones. And only when you go outside of that post editing screen will you get back to the server context and the server will send you a new page to load. So while you're in the post editor with Gutenberg, you are exclusively working inside of the client side of things and the client only sporadically makes data exchanges with the server. But the server is not responsible for generating the output that you see. That is all handled on the client side. So this is a very fundamental change which has a lot of implications down the road and we will touch upon some of them. The most impactful one is the next architectural change which is the cause of that is that if you work on the client side, your code runs in the browser on someone's laptop. So you cannot just make a request to the database because the database does not exist in the client's context. There is no database because you're not on your server. So if you want to do data requests, if you want to query something, if you want to store something to the database, you need to pass through the REST API which is a protocol that allows the client and the server to communicate and to exchange data. So you cannot do a SQL query to directly grab something from the database. You can only make a request to the REST API and then process the response that you got from the REST. However, with this REST API, there's a few caveats that you need to be aware of when you're actually building your solutions around this. So first of all, requests are expensive in terms of their processing execution. So where, for example, if you do a direct database request, it will usually land on the same server or a server that's geographically very, very close to your web server and the request will be handled in a matter of milliseconds. All of a sudden, these simple requests turn into network ROM scripts. And these network ROM scripts, given that the one executing these is the client, so the browser, that client might actually be on a completely different continent than where your server is located at. So this network ROM script is much, much slower at several orders of magnitude than a direct database request. So this means that you really need to reduce the number of requests because they are very, very costly in terms of time. Then another effect is that these requests are also expensive in terms of bandwidth, which might actually be the type of expensive that you can express in dollars. Not everyone has cheap, reliable flat rates for data access. So if you do REST API request and you get a huge response back, the consumers spent with that might be very expensive for the people that are running your code. So if someone is on a smartphone in a third world country where they might be able to barely pay their telephone fees, if you just waste their bandwidth with random requests to the REST API and big responses, that is the type of expensive that actually costs real money to real people. So that's not only should you reduce the number of requests, but you should also try to only ever grab the things that you really need and not much more. Another issue you might face when you try to now use this REST API is that the REST API, in terms of its expressiveness, is purposefully limited. So it is based on the HTTP verbs. So there's a get, there's a post, there's a delete, a delete. And the REST API is meant to deal with resources. So you have a given set of resources and for any resources you have the basic operations like read, write, delete, etc. If you compare this to the type of expressiveness you can do with the database or with the HTTP code, you will see that this is much more difficult to then actually design your interactions, your data requests and so on in a meaningful way and often means that you'll have trouble properly mapping old behavior to this new REST API paradigm. It might require you to rethink some of the assumptions because they're not an immediate fit to how the web works and how the REST API works. The next big change with good work is that it is built on top of React components. So good work uses React as its base framework for displaying the user interface. It is a type of reactive programming where you modify the state and any time the state changes the visual representation of that change is automatically updated because it is reactive. So these React components, they are very modular and it basically means that you build code where instead of having one big piece of logic that deals with all the different interactions, you will split this up into self-contained components and each component only takes only this responsible for one small part of the interaction and then the art is to properly assemble these components and pick the granularity of these components so that the entirety of it creates this new type of interaction that you want. With these components, you can think a bit the change that you need to do. You can think a bit as of when you pass from procedural code to object-oriented code. This is the same as here from your normal linear HTML to React components that are self-contained objects and you assemble these objects. So it's a bit of a similar transition you need to do. But you don't need to start from scratch because WordPress will shift with a lot of base components that you can use to build them. So you can extend them, you can combine them in new ways. So you don't need to build something from scratch. You can start with the base building blocks that WordPress offers. There's a list of reference documentation for these components at the Gutenberg Handbook. So you find it under WordPress.org slash Gutenberg slash Handbook and there's a section on components where we'll see a list of the available components that you can build upon. The next big thing that you need to wrap your head around is the kind of data flow that will be included with Gutenberg. So Gutenberg uses Redux as its data flow underpinning. Redux means that the state and the state changes. They only ever flow in one direction. This sounds very ominous and does not tell you much, probably. It basically means that whenever you've got a given state into your code, you can rely on that state not changing. So you can make the assumption that whatever you've got, it stays that way and you don't need to add any checks, don't need to fear any concurrency issues or similar things. This works by creating a type of circular data flow by having the state always be injected onto the top of the tree of the object hierarchy and the state then traverses this entire object hierarchy and at the end it goes back to Redux. Redux looks at what was requested as changes to the state, applies the changes and then re-injects the changed state in a new iteration into the object tree again. So to make changes, you don't actually modify the state that you get but you create a change request that you pass on to Redux. So this change request will cause the state to be different the next time around you get the state. So it's an intuitive circular approach and you don't ever make direct changes, you request changes and you'll get the modified state the next time around. So to do this, there's a bit of a vocabulary vocabulary that React and Redux use to make a change request, it's called an action. Don't confuse this with the term action that you use in WordPress space. We're talking about a different type of action here. The naming is a bit unfortunate. In most other areas you would actually call this either an event or a command. Most frameworks actually work with a term command because you give an order to the surrounding framework to make a change. Here it's called action in Redux. So we just need to live with the fact that we now have two elements that are called actions in WordPress but keep in mind that this is a different one than one you know from the PHP side of things. And these actions, they are collected while the state passes through your object hierarchy and at the end Redux uses a concept called reducers. So reducer is a piece of code you can provide that knows how to turn a given action and an existing state into a modified state that takes the action into account. So it's called reducer because it takes two elements current state, it requests a change and it reduces it to the modified state. So the state that is ready for the next situation. There's an abstraction that WordPress uses which you can find on the JavaScript package WordPress slash data and this abstraction is basically Redux but with a few changes so that you can use it across plug-in boundaries. Because typically JavaScript is language that you normally bundle so you have one application and one collection of code and that's it and with WordPress that's not the case because you have multiple bundles you will compile with JavaScript. You have a core bundle and you have a bundle for each plug-in and so this abstraction that WordPress provides allows you to combine these multiple bundles so that they can all collaborate on the same Redux. This all sounds very complicated if you've never dealt with JavaScript before. I just wanted to let you know what the paradigm shift is that the state is immutable in the current execution context and we can only request changes for the next iteration and for the details if you happen to be in the situation where you need to implement this yourself there is lots of good documentation you can find on Redux and associated concepts I don't want to go too much into depth. So don't be too much afraid about this complicated way of how state is handled it basically means that you can rely on a few given factors that make it easier to build code that doesn't break at scale when stuff becomes complicated. So this is all very new concepts it looks all very interesting but when you have the current plug-in or the current custom side how do you get from here to there? The obvious choice might be to just rewrite the entire thing with these new concepts but this causes a few issues mainly if you have a business for example while you're rebuilding this your old code is outdated and your new code is not ready yet so you don't want to put yourself into a position where you just bet on being able to make a working product even one year's time because you won't rewrite everything from scratch in terms of business process in terms of cash flow that's just not a good solution so usually you don't want to you want to go at this in a gradual way and be able to always gather feedback all the time always have a working product all the time so we look now at how you can split the rewriting process of your existing code up into several granular steps that build one on top of each other and that always leave you with the working usable result that keeps your cash flow going so first of all the most basic changes you can make is to use server-side rendering server-side rendering is also called dynamic blocks in the Gutenberg terminology and it basically means that yes you create a Gutenberg block but that block doesn't know how to render itself it just requests the output from the server so basically back at what I've shown you in the beginning where the server sends the output instead of the data and the logic server-side render is an existing component that makes this possible it basically works by creating by providing a base block that you can just attach a server-side callback to so a piece of PHP code that will render HTML and every time the block is asked to update itself it will through the REST API trigger a callback on the PHP side PHP will render the HTML that you requested and will send this as response through the REST API back to this block so you only deal with the PHP side of things and you can reuse your existing PHP code so if you have a short code for example that already does its job by making direct database requests and then generating HTML out of it you can just turn this into server-side render component and wrap it into a Gutenberg block and all of a sudden you're already making use of Gutenberg while still reusing your old existing PHP code with direct database access keep in mind that this is meant to provide a legacy opportunity for people to create blocks and it comes with some performance implications because every time your block is rendered it will trigger this callback and you must ensure that this callback is not too slow to have everything grind to a halt this can be done by clever caching for example of the callback so that it does not always render from scratch but only every 5 minutes or similar functionality here's an example of how such a server-side render a block can look so you can see on the top left side that I register a block with a given set of attributes and this block has a render callback attached to it the render callback the value that I put into it it's basically just a PHP callable so here it's a function it could also be a class method or whatever else you want to use at the lower bottom we see a template that renders some basic HTML and in the top right we see our callback that uses output buffering to render this template into HTML and return it to the code that was requesting it and when you now add this code you will see that you will have a new block what did we call it WCSEA and anywhere you put this block into it will request HTML from the server and it will render the template you see at the bottom so I've stated several times now that normally with PHP code you do direct database access and that doesn't work with Gutenberg anymore so this is the main issue you will be facing when you have existing code because it does not only mean that you need to completely overhaul your user interface it does mean that all your logic that you have on the server side is basically useless because it could not possibly run on the client side even if it translated it to JavaScript it would not work because it just assumes that it would have database access that's why a next logical step to be able to move gradually would be to start creating an abstraction for your own code so an abstraction of the data layer basically means that you put a piece of code in between your regular logic and whatever it is that you use to read and write data from this allows you to decouple these two and would allow you to keep the logic going no matter what current storage mechanism you're currently using which is what we have to actually so once you have this abstraction in place and your logic is adapted to only ever work with this abstraction it creates a protective layer beneath this abstraction you can make changes freely and rapidly without needing to fear that you will break some of the logic from the other side of the abstraction I wanted to visually represent this so just assume that your existing code will directly query the database usually by using WPDB it could be worse though that you even directly do MySQL calls or so but usually people should use WPDB when you want to add REST API access to this there's no obvious way to just slide it in somewhere to have part of the code the direct database access and part of the code already be translated to REST API so it's an all or nothing approach basically if you want to use REST API instead it means breaking all the code and replacing everything by a REST API based approach and depending on what code you have that might be a matter of six months of one year of two years maybe of rewriting and testing everything until you have a working product again so if you put an abstraction layer in place all of a sudden the code is decoupled from the database and this allows you to randomly change whatever you want below this abstraction layer and you can even have partial changes so you can have from your 20 requests you can have 10 requests that go to the database still because that's the part of the code that you haven't yet adapted to wouldn't work and the other 10 go to REST API instead because that's the part that you had already modernized so it allows you to move gradually and keep it working all the time here's a bit of a code example how that could look this is of course extremely simplified it's meant to illustrate base principle so instead of doing direct requests for something here we have we have custom post type books and instead of directly using this custom post type instead of directly making requests to the database we create an interface and this interface just states the methods that we need so for example we have a method find all that allows us to retrieve all the books and while designing this interface at first we don't care how this is implemented and then in the first step we can provide an implementation that is based on WPDB and basically fulfills this contract that we set up by using WP query to retrieve all the books and all of a sudden if our logic only ever deals with the book repository interface instead of with WPDB we can make immediate changes to the way we retrieve the actual data in a transparent way without the logic breaking anymore but why use the REST API on the server side now because this abstraction basically means that you haven't used REST API already but you haven't yet written the JavaScript code so what's the point in using REST API on the server side the point again is to allow you to make gradual changes and for example you can already use REST API exclusively on the server side which allows you to model everything to design everything to test everything while keeping everything working and the REST API once it is in place it doesn't care anymore whether you're on the server or on the client so instead of starting with client code and then building everything in a very risky way to make the client code work we go the other way around the way the things on the server that make it server only and by doing that we will end up with code that already uses the REST API it still runs on the server but then it's just a matter of translating it into JavaScript and it will immediately work because we've set the ground work to make it work already here we have another implementation of our book repository interface and this time we call it REST full book repository because we're already using the REST API but still in PHP on the server side and this uses the fact that the REST API the way it is building in WordPress is just by running a lot of objects that collaborate together you can directly use these objects on the server side to make requests to the REST API so instead of making an external request through a URL to the server we can actually directly create the objects we need from the REST API and use the REST API endpoints without needing it to make a network launcher so we get direct immediate REST API access, we can test everything we can model everything, we have a lot of time of our REST API endpoints but all the time this keeps working and it does not even slow down our code because right now we're not even doing network round trips so now we have an abstract data layer we are ready to make the REST API work for us the next step is a bit of a special one because for most of you you will not be able to just say my product from now on will only work with Gutenberg because not everyone will have Gutenberg in every single combination of their site but everyone is able to immediately use it and you don't want to just exclude half of your customer base because they happen to not yet be migrated over to Gutenberg so ideally you want to make your code work with or without Gutenberg so this is what this next step is about if you're now starting to build your new Reactbase Chinese JavaScript front-end magic to make everything work inside of Gutenberg you should think about building it in such a way that you can use this independently of Gutenberg it just happens to use React but it doesn't require Gutenberg to work what does this mean? so with Gutenberg we can imagine at least three scenarios pre-50 sites post-50 sites with Gutenberg active and post-50 sites with the classic editor active and if we manage to reuse our components across these three different scenarios we can reduce a lot of the maintenance overhead because it's always preferable to build something that is slightly more complex and reusable across everything than to have a branching in our codebase where we basically need to maintain two different code bases that target two different platforms this is always much more costly in terms of maintenance and we want to avoid that so an example that already does that is the WordPress SEO plugin by Yoast they did a lot of work to create their integrations in the editing screen so that it's all based on React if you look at how it is implemented you can see for example here in the screenshot this is with Gutenberg active you can see on the right side in the sidebar there's the stuff that the plugin does to help you make decisions and you can see in the developer tools at the bottom that these are React components but if you have the same plugin and you disable Gutenberg you can see that you have the same component in a meta box below your traditional old school editing screen and if you look into the developer tools you can see that it's still the same React components and they are doing this by creating a meta box that provides a container that mirrors the Gutenberg environment it's a very basic abstraction of what real Gutenberg does but it allows the existing React component to just hook into that meta box instead of the Gutenberg sidebar so the component is exactly the same it doesn't need to be adapted to multiple platforms it's just that they spend a bit of time to create a meta box and accept these React components in the same way that Gutenberg does here's a basic piece of code that shows how this is done so WordPress provides packages that you can just pull in through NPM that are the same packages that Core will use starting with version 5.0 but you can already pull them in with other versions inside of Gutenberg and we use the exact same packages and with these packages you can set up an environment that mirrors what you would have in Gutenberg so here it includes this snippet editor for example inside of the meta box basically provides the fill mechanism and the sidebar implementation that Gutenberg normally provides now for the final integration in the long run you want to control the fragmentation of your code so make sure that you try to avoid just splitting up your codebase into Gutenberg and not Gutenberg you want to get rid of anything that is not reusable across all the environments you should keep your codebase flexible because Gutenberg is moving fast we're not yet sure what phase 2, 3 or 10 will bring so you should put yourself into a position where you can easily adapt to change that is probably the most valuable approach you can take and finally once you've covered all the bases think about how to properly embrace Gutenberg make the most out of the different user interface that Gutenberg provides because the user experience that you designed for the old editor might have been the best one you could come up for the old editor but it's probably not the best one you can come up for the new one so the key takeaways re-use existing code through the server-side render component abstract away your data model move it to the REST API build React containers with reusable React components finalize a tight user interface and user experience integration and most importantly stay flexible and adapt to change that's it for me so all the components are based on React to Bases so if it is React to Bases so will it be accessible for using the standard to develop a plugin on using Gutenberg? you mean like using jQuery for example jQuery like JavaScript functions yeah so that will be problematic because the paradigm is a different one so for very basic things you might still be able to pull it off to use something like jQuery for example based JavaScript functions but these generally in your the state model that React uses if you build everything so that it has immutable state and then use jQuery to go in there and make changes nevertheless that would probably need to allow difficult to diagnose bugs later on so it's not a good approach ideally you would work with components they might not necessarily use React but at least you should be aware of how the state flows inside a Gutenberg editor and make sure you're not disrupting that state flow what does this mean for people who are non coders? so for non coders it generally means that if all the plugin authors and the theme authors now do all of this then you need to worry too much about things if you have websites for example that you run it might mean that you need to hire developers to make changes once Gutenberg comes because not everything just works out of the box and depending on what you're using that makes deeper integrations into the editing backend you might need to replace plugins or change some of the custom code so it might mean that you need to spend some time and money maybe hire a developer to adapt your slides to this new way of working for everything you're talking about does that affect mainly just the editing mode or would a page view by a normal person on the internet cause these REST APIs to be called in React components to render for something as simple as a paragraph so for normal Gutenberg components it works that way that the JavaScript logic of the component is only executed on the data side in the editing backend and when you save your page it generates the output for that component and stores the output of the component into the post-content field in the database so on the front end normally you just read the end result so no JavaScript code is being executed it should just work that's how it should behave this doesn't mean that plugins will now do other things that might cause JavaScript to execute or something and it also is different for dynamic blocks so dynamic blocks like I showed in the server side render component they don't store their result in the database they only store the reference to the block they are the block ID and it attributes how it was configured and every time the dynamic block is meant to be displayed it will actually be paused out of the component and this render callback will be triggered to retrieve the real HTML content that will be pasted here so for dynamic blocks they actually incur at least one REST API request because that REST API request is the one that triggers the render callback on the server side interesting talk I'm also not on the developer but could you describe the intent of these structural changes other than the benefits of being able to not have errors that propagate so easily is this more efficient in terms of it's not requiring these websites will not require some bandwidth in the future because so much is happening now on the user end or could you describe the intent of the structural change do you mean structural changes that Gutenberg introduces correct so Gutenberg is mainly focused on changing the editing experience and it's not so much about how it will behave on the frontend actually right now they're still working on optimizing the frontend output so that it doesn't incur performance when Gutenberg is being used so it's all about making a shiny new editing experience that allows you to stay in that editor and have everything be very interactive but that means that while they designed it the topmost priority was the admin backend not how it behaves on frontend of course this was considered as well what it means for the frontend but there's still some things that need to be figured out to optimize it properly because right now it will be slightly less performant than the old way of having a frontend is this going to change the file structure it's really used to like going in and FTPing in and looking at the PHP files and such is this going to be a whole new paradigm of what we'll be looking at on the backend yes absolutely this is one of the main criticisms of Gutenberg actually because it will change from PHP files that you can just modify and neatly see the results more than javascript code that needs to be compiled and bundled before it can be executed so we need to have a build pipeline that always compiles the javascript code if you just make a change in a file it does not do anything because you're not executing the source files, you're executing the result that was generated by your build pipeline so you not only need to learn javascript but you also need to learn how to set up the build tools and build a proper build pipeline that compiles and bundles the javascript code it's certainly a big change from PHP and it is a big change away from what has traditionally been one of the strong points of WordPress that anyone can just tinker with it and learn while building with this new React-based javascript approach there's a lot more steps involved and it's a much steeper learning curve to just get started Time for one more question your basic kind of question but let's say you want to extend an existing block and you just want to have to say button and you want it to have a border or a hover state I saw how you do that but you would have to go through the same with the same build process you don't compile a separate javascript you can just add attributes is that correct? So for basic use cases you can use an older syntax or javascript that so let me step back so with javascript, javascript is in a constant state of flux the language is being reinvented all the time and there's older versions of the syntax that the browsers can directly execute because the browsers have caught on to that syntax and there's more newer versions of the syntax that are not yet directly executable by the browsers because they didn't have the time yet to implement everything so these new types of syntax versions they are transpiled into older versions so that they can be executed in the browser and for simpler use cases you can actually use an older type of the syntax without any bundling and just have a basic javascript file that can directly be executed in the browser and you can then just enqueue this javascript file and then that will work but as soon as you start doing more complex changes this will quickly fall apart because you need to pull in all sorts of dependencies to make this work and in a non-bundled, non-compiled version of javascript you cannot pull in these dependencies if you want to do something very simple if you want to start from scratch then absolutely start with a basic javascript file but there's also another option there's a few ways of creating a block where everything already works in terms of scaffolding the entire setup and you can just put your logic in and the entire build pipeline is already set up there's one called create good and block by amador-wise WPCLi provides a way to scaffold so depending on what it is it might make sense to just use that kind of scaffolding to get you set up with the proper flow and you can already do a minor change and it works and then later on slowly learn what it's actually doing what you've built great talk, thank you Amon


There is little evidence on the extent of awareness, treatment, and control, ATC, of diabetes among adults in India. We used data on 2,078,315 individuals aged 15 years, and over from the recent fifth round of the National Family Health Survey, NFHS 5, 2019 to 2021, that was carried out across all the states of India. This article was authored by Suraj Maiti, Shamrin Akhtar, Ashish Kumar Upadhyay and others.


Good morning. I would like to take this opportunity to just briefly make some remarks. And I thank Kirina for sitting with the floor. I want to welcome all of you to Mexico, all of the commissioners. This is a very important commission. And the quality of the participants, the breadth of the participants, the wide expertise of all of you show clearly its relevance. I want it on behalf of the government of Mexico and myself to wish and to give the warmest welcome to His Excellency, Mr. Paul Karame, President of Rwanda. The government of Mexico recognizes the impressive economic and social progress in Rwanda under your presidency. We also appreciate your personal contributions to the definition of the new POST 2015 development agenda. Mexico really looks forward to working closely with Rwanda at the UN as well as bilaterally. The president has a particular interest in establishing sound political and economic relations with countries in Africa. And Rwanda is clearly a priority for us. As Mr. Carlos Slim said, we are confident that this will not be your first visit to Mexico and that we will have the opportunity to welcome you here again. I also want to welcome Dr. Hamadou today, director of ITU, and reiterate to him the full support of Mexico in promoting universal access to all information and communication technologies, including, of course, the use of broadband. I'm very pleased, again, to coincide with Dr. Dina Bokova, the director general of UNESCO and vice president of this commission, who has had a brief but very intensive official visit to Mexico. I do thank you for your most valuable support to the implementation of our most recent education reform. It is really an honor for me to welcome all members of this broadband commission. I would like to include in that welcome Dr. Dina Chandra, the UN Assistant Secretary General for the list developed and locked countries. And congratulate Mr. Carlos Slim for his initiative to convene in Mexico this important session of the broadband commission. The government of Mexico fully shares the objectives and goals of this commission. Today's deliberations will certainly help to a better understanding of the importance of broadband networks, services, and applications for generating economic growth and achieving social progress. Your report will be an important input to the elaboration of public policies and the strengthening of public and private partnerships. Expanding broadband access in every country is key to accelerating progress in many fields. And it's absolutely crucial for the accomplishment of the legion development goals and the development agenda beyond 2015. The applications of broadband, as has been already pointed out, go from assisting governments in the adoption of gender policies to education, health, food security, promoting the advancement of science and technologies for development. In today's world, broadband has been conceived as part of the basic infrastructure of every country, just like roads, airports, electricity, or water facilities. It is a unique and powerful tool for accelerating development. And it is remarkably cost efficient because of its impressive returns on investment. The government of Mexico fully supports the commission's view that high speed, high capacity, and internet connections are an essential element in modern society, conferring broad social and economic benefits. It is within this context that Mexico has engaged and made telecommunication reform a very relevant part of our agenda. Mr. President and Mr. Slim, please allow me to conclude these brief remarks by congratulating you both for having convened this important session of the Broadband Commission in Mexico and to welcome all commissioners to my country. I wish you all a very pleasant stay in this very beautiful city. We look forward to the proceedings and conclusions of this important forum. Thank you. Thank you.