Professor of National Taipei University, author and also political activist. Dr. Keating has written four books about Taiwan. His most recent book, The Paradigms That Guide Our Lives and Drives Our Souls, explores the different prisons through which one views life and might cause them to change. Certainly, there are many paradigms through which we can better understand Taiwan. Dr. Keating is joining us via Skype from his home in Taipei. Welcome to Asia and Review. I should say welcome back. This is your second appearance. Okay. Well, Bill, good to be back. Looks like you're pretty comfortable there in Hawaii. Yeah. You know, one thing about the weather in Hawaii, it's a lot more stable than the weather in Taipei. I mean, it's constantly warm and balmy and we're blessed by the trade winds. And yes, it does rain a little bit every day, but nothing like the rain in Nangong. I'm also told that Mujia in that section of Taipei, it rains a lot too. So I suppose we're blessed here weather-wise. Okay. Well, let's talk about your book. Okay. Tell us the paradigms, okay? Paradigms that guide our lives and drive our souls. Tell us, what's the thesis? Let's start off there with kind of a basic question. Okay. Maybe I should start with the throw out some paradigms, Bill, and then I think that people can relate to it because paradigms are both models and they're ways of perceiving reality. And so, like, if I throw out the Middle Kingdom, that's a paradigm that I've had. And the way also we have viewed China as regards Asia. Make America great again. You know, then you have to say, okay, what was the model for greatness of America? This flat, then a geocentric universe, a heliocentric, those are paradigm shifts. Usually you become aware of paradigms when you have a paradox or Hitler use to make, those are some examples of where they drive. So why should we care about paradigms? Well, I care about them because they are, though we don't realize it, they are the way that we perceive reality. Prisons through which we view life. They, well, they put us in a bubble in our perception of reality that isn't necessarily bad, it's the only one we have, but we need to constantly expand it. Both understanding our own paradigm if we can join it. Does that mean cultural understanding? Is that essentially what you're getting at? Yeah, an understanding in, let me throw a paradigm, global village which Marshall McLuhan brought in in the 60s. I think you would relate to that. I remember Marshall McLuhan from when I was a freshman. Okay, right, and you probably locked in, you know, the global village was a new way of looking at the world, at business, at trade, at communication. What you're going to be pushing for at the end of the book is a global home. That's the main, understand how paradigm is easier to make paradigm shifts because if you're open to new information, you can then be open to new paradigms. Hmm, interesting. You know, as you were talking about, you know, how you conclude the book, you know, a sort of a global paradigm, seeing the world in one way so as to, as I understand it, to reduce tension, to reduce acrimony, to reduce the possibilities of war. In other words, everybody lived in peace. It makes me sort of think, believe this or not, it makes me recall what Mao Zedong said about, you know, the Paris Commune. And his idea of society was that society should be built along the lines of the Paris Commune. However, the Paris Commune really didn't work too well at the end. Yeah, I just have to think of that as you were talking. Okay, I'm pushing, as I say, a global home. So when you have a global home, you then have to say the global family is the family of man. And that embraces all cultures, all religions. When you look at paradigms, we have these three realms of philosophy. And these are ways that we think the world should be. And therefore we have competing ideologies. And then, of course, phenomenology is kind of what's in it for me. And the way I think the world should be as well as what it is for me.  I'm for a utopia. I use the metaphor between parents, between children, siblings. The good of the family is the overall good. It's an important thing in expressing paradigms. So the family of man, different cultures have to get along with each other, like brothers and sisters. And, well, I know you've got at least a sister, but you probably had some spats with her in the past. Oh, never, never, not at all. So tell me, let's hold up your book again. Maybe, Zuri, can we get a picture of that up on the screen? Okay. And I'll put this to the side since it creates a little bit of glare. Is your book available on Amazon? If someone wants to go and buy it, can they get it on Amazon? Which seems to be the easiest way to purchase books these days. Okay, then I'm working on right now. I'm working with a couple of people to get it on Amazon and make it available. That cover, by the way, is the second paradigm shift that I have once, the global home. Now, that's going to be tough because it means we have to respect the environment and the economical system which benefits not a zero-sum game. That's the tough part. But the second paradigm shift then is that once we have established we can then look to our, going from that home to our destiny and the stars and the universe. And let's say, there are people that are looking at that already. Think of, like, who's at Neil, the universe that we belong to and that we can explore. Thinking, you know, when you think of when Magellan saved the world he didn't make it, but one of his ships that took it three years they knew the world was round, they knew they could make it but they didn't know how, they didn't know what they would run into. So a book like this takes a lot of research to write. I mean, you're dealing with all sorts of different fields of inquiry. How long did it take you to write it? At least two to three years. Now a lot of the ideas have been germinating since my graduate studies, the religions, and he spoke about cult having a sense of the sacred and the profane. Now the sacred and the profane are paradigmatic ways of looking at the world and through a sense of the sacred or a people's sense of the sacred you start to understand them better. So we're approaching reality. So what were the particular, we're coming up here on Break Here, but what were the particular challenges in writing the book? Well, I think the scope of it is so wide. Physics, metaphysics, phenomena blend together into one coherent message and yet keep it succinct enough that it wouldn't be too boring, you know, something that people could get a hand on, people could see as... Okay, we have one minute until break, so let me squeeze in this question here. How can we use your book and your exploration, your investigation of paradigms to better understand Taiwan? How can we use it? Okay, you want an answer now or you want a way to... Well, let's try to get this in before the break. We have about 45 seconds. Okay. Well, I think you have to look at what is Taiwan's national narrative and what is Taiwanese for different people. It's been upon three million people, the same as Australia. It certainly should not be upon a people, a democracy, that have of the world. Good, good, good. Well, that's... Azuri, can we go to break now? You're watching Think Tech Hawaii, exploring the world we live in, recognizing the changes around us and looking into the future of our lives together in these islands. Great content for Hawaii from Think Tech. Aloha, my name is Justine Espiritu. This is my co-host, Matthew Johnson. Every Thursday at 4 p.m. on Think Tech, we host the Hawaii Food and Farmers series. We like to bring in folks from the whole realm of the local food supply and agriculture, anyone working on these issues, any organization or individual that has plans or projects. What kind of people have we had on? We've had farmers, we've had chefs, we've had people from government, larger institutions, everyone who's working to help make Hawaii's local food system that much better. So you can see us every Thursday and join the conversation on Twitter, and we hope to see you there. Oh, we're back again. We're talking to Dr. Jerome Artidian. He's joined us via Skype from Taipei, Taiwan. Either way, he's lived there 28 years. There's a very good insight into Taiwan society and particularly Taiwan politics. First, by the show, we talked about his new book, The Deals to the Paradigms, and now we want to get into taking advantage of his knowledge of Taiwan politics and see if we can learn a little bit. So, Jerome, how would you evaluate the presidency at Tsai Ing-wen to this date? Okay, that's a good question, Bill. It's a, in some ways, a tough one to answer, and she's in her first year. She was elected on January 20, but took office on May 20 of 2016. So she hasn't yet completed her full year. I'd like to give an answer of 70%, but let me explain it. It's more, think of it like a term printed into her is getting into the process. It's looking good. You have to deal with, then we'll see how her team works them out. There was a huge demonstration in front of the president's office, and it was all about pension reform, which is a long-burning issue, an issue which the Kuomintang, the KMT, didn't deal with very well. What's your take on that? On the pensions? Okay, yeah, that probably, I would say right now, the hottest issue in Taiwan is pension and pension reform, and a needed thing. The problem of it has come a result of a dealing from the past one-party stake days. People in the Militation were given, they didn't have great salaries at that time, so they were given a great pension plan, and like many of them have, can draw 70% to 80% of their previous salary when they are retired. Now that's a great pension plan. It's better than any social security you or I can get. But they also can put a certain amount of money in the bank untouched in percent interest. Now, I don't know anywhere in the world that you can put money in the bank in percent interest and any government that could sustain that. So this is what, you know, has to be, those people are upset because they're... They're losing out. ...is being touched. Well, okay. And they are cutting it for both, you know, teachers and everyone, and the bank percent. There's no way you can sustain that. So this is the pension reform. It's going to probably hit the legislative yen in March. Okay. Well, that's...  All right. That's her key domestic challenge at the moment. Of course, her international challenge or her challenge in cross-strait relations, and I suppose that's international in that it ultimately involves the U.S. as well as China and Taiwan, is her refusal to recognize the 92 consensus. And should she recognize the 92 consensus? No way, in my mind. Perhaps we should back up a bit here and explain just briefly what the 92 consensus is for someone that might not understand what it is. Okay. Well, the 92 consensus is first a fabricated term by Xu Chi, and he admitted it in 2006 that he fabricated it in the year 2000. So now you have to look back. 92, that was just when the people were beginning to freely elect their legislators. So it was really a party-to-party consensus between the Guomingdan and the Chinese Communist Party. So that's the first part. And the second, you've got to look at the terms of it. You know, the agreement that there is one China, but they then limited the different interpretations. Now that one China issue, Bill, I think that's a good topic for you for a future show to really nail that thing down. It went to the United States and on her way to Central America. And they keep saying you've got to repeat the one China. One China does not mean the U.S. agrees to China's interpretation of what that is. And, of course, for China. Of course. Okay. Well, just for the benefit of our listeners. So why can't Xi, therefore, recognize the 92 consensus? What would the ramifications be for her if she did? Okay. A ramification of it would be, I think, that she would be accepting in a way, because Xi said, you're not only accepted the consensus that there is one China, but Taiwan is a part of China. And to be dealt with there. Yeah, we accept this. It's like locking yourself into a long, you know, we say, let's run the Taiwan Strait. Let's talk about dealing with each other. But let's not preset the game that you win at the end. Okay. So really, if Xi were to accept the 92 consensus, she would lose her party. I mean, her party, the DPP, the Democratic Progressive Party, is one that is obviously not very fond of China, and holds some hope of independence for Taiwan one day. If she were to recognize the one China policy, the 92 consensus, then it seems to me she could very well be in a situation that Shenzhen was in, which would be that when he was considered to be somewhat friendly to China, people left him and joined other parties. She would face the same fate, wouldn't she? Yeah, she'd kind of be, in a way, trapped the same way that Chen was, you know, they tried to trap Chen. If I were in that bargaining position, I would say, let's wait till you become a democracy and let's talk about it. That's not going to happen for a long time. I think we all know that. Well, how about her cabinet? How would you evaluate her cabinet? What about her premier, Mr. Doctor, I should say, an inchman? How would you evaluate him and his cabinet that he's put together? They seem to be having a lot of trouble. Okay, they go in here, Bill, you know, just to kind of liven it up a little, that, you know, we really haven't touched the phone situation and, in a way, got Taiwan discussed by other people. You know, I think that's true, but on the other side of the coin, it seems to me that call created a lot of trouble for Taiwan, too. Ever since that call took place, and of course it got everybody in Beijing all rattled and shook up, you had the thing where trying to put pressure on Nigeria to have the Taiwan Trade Office move from the capital to the port city of Lagos. You had, you know, some other events take place that seem to suggest that maybe that call, while I agree with you, I liked it in lots of ways, but maybe it's having some ill effects as well. I understand the trouble, and the trouble is real, but at the same time I would say it's necessary.  China will keep the pressure on and always, you know, retaliate in some way. But what this has done, of course, now it has shifted the attention into other areas. So I'm going to say, hey, we're still here, we're not going to be marginalized. Okay, we know we're going to get pressure, but we'll accept that. You know, a much better thing. Okay, we're down to about a minute and a half here. So let me squeeze in this question. Maybe if you could get a somewhat brief answer to this. How would you, since you've lived in Taiwan a long time, how would you evaluate a Taiwan democracy? I know I'm probably asking for a lot here and suggesting a brief answer in a minute and a half, but we've got to try to squeeze this one in. Okay, I see it as progressing very well, Bill. It's going through a lot of growing things, but I see it as definitely progressing. I'm going to throw out some quick things for you. I see, you know, transitional justice has still to be served. That will probably come in the summer. The pension thing, the state assets, those are things coming. An interesting thing, Bill, the KMT, here's a, they have five people now competing for the new chairman. That's a very unusual thing on the KMT side. And I'm going to throw in one more fact. Okay, and that'll probably bring us up to our close. So here you go. 97% of our people are covered by health insurance. Any country to match that? That's a really, really good point, and we all know the Taiwan health care, the standard is quite good and quite high. Okay, well, I think we're just about at the end. Okay, Bill, one more point. Well, I don't think we have time. I'm sorry, but we're out of time. Okay, it looks like our time is up again. Thanks, Professor. I want to thank Dr. T for joining us, and thank you for doing and sweet my guest with you all. I'm Taiwan scholar, Professor Jay Bruce Jacobs, and Monash University Professor Emeritus, joining us from Melbourne, Australia. See you then.


Hi guys, welcome back to my YouTube channel. This is Daniel Rossell here for today's video. I'm going to be taking a look at the back end settings as you can access them through the embedded web server or the EWS for the TP-Link EAP225. I'm using the TP-Link EAP225 AC1350. Yes, that is a bit of a lot of words to say. And the video here, I'm going to just be running through the main settings after you've deployed this on your network. Now you can manage this AP through the OMADA web controller and even through a phone app, which is pretty cool. But to get the most features from what I've seen, you go into this, you go into the web portal through a browser. And that's where the most settings can be configured. So when you get in the first page, you're going to encounter is going to be the status page. And here you're going to see the key details. Now, if you just set this up on your network, the first thing I would recommend checking is the firmware version. It's always a good practice to quickly look up the TP-Link website. In my opinion, TP-Link does a pretty good job at making these downloads available and easy to search for. So I just searched for EAP225, clicked on to firmware and found the latest firmware. And I'm not sure whether it was already running it or I updated it. In any event, it's working and I have it on now. So just quickly check what firmware do you have, 507 build, blah, blah, blah, and check that against what is actually the latest available thing. You can see it's the latest thing here. That's really all you will need to do here. But you will see the LAN port. Now the EAP225 has one single LAN port coming in. It's actually a PoE port. So it's power over Ethernet. So that port supplies both power as well as internet, which is actually extremely cool. And you can see here what speed the LAN port is. Mine's showing up as only 100 megabits per second. So I'm not sure if that's because it's a slow cable or it's just a, that's all the router can deliver the router that it's attached to by LAN. So hopefully if you've got a better system, this is not my home. This is somewhere in traveling, then you might get 1000 gigabits per second. In the wireless page here, you're going to get the status of your wireless networks. And you can also get the status of your clients that are currently connected to it. So you will have a SSID list and radio settings and radio traffic. Now I've just done a reset on this, on the router. So we're getting a kind of refresh, but this is just kind of useful if you want to get some top level stats here on how much data is coming in. I'm using band steering. So my radio traffic is being distributed between the 2.4 and 5 gigahertz networks. And I'll cover that in due course. You can actually get radio traffic according to each. And just keep an eye and make sure, you know, stuff is looking like it's working okay, etc. Client list, you can also see a list of your clients. For privacy reasons, I'm not going to go into the list of clients on my network, but that's where you would, you can find them. I'm going to skip over some of the features I think are not going to be so useful for your average home user because your average business system and watching this video probably knows way more about this product than I do. Specifically, I won't be covering QoS and WLAN because I have no idea. I've never had any use for either, for that matter, either Mac filtering. But here are some things you might want to change. I did a separate video about configuring band steering on this particular product. The quick and dirty of it is that you want to create two networks on both the 2.4 and 5 gigahertz channels. So you're going to have to enable those. They're not enabled out of the box. Give them names, create a WPA, a password. And you're going to want to keep the exact same network. You're going to have same SSID, same password, etc. And set those both up broadcast those both on the two channels and then click into band steering. And then you click enable and that will configure band steering. There are some settings you might want to nevertheless play around with here in the advanced settings of both these. So just show you quickly what they are. We have a wireless mode option. We have channel with option with options of 20. I'm on the 2.4 here. 20 over 40 megahertz, 20 only or 40 only. We can manually select the channel, which can be useful if you're dealing with stuff like conflicts. And we can also manually configure the transmission power between six and 24. So that is something you might want to do. Now there's more. Don't don't think that's all there is.  Again, if you're putting a bunch of these on a network, airtime fairness is not enabled by default. And then you have more settings. Now this is where it gets really into the kind of weeds that goes beyond my pay grade. You have stuff like beacon interval, DTIM period, RTS threshold, fragmentation threshold. And I don't know what any of those things mean. So if you do, you're you're ahead of me here. One thing you might actually want to do is create a captive portal. And the captive portal, they can be configured according to the SSID. So you can create different ones for different SSIDs. And, you know, these work as captive portals, you're when someone signs in, they're going to be directed to this, you can create a redirect URL. So after they log in, it can go to this page. And the customization is not wonderful. You can kind of put a bit of text here, put some terms of use here and a little accept.  It's more low level, but it's better than nothing.  Authentication type can be passworded or there's more advanced options, but and you can do no authentic, no authentication as well there. So there you go. Now, one thing I think might be useful is scheduler. You can associate it with an SSID or with with an AP. And what you can do here is at specific times, you can turn take down the radios or take up the radios. So you might want to say, well, the Wi-Fi network goes down to 10 pm, etc, etc, etc. And if you're doing a band steering, don't forget that you're still broadcasting two networks on two bands, it just looks like one band. So you would just duplicate the the rule there. I've covered bands during a few times already. I think it's the one thing that even your average home user may want to set up after configuring their router. That's why I paid attention to it. And as I said before, the instructions are same SSID password and password methods broadcast them both and then enable this. I'm going to skip over QoS. Rogue app, Rogue AP detection is one that probably is not going to be useful to your average home user. But, you know, it'll scan through the connected clients to this AP, see if any of them are in turn broadcasting their own SSIDs, in other words, acting as secondary APs, and then say, hey, this looks this might be fishy. So this is the kind of thing in a business or an airport or a big network as a cybersecurity function would be useful. But I can't imagine most folks in a in there just putting this up in their home would have reason to do this. In management, you've got some management functionalities. The one useful one I'm going to draw people's attention to here is the LED option. I'm one of those weird people that finds LED lights distracting. Maybe it just means I'm neurotic or crazy or whatever. So whenever I see an option for taking off the LED, I always go for it. So it's by default, of course, enable because most people aren't bothered by stuff. But if you know, if you have your AP in a bedroom or somewhere where that, you know, green big green light on this access point is going to be a visual distraction, you might want to turn it off. Here's another cool little one. I don't know why you would forget where your AP is. Perhaps I guess this would be useful if you have a bunch of them on the network and you're trying to say, well, let's just light up this AP so we know which one we're supposed to be putting the cable into. So that's what this LED locating does. It will flash the AP for 10 minutes, and then stop or until you click the button again. So that's kind of nice to know. Yeah, I would consider disabling this, although you won't get a visual indication that everything is up and running, if you do, I'm not going to cover SSHS NMP. I am going to cover two things in this final part of the system menu. Those are backup restore. I'm a huge backup advocate, and I try to back up literally everything. So if you've got your network up and running, you've configured a property, you say, hey, just in case, a, you might want to duplicate this onto another AP or B. So that's one use case. Second use case would be you just want to back up in case it goes bad and you need to buy a new one. So just keep backups. It just literally generates a file, a tiny little configuration file, and you can restore like this. Firmware update is also, I already covered this in this video. It's recommended to go and check that. So that's going to wrap up my overview of the embedded web server EWS menu for the TP-Link EAP 225 Enterprise Access Point. I think it's a great product for its price point. It's made a decent access point at a price that home network users like me can afford. Thank you guys for sticking through to the end of this video and more videos on this subject of networking and different subjects as well coming soon to this YouTube channel.


I have my colleague Abhishek Anand with me, we both work for Apia and our session is scaling Drupal8 and we believe that after attending our session, you will get to know about lots of good techniques, how to scale large scale websites and small scale websites within the limited infrastructure. Hi guys, so the session topic is scaling Drupal8, I will talk about scaling and we will talk about Drupal8, will that work? So a brief introduction from both of us, we work at Apia and we are working with the lightning team and we are working with lightning and we have some very good stuff there, so if you guys are interested we are hiring, come to our booth. So like I said, the topic is scaling Drupal8 but I think it's essential for us to understand what scaling or what optimization is. And why is it important and how and I will briefly cover what are the general principles of optimization and why should we do it. And then we will get into Drupal8 specific things, what are new in Drupal8 and we will see a small video in the end which will show some cool stuff that Drupal8 has in terms of optimization. So what is website optimization? Site optimization is basically the process or things that you do to make your website load faster. But the question is why do you want your website to load faster, is it important at all? What do you guys think, is it important? How important is it, little important or very important? And why is that? I don't really care user experience, I don't really care about Google introduction I care about money, I care about my sales, do you think that is going to impact it by a slow website? Why? That's right. So there are data to prove that. Amazon found that every 10 milliseconds of latency cost them 1% of their sales and 1% of Amazon's sales is a big deal and we are just talking about 100 milliseconds. And Google found that an extra 5 seconds in search generates a drop of traffic by 20%. Just imagine 20% of the traffic of Google, it's a big deal and just 0.5 seconds. So now you might know how important it is to load your website in a very fast way. How fast should the website load? It should load sooner than you blink your eyes, right? And we want to do that with Drupal, do you think Drupal is a very fast? No? Why? Why do you think Drupal is not fast? So Drupal is not fast is a, this question is very subjective. If I tell you Drupal is very fast in serving anonymous requests, is that true? Drupal is not so fast in serving authenticated requests. But can you tell me something which is very fast in serving authenticated requests? There's nothing which is really fast in serving authenticated requests because you need to build your page every single time. But for anonymous request, you can do a lot of things, you can get away with a lot of things. We'll see all that. Let's see a little graph. So x-axis, the horizontal axis is your page load time in seconds. And the vertical axis is the percentage of people who abandon your site. So if your site loads in four seconds, you will have a traffic drop of 25 percent, which means 25 percent of people are not, are bouncing off from your site because your site loads in four seconds. It's a big deal, 25 percent of your traffic. When we talk about optimization, there are two major aspects of it. One is how much your server can scale or how much request your server or your application staff can deliver concurrently. And we generally focus there. I should have a farm of servers and it should be able to serve all the requests. But even if you do that, there's one aspect. Your site can still be very slow. Imagine I had a lot of server, high-stale server, and still my site is slow. Do you think that can happen? And why would that happen? And why would network interfere in your site speed? Because the way you have made your application is not very optimal. There is a lot of things. The server has only a very small part to play in a request response cycle. It just delivers the page. 80 percent of time is spent on the network. The HTTP call that goes to the server and the response that comes back. 80 percent of the time is spent in the network and the rest of the, the rest of a small percentage is, it's not a small percentage, but a big percentage in rendering or painting the page. Your browser also takes time to paint your page. And I'm not sure if you know this, how many of you like panels a lot? And how many of you hate panels? Like equal number of people hate panels and equal people like panels. Who hates panels? And why do you hate panel? And why is that? C tools has to do things on the server side. It has nested, nested diffs.  Why? What is the disadvantage of that? It takes a lot of time to paint your page, the render your page, the render time goes very high. And that's a, that's one thing which kills a lot of web pages. And in, and you find this problem with a lot of people size, because people use panels heavily without even changing the DPLs. And at the end, their page, the server might be very fast, but at the end, the page does not appear to be very fast. Isn't being, it takes a lot of time to paint the page. Also they write JavaScript in a not so nice way, in a very blocking manner. And JavaScript is the biggest culprit in your page's paint time. We'll get into details of all that, but some basic stuff that everyone should do in optimization, optimization is that you need a very specialist, it's a specialist job to look at a website and tell what are the problems and how to solve them. And the first thing that you need to do when you are optimizing a website is to find the bottleneck. Do not go around optimizing everything because every kind of optimization comes with a cost. Right? If you're adding a reverse proxy in front of your site, there's a maintenance overhead. If you're adding a load balancer or a replica database, there's a maintenance overhead. So always know your requirement, find the bottleneck and then solve the performance problem. But besides that, there are certain things that everyone should do. Not doing these things is a crime. And that's what I'm going to talk about. And then we'll talk about Drupal 8 and other stuff. So never send uncompressed content to the browser. Your browser can decompress content in a Jiffy, very little time. But it saves a lot of network bandwidth. And Apache has a mod deflate and Nginx is very good at compressing your content. You can do that on the server level. You can also do that on application level, Drupal does that. Advanced aggregator module does that for you. But I would recommend do not do it on application level. Try to minimize the overhead of the application, do it on the server level. And if you're using Nginx, Nginx has one more beautiful feature. Every time it compresses a content, it saves a .gz extension in the same location. Next time, if you request the same content, it will try to find a gz extension. If it finds it, it will serve it. So it will not compress the content again and again. Combine, do not have too many CSS and JavaScripts. Always aggregate that, Drupal does this for you. You don't have to worry about this. But make sure, writing your code in such a way, do not add a lot of conditional code in modules. What people generally do is hook in it and Drupal adds JS on based on some condition. This is, that is not a good thing to do unless you really need to do it. Because more conditional JS that you add, there are more advanced aggregation will have to create more files based on pages. What it does is, it creates an aggregation file based on a certain page. If you go to a different page on which this aggregation is not valid, you have to create another aggregation. So try not to add conditional JavaScript unless you really need to do it. The best way to do it is to add in the info file. Make as less HTTP requests as possible. This can be achieved in multiple ways. Like the previous one, combining JS and CSS in a single file. Try to use sprites. Sprites, you guys know what is a sprite?  And then you save a lot of network requests. Maintaining sprites is a big overhead. So what you can do is there's a module in Drupal called CSS3 embed. You can always embed your images into your CSS file using base64 encoding. If you do that, you don't have to maintain sprites. It is not supported in IE7 and lower browsers, but if you support IE7 and lower browsers, then you'll have to maintain sprites. There's no other way. And then always have JavaScript at the bottom, never on the top, because JavaScript works in a blocking manner. When JavaScript resource is requested, it will block other contents from being delivered. So try to include JavaScript at the bottom. Using sprites, avoid iframe, I think we have already covered this. Always use a CDN. How many of you know what is a DOS attack? What does DOS mean? That's something which my grandfather used to use. Not even him. Grandfather of Drupal. In terms of experience and knowledge. So DinalOS service and how many of you have faced real challenge with that? And we are application developers. We are not server architecture architects as Drupal developers. So it is not your application job to find out DinalOS services and block IPs and things like that. CDN like Akamai or Cloudflare will detect DOS or DDoS. DDoS is distributed DinalOS services. It is smarter than DDoS because with DDoS attacks, you can block the IP address and that attack is gone. But DDoS is more complicated. They have different packet patterns, they have different IP addresses and everything is poofed so it is not easy to detect and check. So these series, they have expertise in doing this plus your server, all your static resources will be served from the CDN, you don't have to worry about that. All you have to worry about is the only HTML request that comes to your page which involves Drupal and other things, no static resources. The reduced DNS lookup, sorry, other point is always use cookie free domain, not a lot of people do this. I have a domain called example.com. I serve my CSS, JS and images from the same domain, but do you know what happens? What happens is every other request has cookies attached to it. What is the use of cookies in images? Can you tell me? Do you need cookies in images? No, do you need cookies in CSS? And cookies, HTTP is a, you know, the format of HTTP, right? So it will increase, if you pass a cookie and if you're using application like Drupal, your cookie might become a little big. So around 4KB or 5KB, you're wasting with every request. Instead of that, if I have example.com, I can create a domain like static.example.com and make that domain cookie free. All your static resources will go from static.example.com which will be cookie free and you will save at least 500KB of data on every page request, not 500KB, but 200-300 easily. So always use cookie free domain. Reduce DNS lookups. Do not have a lot of domains to be looked up in your web page, like do not have third party domains, like I have example.com, some other website, Facebook.com, Google.com. If you add more of domains, what happens is there has to be a DNS lookup and it takes time. So the more number of domains you add to your web page, the more DNS lookup will be there and hence the slower page. Remove duplicate assets. I have seen a lot of sites, outside Drupal, where jQuery is included twice. Some people want jQuery one per day, some want jQuery two, jQuery.no conflict and add another jQuery. Do not do this. Do not add duplicate resources. Use expires headers. I think everyone does that. We generally do not have to worry about it because Drupal takes care of all these things. But it's good to know to deal with expire headers. Expire headers and eat ads. These are very important concepts to be aware of. Sorry, I have used CD another time, but it's the same thing. Always use a reverse proxy. I don't think I need to talk more about this because everyone knows what a reverse proxy is. And if your user base is 80% anonymous, you should always, or 70% anonymous, you should still use reverse proxy. You should use reverse proxy in any matter, even if you have 100% authenticated users. Reverse proxy will help you in a lot. For example, Warnish will save things in memory. And even if you're requesting a static resource, there has to be a file IO, which is still expensive, more expensive than a memory lookup. So always use reverse proxy. Memcache has a lot of utility in Drupal. And outside Drupal world, people also use Redis. Both are key values stored. Redis is persistent. Memcache is volatile. But we generally use Memcache. What happens with Memcache is we map all our cache tables into cache bins in Memcache. So instead of a database request, like even when your page is cached in Drupal, you still have a database request going to the cache tables, which is nothing but a key value store.  So you can have those key values stored in the memory, and memory lookup will be a lot less expensive than your database lookup. So always use Memcache, and you will find that all your page starts loading a lot faster. Opcache comes built in with PHP now, so just enable it, and you will see a significant difference, even if you do that in your local machine. Database indexing, it is a separate subject in its own. It is one of the most complex parts of optimizing an application. But it is also the most important part because most of the time of a request on your server side is spent on the database. PHP only takes 30% of a time, 60 to 70% of time is taken actually by the database, especially in Drupal. So if you have unindexed tables, it's going to create a lot of problems for you. You need to find out your views, what are the queries that you generally use in your views, enables slow query log in MySQL. And try to find out the slow queries, and try to optimize or do indexing around those queries. And you will find a significant improvement in your application. There is a script called DBTutor available on d.o. Download that and try to use that on your site, and it will give you a good insight of what is wrong with your database. So till now we talked about anonymous user mostly, authenticated user, optimizing authenticated user is a big challenge. Till Drupal 7, it was not an easy task. How many of you think they have done a very good job in optimizing for authenticated users? I don't think there's anyone, neither me. But there were certain things not really worked really well, but it was still there. And there are a lot of examples which are, for example Blazemeter used to use AuthCache. What AuthCache does is it has to try to cache the static part of your page. And the dynamic part of your page will be, there will be token left on your page when the page request is sent. And those tokens for your authenticated part of your page is replaced with a subsequent Ajax request. That's how AuthCache works, correct me if I'm wrong. So that's how AuthCache works, what happens is in your web page, everything might not be dynamic. There will be certain blocks which are dynamic. There will be the header section where you have hello admin, hello username, there will be certain blocks. And some part here and there, otherwise the page, there will be another section of the page which is non-dynamic. So you can still load the page and serve the dynamic part later in an Ajax request. This worked pretty fine, but it was still like you will notice that there will be a page and there will be some static component there. And after some time it used to change. There was not a very nice user experience, but still it was doable. And that's how people used to optimize authenticated user in Rupal 7 at least. There's a smarter way of doing that, AuthCache also has an AuthCache ESI module. Do you know what is ESI? How many of you know what is ESI? It's like include. What AuthCache ESI will do is you don't have an Ajax request now, you have an ESI. And that ESI component will be fetched for the dynamic part rather than an Ajax request. So it's a better way than this. Now there's one more thing called big pipe which I will cover later and I'll show a small video on this. This is something which is going to make Rupal 8 very interesting. So we will see that later and this would be the way to optimize your Rupal 8 application. And it's pretty nice. We'll talk about it sometime later. Back to Navin to teach you some other things. Some are the big performance improvements in Rupal 8. We have now SSSIM in code that will provide a lot of functionality out of the box. So we don't need to take headache to manage the assets or CSS that whatever the level they will get altered. So it was a big problem for the CDN, for the varnish at the varnish level that got cache at the whole pages. We have the entity cache. How many of us know about the entity cache module in D7? It's in the core. Its whole functionality is in the core. And caching is enabled by default in the standard and the minimal profile. And all the assets and the CSS aggregation and JavaScript aggregation is enabled by default. So how many of us know about the cache API in Rupal 7? How many of you are aware about cache, get or set? A lot of us. That was the cache API in Rupal 7. It's just a fancy name. You use it every day. So how many of you have faced issues with cache, get, cache, cache set? Anyone of you like cache clear or? I like it when I have to take a side down. And there's something which is very interesting is if you enable devil module and look and enable queries on your page. You will see the slowest query is the one which is to the cache table. I don't know why it is very slow. So there were problems with cache API in Rupal 7. So the cache API in Rupal 7 was not so robust. But in Rupal 7, it's more robust than was in Rupal 7. It is designed not for the anonymous users, but only for the authenticated users as well. But the caching system for the anonymous system is same as in the Rupal 8. That was in Rupal 7. So there is nothing more changed with the anonymous caching. But it has been changed for the authenticated users. So there are a couple of things that cache API has. We have cache tags, cache context and cache message and for invalidations cache tags. So whenever in Rupal 7, sometimes we want to clear the cache. We directly do the cache clear all. So that's not the right way. It was clearing the cache for the whole of our site or our application. So in Rupal 8, we have cache tags here for adding the data dependencies in the render arrays that this particular part is dependent on this particular entity or so. So we have cache tags with us to manage the dependence on the data or the configuration that we have. So in Rupal 7, I have a module with a block that is displaying the Facebook like box. So in Rupal 7, what we need was we just passed a constant there, Rupal no cache. Do we know Rupal no cache constant? Yes. So in Rupal 7, it was also the same. If we don't pass any constant there, by default it will add the max cache that we will discuss later that if we want to explicitly not adding any cache metadata with any of the things, then we can use the cache max there. So in Rupal 7, we don't have anything render caching or fragment caching with us. So what we were doing is we were saving our whole of our HTML page and we were saving it either in our cache tables or at varnish levels or at our CDNs. So cache can be varied by variations from permissions to roles to URLs to from user roles to anything. So for handling those, as well as for access checkers, we have cache contacts here. So we just need to add the cache contacts with our fragments or our render arrays that we have. So we will add the dependencies that this particular part will be varied by this variation or so. The cache API will take care of that out of the box. So dynamic page cache is one of the modules which is doing the same stuff for us. So cache max as I was saying earlier that if we want that some render arrays to update explicitly ourselves that sometimes we explicitly want to clear the cache like I already said that cache clear all functions that we all like. So we can add the cache permanent or cache null as well. So one more thing within this cache API is that we have services with cache. All the caches are services in Drupal 8. How many of you know about these services? Yeah. So we can replace out all of our cache system with any of the system we like. So don't do that cache back and null. So it will set the cache to null. So we have big pipe. So that improvement, that idea came from the big pipe. So for implementing the big pipe strategy, the cache API got introduced and a lot of the improvements got included into this. So dynamic page cache was one of the major step towards big pipe. So big pipe is not in the core but it will be. Already there is an issue introduced to introduce this module as experimental in 8.1. Now Abhishek will proceed with it. Thanks. So we will look at different kind of caches that are present in Drupal 8. For example, there is something called page caching which is similar to what we have in Drupal 7. It has not changed so it gives you caching for anonymous pages and it works similarly to Drupal 7. We did some benchmarking. We used a tool called Apache Benchmark to benchmark and see how caching works for anonymous user. You can see there are 67 requests per second. But when the user becomes authenticated, the conferencing reduces with the page load time increases if we add more conferencing. So it is doing fairly well. There is one more concept called dynamic page caching which is new in Drupal 8. This was not in Drupal 7. Earlier we talked about AuthCache. Dynamic page caching is similar to that. So it is again enabled by default in Drupal 8.  And then that part is the dynamic part is later on filled later on with Ajax request or ESI. So it is similar to AuthCache that we do where we talked about earlier. So benchmarking with dynamic page caching also gave us pretty good result. What is interesting is BigPy which Navin was mentioning earlier. It is generally for authenticated users. One thing that BigPy will not do is it will not decrease your page load time by the way. So there is no difference in page load time. You will see after enabling BigPy. So what is the advantage of using BigPy? So if the page loads and if the document dot ready fires in 3 seconds, after including BigPy it will still fire in 3 seconds. So why use BigPy? Yes, so there is something called perceived optimization. We will see a small video in which we can see how the same page load but the page looks really different. So like we have in the slide during rendering the personalized part are sent on later. There is something called flush and OB flush in PHP. How many of you know what is flush in PHP? So what flush does is it will clear the output buffer. The D8 architecture has changed a lot from D7. In D7 this was not possible. In D8 you can flush the output. So what D8, what Drupal does here is it will generate only the static parts of the page in the building and it will leave the dynamic part for later. Once the static part is generated it will flush the output and the output reaches to the user. Now later on when the dynamic part is calculated and is rendered it will send it to the client again. This is how flush in PHP works. I personally tried to do OB flush in D7 but it was not able to do it. If I could have done it it would have been a great thing but it was not possible in D7. In D8 we have BigPy now. It is very interesting. Like we did some benchmark and did not find any difference in Apache benchmark with BigPy but here is something which will tell you why is BigPy interesting. Here we see a page with some dynamic content on the side and then there is a comment which is again personalized content. So on the left side we see traditional, on the right side we see BigPy. Now we are seeing this for cold cache. Cold cache means the cache is not generated, the cache is not warm and it is ready. So 6.5 minutes at the same time but you saw the difference. Now when the cache is warm both static and dynamic part loaded at the same time. The page load time is the same but you see a difference but if you tell someone which page is loading fast what would the person say, the left side or the right side. So this is called perceived optimization.  For the front end side the easiest way is Google PageSpeed always refer to the Google PageSpeed inside and if you have a score less than 90 your website is not good and if you have something less than 80 your website is bad. You seriously need to do something about it. Wiseflow is another good tool. It will give you a lot of recommendations, both of these tools and all you need to do is just follow those recommendations. Another very important part is I have seen this happening a lot in India than in other places. What happens is designers give you images and those images are very high quality images and developers they will just put the same image in the server. Drupal will optimize it, Drupal will make certain changes but it will still not optimize it as much as you want it to. So it is always a good idea to optimize your images like if there are some designers in this room is there any designer in this room? No. So if you meet a designer you ask him to always save for web. Never do a save in Photoshop. If you are creating images in Photoshop always do a save for web. What it does is it optimizes it. For the web it removes all the metadata which is not required and the images are optimized. There are some tools available. I have not mentioned it. I will probably mention it later. There are some tools which some script which I found which will just optimize all your images in your size default files directly. Once I ran that tool and my website suddenly became very fast. Apache Benchmark is a good tool for stressing but do not consider Apache Benchmark results as the exact speed in which the site will be rendered to your users. Because with Apache Benchmark if you are doing it locally it is just testing the latency of the server. It is not testing the network or the browser rendering. It is a very inaccurate tool for that and you need to understand that it is not meant for that. What you can do with Apache Benchmark is you can stress test your server. You can see how much stress congruent users it can handle. That is different from what a particular user is how fast the web page is for a particular user. If you want to stress test your server it is a good tool. If you want to stress test your server it is a bad tool by the way. Now why is jmeter a bad tool for stress testing your server? Now jmeter is a good tool for stress testing your server if jmeter is installed on the same server. But if I am in my local machine I have a jmeter installed and I am trying to stress test a server on AcquiaCloud it is a bad idea. Because my network bandwidth will exhaust lot before the server will reach its limit. So how do we solve that problem? Something called Blazemeter. Blazemeter is an enterprise version of jmeter. It is jmeter on cloud. So what it will do is it will do jmeter tests to your server from different geographical locations across the world with a high bandwidth connection. You will never reach that stress and you can do stress testing of your server. So if you want to really stress test your server you might want to check out what Blazemeter is. And that website is made in Drupal by the way. I think that is the end of the session. If you have any questions please ask. Questions? Was it that bad? It is not a part of core yet. It is a separate module. It will be part of core 8.1x. Probably not even I am not sure. Probably it will be by very soon. There is already a proposal for that but it is up to the core maintenance. But there is a contributed module which you can use. It will give you... And you will not notice a lot of difference in a page which is slightly dynamic. If you have a high dynamic page like if I had a page like my Facebook wall big pipe will make a huge difference. But if you have a default Drupal's installation page like home page you won't notice much difference with big pipe. Yes. Views query we have to optimize. So how can we identify that this view is firing a slow query? So in mySQL if you go to my.cnf there will be a configuration where you enable slow query log. And you specify the path of the slow query. If you are too lazy like me then you can use the web profiler module. Look at the query and try to find bad joins try to remove bad joins and if you really can't remove any joins try to index your database with the fields that you are... In the where class you will find some fields that you are accessing. Try to include those where... fields in your where class in the index of the table. Jeff could answer that. Have you heard of... It doesn't tell you how to fix it but it tells you where to start looking. Thanks. Yes. So Apache Benchmark is a very small tool which is shipped with your Apache default Apache. And it's very small. It's not even full-fledged stress testing tool. You just give Apache Benchmark some parameters and it will make a network connection to the website. Very simple. A command line tool for easily doing some kind of small stress testing or see how fast the site is loading. Jmeter is a more full-fledged stress testing tool and it's a Java-based application which you run. It gives you a lot of things that you can... For example, in Jmeter you can mimic how an authenticated user will be... For example, you will find a lot of Jmeter scripts called GMX on GitHub which will be meant for Drupal which will be meant to stress test Drupals. For example, authentication or creating a node, creating a user, all these things. You can write steps for creating a user and you can run, replay those steps using Jmeter and it will exactly mimic how a user will do it. And with the stress of 500 users, 1,000 users, also you can ramp up in Jmeter. Start with one user and ramp up slowly and then come down. Apache Benchmark will just burst all the requests. If you have a concurrency of 10, it will burst. It cannot ramp up or ramp down. Blazemeter is just Jmeter hosted on cloud. For example, I cannot use my local machine. Jmeter is my local machine to stress test an Acquia cloud environment, a server-on-acquia cloud environment because Acquia Cloud will have a high network bandwidth and it has more computation capability than my systems and the bandwidth that my system has. For example, my bandwidth would be 10 Mbps. So the maximum amount of stress which I can give to the server is 10 Mbps. But that is like nothing for a server hosted in any cloud environment. So that is a bad way to stress test that. So how do you use Jmeter to stress test a live server? You can use Blazemeter. Blazemeter is just an enterprise version of Jmeter. And what Blazemeter does is it has several locations, geographical locations just like any other CDN works. It has geographical location where they have Blazemeter installed. You can choose different geographical locations and from there it will have a high bandwidth stress on your server. And the bandwidth now will not get choked. So that is what it is. Thank you. Any more questions? Yes, please. I will follow that very much. Can you explain? I am scheduling one of the content. Okay. And if I set up a cache max life, then it won't show up after this itself. Okay. So how do we... I think I understand your question. So I think she is talking about the... There are two settings. The cache max lifetime. And the cache run-on. Like expiration. Yes, I think the one she is talking about is the minimum cache lifetime. And if you set that, what happens is your cache will not expire before that time. So if you are scheduling a content to be published in that amount of time, it will not happen because still that time your cache will not be updated. So only after your cache is updated, even if you run cron, your scheduler will run and it will be published in the back end. But your cache, it is not available in your cache because you have set minimum cache lifetime. So the ideal thing is never set minimum cache lifetime to so high. One more thing I want to add. What they could actually do is actually for the 15 pages, do the cron itself. Like when you run the cron, the scheduler and also run your home page cache such that those really published nodes do pop up on the home page when you register. But you don't want to set... You don't want to reduce the lifetime of your cache because for performance reasons, at the same time you also want your really published content to be visible after that. They have to do it, right? So I think, selectively or clearing the cache of the site as part of the same cron that runs the scheduler might do the trick. You should have like a debate panel debate about minimum cache lifetime. Yes, that's very debatable. All right. Any more questions? I want to add something here. There was an issue that got committed in 8.1.x that on running the cron, the cache will not get cleared. Say cron, you could have your own... Yeah. So to one custom cron, she's actually scheduling some... I mean, running the schedule and publishing some nodes. And I would probably add clearing the cron between the cache of my home page or the whole site programmatically on the same cron itself. So when the clearing of the cron and the development, I'm also clearing the cache of my home page and probably also using money like at their birth or birth. I'm also clearing the cache of the site of the cache. Or there's one more option that you can do, but do not do this if you have a lot of content which is being created very often, is whenever there is a content which is published through Scheduler, you can use rules and you can clear the cache through it. Whenever a content... For example, are you using Workbench Moderation? Okay. Just... Okay, Scheduler. So you can use rules and you can find out whenever content is published, just clear the home page cache. So that is one other way to do it. Invalidations will automatically take care of that. That service is... If you want to extend that service and want to take care of... and want to do something other stuff or do clearing of other things, then you can do that as well. But service decorated is the best option instead of extending that service. Yes, please. Yeah. Let me rephrase what you said. You said that when we are using CDNs, we make extra calls to a third-party site, which is a CDN, right? We do not make an extra call.  And what it will do is it will take care of most of the requests. When you're considering a request, when you request a simple page, Google.com, do you know how many requests does it make? It will make more than 100 requests. One will be the request of the document and then there will be JavaScript, CSS, images, and whatnot. So there are at least 100 HTTP requests, which is fired by one simple request that you make. So what CDN will do, it will take care of all the static requests. It will make static cache of all these things. So your server can do what is meant to do. What your server is meant to serve HTML pages, right? Through Drupal. Drupal at the end generates an HTML page, right? This is a static request, which has nothing to do with Drupal, unless you have private files.  And it's not an extra call. It's just something in between and it just proxies the legitimate request to our server. That's it. You will do the same thing if you have a reverse proxy. For example, if I warnish, it does the same thing. It proxies the request to Apache whenever it cannot find a cache. CDN pretty much does the same thing. And can be rendered through the regular www domain, which renders the rest of the site. For example, you have seen a lot of site using cdn.sitename.com, right? That is because you do not want to serve your static resources from the same domain where you are serving your dynamic requests because that has cookies. So you create another cdn.yourdomain.com. So that, and that trade-off is not too bad. You're just adding one more domain lookup and it's not even a domain lookup because you're just subdomaining it. So it's not even another domain lookup, but you are saving a lot of extra headers in terms of cookies. That's why we have this cdn.sitename.com. Can we cache the REST APIs? Can we cache REST APIs? Yes, why not? How exactly? So REST API, like if you are talking... Services model. Okay, so it has... What it does is on the view layer, everything. What you're generating as HTML, you're just generating it as a JSON, right? The view layer only changes. Everything else beyond that remains the same and your caching happens there. It's not page caching up. If you're talking about page caching, it is different from that. But your caching happens before the final render. Only the render changes, right? In Drupal, everything ultimately goes to a render function which renders it either through a DPR or through JSON, right? Only that changes. Below that, everything is the same. Okay. So it is handled by Drupal Gatch and the mapcatch? Yes. Yes. So if it was an anonymous REST request, it's just an HTTP request. Yes. And then you get cached. So long as you're not also passing a session... Yeah. I mean... A parameter. Any more questions? Yes. Oh, I forgot to mention this. Neuralink is a beautiful tool. If you are doing performance optimization, you should always use Neuralink. You should always use it. It has very good insight. But I think we are... Neuralink and XHCroft, these are very good tools for... Not only performance optimizing, but for performance solving. For example, Neuralink will tell you exactly on what layer your app is spending how much time. How much time is going to do database, how much time is PhD consuming, and what is the slowest function, and what is the slowest query. Everything is... You have to be very careful. You have to be very careful. You have to be very careful. The slowest query, everything... Everything is... You get a variety of information with Neuralink, and Neuralink also has a Drupal agent, which will give you a lot of information about Drupal PhD agent, Java agent, and so forth. It has Drupal agent. So Neuralink is one of the finest tools that I have come across, and you should try using it. If you are doing some serious business with your website, I think you definitely need to have some of your system. Thank you very much for this. Any more questions? So one thing I want to add with the big pipe that... I told you that there are a couple of three modules that... internal page cache, dynamic page cache, and big pipe... with Drupal for rendering of the data. So... we don't have any UI associated with it. Why don't we have any UI associated with it? Any guesses? So... if we will provide a UI for that, then we have another dependency of config factory for it. So there was an issue for that. So I have... I am working on a Sandbox project. Big pipe all... automatically take care of the part of the page and automatically send it first. But if you are interested in... if you really need a UI for that, for ordering it, I am working with... I am working with Pinglias on it. If you are interested, feel free to join, feel free to contribute. I would love to add more contributors to it. Yeah. Big pipe all... we don't have any UI for the page is that... to alter what stuff to come serve first. So that stuff would be taken care of there. So... this thing we can add in the core and we definitely don't recommend anyone to use it on the production. But in the development, it would be a great tool. And please remember, we are hiring. So anyone who is interested can come and speak to me or come the room. Thank you.


This lesson is going to be on alternative and renewable energy sources The main types that we're going to talk about are wind hydro solar Geothermal and biomass wind power once was used for mechanical drives only it's gaining a popularity as a clean alternative source of electricity using turbine generators you know the old Windmills as they were called we used on farms to draw water up from aquifers to serve as wells on their land and Way way back. They actually did things like Ground flour and corn and those types of things Today we have large wind farms are being built across the country where wind becomes a natural resource Some of the concerns with these obviously noise pollution in the area for the residents of that area and there have been numerous reported deaths to flocks of birds flying in those areas and as you can see the picture on the left there just shows what are some 750 kilowatt turbines in the state of Minnesota on a large wind farm there Hydro power basically using water force as as energy traditionally it had been used to churn mills. That's why we would have those Water mills and again they did several things with those from a mechanical energy standpoint, but today we have hydroelectric generators We have most predominantly hydroelectric dams But we also have what are known as tidal powered turbines and these are actually Utilizing the current flows Generally in and out of a river or in and out of some type of an inlet They use these in the North Sea off of Scotland. There's an experimental one in the East River in New York City as well again, there are subsurface Turbines that actually spin as the current goes in one direction or another and those drive a generator which produces the electricity So all our energy has been around for quite some time the Interest in it and the expansion of it really began with the oil embargo of 1973 and 1974 and then the second embargo in 1979 caused even more interest in it The idea is to collect heat and energy from the Sun and use it for things such as pure heating generation of steam for electric turbines or to actually create electricity directly which be would be the use of photovoltaic cells In a lot of cases it's used to you know heat water even for space heating And we generally have two types the passive solar energy is using the direct heat of the Sun There are solar collectors And they can Direct the heat in a particular area It's primarily used for space and water heating and it can also used to be used to create steam So some of the panels you might see on office buildings or Residences may be maybe doing nothing more than circulating water through for hot water heating others Even you would probably recognize the difference or the photo photo will take ones that are producing power And again, this gets this brings us to the active part It's the photovoltaic conversion of sunlight to electricity using Semiconductive materials it's dependent on the atmosphere condition and the Earth's position relative to the Sun and obviously off to the right there you see a photovoltaic array Small-scale use here, but you see them more and more throughout. They're using them now for traffic signs communication systems Pipeline companies or any type of long-distance Lines or cables or whatever else signals are transmitted in the powers coming from photovoltaic cells Geothermal energy we generally think of geothermal energy as natural steam, you know coming from geysers and from other places And in those cases it could be used for direct space heating. It can also be used directly for industrial processes Steam will also drive Steam turbines at a power plant or on site somewhere where there is the geothermal steam coming up But a flip side of that which a lot of people are not necessarily aware of is the fact that you also have Geothermal energy that's used for space cooling, you know after all if you go several feet below the surface the The soil and the temperatures down there are much cooler than above ground And so you can literally drill down into cooler area and Draw up cool air to use for space cooling. This is becoming more and more prevalent I have personally seen large homes that use this as well as Oh mid-size office buildings Biomass these are the various types when we talk about biomass and energy coming from biomass We're talking about things like wood garbage crops Various alcohol fruits, so there's fruits that produce some type of an alcohol that can be burned as energy and then landfill gas Biomass the one form here is landfill gas. You basically you have decaying trash That's in landfills and it's going to create methane You know all the biological material that breaks down and decays will end up giving off methane methane gas and Over time the older landfills will actually have pockets of methane within them and there are You know people who will go out and they literally will poke a hole down into the landfill And they will get the pockets of natural gas and they'll use it on site mostly They can use it to drive some small turbines or small generators To create power on site some cases they may have a process whereby they need to Create some steam and so we use the natural gas for that as well Another form of biomass is to actually take solid waste and convert it to energy or trash to energy This is where using solid waste that would normally go to a landfill You're using it as a fuel to create heat via combustion and in turn create steam from the boilers Where the combustion is taking place the steam can actually be sold for industrial purposes or generation or the generation of electricity can be Accomplished by using the steam as well now there's a company in Fairfield, New Jersey by the name of cogentrics Corp And they actually build and operate several of these trash to energy or solid waste to energy facilities around the United States wood and wood waste These are normally the byproducts from large You know wood mills and paper mills and what they'll do is again to be efficient and to be Environmentally conscious they'll go ahead and use the wood or the wood waste the wood pulp They can actually burn it and then it becomes a heat source where they can create their own steam That they'll use in the process say for instance for making Particle board or even paper they can also use the heat source to run small generators on site for their own consumption and operations the warehouse or company a huge manufacturer of various forms of lumber and wood and Particle board and those types of things Does this on location with a couple of their very large facilities they have in southeast Oklahoma and Most of us are more familiar with this type of biomass We're we're making fuel from things like crops grasses and biodegradable matter One of the more well-known ones of course is making ethanol that we use as an additive to gasoline in our cars and The primary food source there is corn, but there's also Sugars that can be broken down into alcohol as well as certain types of grasses and on the biodiesel front We could use vegetable oil peanut oil soybean oil and then recycled grease from restaurants once it's it's cleaned You can burn any of these in an existing diesel powered vehicle


This is TFNN, The Tiger, Financial News Network, Update. Welcome all, it's a big day and we're off 3% on the S&P, NASDAQ's off 3.9%, Dowdown 2.7%, Russell off almost 3%, crude oil even, it has not been able to avoid the downside down about 7.10%, Gold off 1.5% and of course, what do we have today? Well it's the results of the CPI and my question of the day is, is there less blood in the stock markets today than kill, build, volume 2, I think it's a toss up. Other things going on that people are talking about, Twitter whistleblower will be talking about that on the show today, probably less to do about Twitter than a deal between the left and the right on regulation of many of these media stocks and I didn't put it on there but it's the third thing of the day and that is certainly the, well two things, in fact I probably should add it, two things, first rail strike on Friday, they're estimating about $2 billion a day to the economy if that goes through, separately we're looking on now to Wednesday of next week at 2pm and that is when the Fed is going to come out with their next rate hike after looking at the numbers this morning in the Tigers Den, my first blush opinion was we'll look for 1% interest rate hikes next Wednesday and I would say that why I'm not saying it's more than 5%, it's probably close, see in just a few minutes my show at 2. The reality is that navigating financial markets


I am happy to see Impact Personal Year as a property evolved dramatically and it looks special to me this year not only because my dear friend Piyush Pandey is on the list but also the fact that there are a lot of illustrious names and what looks different this year are people who are not only from advertising but from a larger ecosystem of us big names who have made success stories you know so from Oyo Rooms to Sanjay Mata who is the boss man at HUL to Sanjay Gupta boss man star so I think it is a wider catch obviously it will be difficult to judge because there are different perspectives and different ways of looking at it but wishing all the nominees all the best and may the winner be felicitated well thank you.


Hi, this is Elva Tacho, and I'm going to show you how to use Google Sites for student portfolios. The first step to creating a student portfolio via Google Sites is to go to sites.google.com. Once you arrive to this website, in this top banner, you will see many different templates. The first one will always say blank. If you are more creative, I suggest going to this and creating your own design. For others who are not so creative like myself, I suggest student portfolio. Once the site loads, if you scroll, you will see their items already attached in this. Students can easily fill in this information with their own. But the first step is always customization. I would have students highlight this and put their name and the word portfolio right after it. Or whatever you want it to be. The second step to customization is editing this picture. Students can go to image and the two easiest options are upload and select. If students click upload, it will take them to their files on their computer. Select is the easiest out of those two. Students can pick between a preloaded gallery of pictures by URL, search your albums and their entire Google Drive. For this instance, I'm going to search. Because I am a seventh grade geography teacher, I'm going to type in geography. I will select this older map. One thing Google sites does is transform the background. You can see it faded out the background and transformed my font from the color white to black, so it is easier to look at. If you scroll down, you will see an about me page that is preloaded so students can type whatever they want in there. But if you want them to create their own section, all students have to do is select text box. Once they click it, a text box will appear. I'm going to type in the word welcome. But now there's an issue. I don't want it to be regular text. I want it to be bold like this. So students click back in the text box, select normal text and select whatever style that they would like. I will click title. Now I have a heading for students to showcase any pieces or assignments that they've done in class on their portfolio. The easiest way to do this is selecting Google Drive on the right. They have to click one of the tabs up here from my drive, share drive, shared with me, etc. If they wish, they can search up here for the certain assignment. That is what I'm going to do. The name of my assignment was copy of Australia. I'm going to click enter. Right here, I can see the Google sites presentation that I want to add. Students can either double click to add it or click and select insert and then it is loaded in. Then all students have to do to customize it further is click that item, select the settings gear and then auto start. Then whoever visits their page will be greeted with this presentation as it automatically scrolls through. In order to stop it, they select that gear again, auto start and done. In order for students to further add any content they would like, such as a YouTube video, they can scroll down. This section has many different options that students can add. I'm going to click YouTube. Now you can either search whatever you want on here or anything that you have previously uploaded. For myself, I have already copied the link from this YouTube video and going to paste it and search it. It automatically pops up. You select whichever one you want. Then click select and it is automatically loaded in. In order for students to share their portfolio on Google Classroom, what they first must do is click publish. They must name their Google sites, which will have a preloaded address. They must create the last part. I'm going to name mine Elva Port Folio. As you can see, it's already taken. Once one is available, you click publish and it is done. In order for students to copy the link, they must go back up to publish, select the arrow beside it, publish options and click view publish site. Here, students can scroll down and see the site they have created. In order to add it to Google Classroom, all they must do is click the address bar, copy the link and simply paste it into whatever assignment they need. Unfortunately, because this is the teacher view of Google Classroom, I will not be able to show you what it looks like on the student side. However, they can add the Google portfolio straight from their Google Drive. If I edit this assignment, you will be able to see it from my side. If I select drive and recent, you will be able to see student portfolio is already added in there. Once student added to their assignment, all they have to do is click submit and then their portfolio is done. Thanks for watching. Don't forget to like and subscribe for more video tutorials.


Hello everyone, this is Harshitha and I am going to give you a brief overview of Open Event Frontend project by FOSSAsia. So let's start with the introduction of Open Event Frontend. Open Event Frontend provides a platform to the organizers to organize and manage events and help them to customize the entire event according to the requirement. So right now what we are seeing is the landing page of the application where all the upcoming events are listed. So let's click on an event to see what all information does the public event page describes. So this is the public event page of the Code Bros Meet event where we can see all the information like the tickets, schedule, organizer, getting here, code of conduct, etc. of the event. So now let's start creating a new event by clicking on the create event at the top of the screen. So right now what we are seeing is the create event wizard which will help us to create a new event. So let's start with entering the name of the event, the dates of the event, description. We can also add logo and event image to the event. In fact we can have organizer information, links, social media, ticketing system, categories of the event. On clicking the forward button it will redirect us to the sponsors wizard where we can add as many sponsors as we like. On clicking forward it will redirect us to the session and speaker wizard where we can add the sessions for this event. Let's add a track for an event. We can also add call for speaker details over here which will be displayed on the public page. Then we can customize the registration form using this. We can either save the event or we can publish it. So let's publish the event. So after the successful publishing of the event what we can see is the event overview page where we can get the general info like the starting time, ending time, number of speakers, sessions. We can manage roles like now the role invite has been sent successfully. We can add the sponsors. We can see the ticket summary etc. On further clicking the tabs under the ticket tab we can see the order summary, attendees list, discount code, access orders, create an order etc. Now on the scheduler tab we can like schedule the events. We can see the list of sessions under the session tab. Under the speakers tab we can see all the speakers list. If we want to export the event we can do so by clicking on the start button. We can also get the response of the event over here. So now let's explore more options of the project. Now on clicking the email id a drop down will appear which will show the list of the options we can have. So let's click on the My Tickets. The My Ticket page displays all the tickets for the events, upcoming events, saved event and past events which I have purchased for. Now let's move to my sessions which display the list of all the upcoming events and past events, past sessions of the event. Now we can change the or add the name of the user and current user using the profile option. We can in fact change the contact info, password, email preferences, applications like the Facebook details, Twitter, Instagram with the help of settings menu. Apart from this open event frontend project also provides the admin panel where you can see the events, sales, sessions, users, permissions, messages, reports, settings. Links, modules, content, etc. We can customize the permissions, add new roles, we can have modules, we can have social link pages, system images, translation of the event. So that's all. Thank you. All the details related to the event and the project can be found in the description.


People refuse to evacuate Kupiansk District, despite increased attacks from Russia. Residents of the Kupiansk District of Kharkiv Oblast refuse to evacuate. Most often, they are pensioners, but it happens that young families with children do not want to go either, said Andriy Besedin, head of the Kupiansk City Military Administration to Radio Liberty. Unfortunately, for the most part, as we expected, people refuse to evacuate, but we constantly have bus routes that connect the city of Kupiansk with the city of Kharkiv. The trains run regularly. People contact us. There is a hot line. We respond immediately. Form lists and volunteers are taking residents to Kharkiv. Besedin said, Besedin added that older people most often refuse to evacuate. But there are also families with children among those who refuse. The head of the Kupiansk City Military Administration said, There are currently more than 600 children in the Kupiansk Romada. It should be noted that a Romada is an administrative unit designating a town, village or several villages and their adjacent territories. It is very important for us that they are in safer places. Because of the escalation, the number of attacks that are now on the territory of the Romada is increasing. We must protect especially children and people with limited mobility and move them to safer regions. Besedin emphasised. On the 10th of August, local authorities announced the beginning of the mandatory evacuation of residents of 37 settlements in the Kupiansk district of Kharkiv Oblast. Such a decision was taken in connection with increased attacks from Russia.


Yeah.  What are you doing? Oh, I ain't gettin' in my thing. Only one way to clean it up. Damn. It's not on this guy. This is crazy. Give them back their sport, bro. You gotta give it back to them. Son. Give them back their sport.  No, there is no color.  There is no color, bro. There is no color. Gays for everyone. It's freeing. Exactly. This is Pride Month.


Parents can do a lot to help kids get back on their feet after ACL surgery, for making sure that they get the rest and nutrition they need to ensuring crucial physical therapy appointments are kept. A new study in the American Journal of Sports Medicine suggests some more personal investment might also be important to recovery. Researchers report that parents who donate a hamstring tendon for use as a surgical graft could improve their kids' outcomes for years. Although hamstring tendon autographs are a common choice for ACL reconstruction, pediatric patients have unique characteristics that complicate this option. Taking a graft from a child, still in development, may cause persisting hamstring strength deficits and problems with walking and running. It's also difficult to obtain a graft that's large enough to prevent re-injury. These issues prompted researchers to take a closer look at how kids fair after ACL reconstruction using a graft donated from a parent. The team reviewed the five-year outcomes of 247 patients who underwent ACL reconstruction with a donor graft. The patients ranged in age from 8 to 17 years and represented all five tanner stages, a measure of how far along a child is in puberty. Interestingly, it seems that puberty has a lot to do with surgical success. Graft survival in less physically developed kids was three times that observed in more mature adolescents. Pre-pubertole children also had a much lower rate of re-injury. The reasons for this division and outcomes are varied. Compared to adolescents, juveniles are probably protected from re-injury, in part because of increased parental supervision. Adolescents are likely to have more freedom to return to higher level, more aggressive sports, than younger kids. Adolescents also have a greater body mass, which translates into higher impact on joints during play. And there may well be distinct cellular responses between the two groups, with younger children healing faster. Although more work is still needed to understand these observations, the results support that donor grafts from parents are a good option for ACL reconstruction in children who aren't yet skeletally mature.