Welcome everybody. We're going to be doing the Weather Channel case study. I know you're all very excited about it. I'm doing a quick head count. I count about 12 people. They're all lame jokes. That's all I've got. I'm just setting it up. If I lower the bar an hour, there's nowhere to go but up. Yikes. It's going to be a long hour. So yeah, we're going to talk a little about the Weather Channel, what we did, where we're going and that sort of thing, but first some introductions. I want to introduce one of the more brilliant web technologists I know. My name is Jason. This is also Chris. My name is Chris Hill, Vice President of Web Development at the Weather Channel. It's great to be here. And I'm Jason Smith, Enterprise Solutions Architect with MediaCurrent. MediaCurrent folks are spread out throughout the audience, so they'll overhear every word. Nothing? They can't all be winners. You guys are not going to get used to it. I'm sorry. I've been living it for a long time. So we're going to start with talking about who the Weather Channel is. Chris will introduce the company, what some of the challenges they deal with on a regular basis are. We're going to talk about what the selection process was, how we arrived at Drupal, why it was a good choice. Talk about what we did for the Drupal project. I have slides that go into deep technical detail, but we're probably not going to have time to go into them. If there's a lot of interest, I'll try to do it during the QA. Or if we have extra time, I'll spend some time on them. Next we're going to talk about where we're going next and hopefully have some time for QA. I apologize if I'm nervous because my boss is sitting in the front row and he's going to be grading me every minute of the way, I'm sure. First I want to tell you guys a little bit about the Weather Channel. I know most people have heard about the Weather Channel, but it's an amazing company, been there for 14 years. We really care about people and trying to keep people safe, trying to make sure that everybody's got the latest weather for where they are and what they're doing. We do this through the use of what we call our four S's. The four S's are science, stories, services, and safety. So through stories, we try to tell stories that are inspiring and illuminating to our viewers and our customers. We use the best in science to try to make our forecast local and appropriate for where you are and what you're doing. Services so that you can receive important information that makes your family safe even if you're not on our website or not using our mobile apps. We can send you alerts. We can do things to try to keep you safe even when you're not tightly engaged with us. And again, safety kind of already covered that, but safety is extremely important to us. We want to be there for you when there's severe weather. We invest a lot of money and time, a lot of highly dedicated people, trying to make sure that we are bringing you accurate and relevant information so that you stay safe and your family is safe when there's severe weather and when you're just concerned about the pollen being high. And overall, we like to remind our customers that it's amazing out there. So just some, and I cannot even read this screen because it's too small, but just some basic metrics about our site. On a daily basis, we have about 50 million page views.  We have about 30 million unique visitors a month. We all host that through three data centers with about 144 servers. And we have approximately 17,000 articles that our content team has been curating over a number of years, some that they reuse, some that they don't reuse. And I can't see what the other things are. And also another important thing that we provide is dynamic weather maps. We have some map generation software that we use on our website. We use it on our television channel. There's lots and lots of weather maps, radar, satellite shields that show temperatures, cold fronts, warm fronts, things like that. So a lot of very engaging weather maps. So one thing that was really kind of a crucial point for us in October 2012 was Superstorm Sandy. I think most people that were familiar with Superstorm Sandy, it's our Super Bowl. We heard it talk last night from a guy from Turner and he was describing their Super Bowl is when they were handling March Madness. For us, our Super Bowl comes multiple times a year when we have tornadoes and hurricanes and severe weather. Superstorm Sandy was a special condition where we did 300 million page views on one day. Now granted, all 300 million were, a lot of them were highly cashable, but it goes to the point that we desperately have to have a highly cashable environment for the site that we present. But we got tons and tons of traffic on that day. Over that week of the storm, we handled about a billion requests to our site and we presented over 170 million videos, video streams. And video streams are not a big deal because everybody knows that videos are cashed, but nonetheless, the engagement is important. It's the important thing to recognize that when severe weather happens, people come to us and they rely on us and we have to make sure that our systems are there and ready to serve. So I wanted to take the opportunity to point something out while we're on the same subject. This is an omnitra report from the day of the Superstorm Sandy or the week of the Superstorm Sandy. You'll see that their nominal traffic was about 100 million page views and in one day it jumped to three times that number. Topic of scalability is something comes up a lot. It's a very important topic, but it's a topic that causes enough pain. It causes a bit of topical depression. Yikes. You're welcome for that one. But the point I was trying to make with this slide is actually that the way that current architecture is built, you have to build in capacity for this spike. So we have servers that are there ready at L times to handle this spike.  We want to move to the cloud rather than having all of these servers ready all the time. Ninety percent of the time we've got servers that are just sitting idle. What would be really nice if we could scale up when something like that happens? All right. So in October, in 2012, we decided that we made the decision that we wanted to rebuild our digital infrastructure. We have a solid system that works. It's there, it delivers, but we knew it didn't give us the feature velocity that we needed to move forward in the next 15 years. So we created this, we established a project and sold it. We call it the digital infrastructure reboot, basically going through and cleaning house, rebuilding everything from scratch. Two main components of that digital infrastructure reboot. First was our data services layer, providing the best in data services to our products. We'll talk a little bit more about that later. But then the content management system, which is why you're here today. So as we went through to determine what the content management system was that the weather channel needed, we developed an objective scorecard that had about 20 criteria on it. And in some of those criteria, the main ones, feature velocity, being able to having a system that allowed us to rapidly create content, create products and deploy them to the site, the reuse of content so I can take a module or something that I build on big web and I can reuse it on mobile web or perhaps even a mobile app. Scalability, Jason already mentioned, our servers sit idle, you know, 80% of the time, a lot of them do. So we want to have a situation where we run with what we need until we need more and then we can scale up by utilizing the cloud. Maintainability, trying to have a set of tools and set of software products that we build that are easy to maintain, you know, ideally easy to build and easy to maintain over time. And publishing capabilities, you know, we're a rapid publishing environment, we publish lots of content around the clock, especially when we have severe weather pages, page changes, we have a lot of content that we that we're rapidly publishing on the site. So we went through and, you know, we looked at multiple products, we looked at Adobe CQ, we looked at, we looked at the, you know, the big gorillas in the marketplace, we, WCQ, SDL Tritian, Open Text, we even looked at WordPress and, you know, psychotically we even looked at .NET Nougue for about five minutes. Because someone wanted to look at it so we did it.  It blew everything out of the water. So we ended up choosing Drupal as our content management system, which would have been awkward if we had not chosen it and I'm here today, but anyway. So the next step was to figure out how we're going to build this thing. So when we evaluated, yeah, so we evaluated vendors because we needed to figure out how we're going to go ahead about building this thing.  To my dismay. Just kidding, Dave Terry. So the approach we took was, I'm sorry, this is your slide. Not bad. So we, Aquia and Media Current came to the table. We did a little series of mini discoveries, which in this context you might call a series of lightning talks. All right. That's the last one. Fine. It's funny that the non-jokes get more laugh than the jokes. What we got out of that was a good idea of what it is they were trying to accomplish in the aggregate and from those discussions we developed a series of proofs of concept and those proofs of concept were things that like building a Drupal site that would allow page building under their particular requirements or rewriting the page in the browser to meet, you know, whatever scalability needs they have. Then after we were brought into the project we did a deep dive, which is we spent time getting to know every part of the project. We learned how video was managed. We learned how images were managed. We learned how slideshows were managed. We took a nap. We learned how all the rest of the site was managed. We also learned how the team dynamics worked. We learned what their processes were. We figured out what, where we would fit into the group as a whole so that we would assign the right resources so that we could provide the most benefit, the most return on investment. All right, so the engagement. So, you know, we jumped ahead. I had already announced that we picked you guys. Could we back up everybody? Yeah, so forget the last two minutes. So the way the weather channel works, when we have a problem, we attack it aggressively. We will go hire some contractors, put them in a room for a raw meat in there and build what we need built. So when we decided to go with Drupal, we went out and we interviewed Drupal developers. One of the key components for choosing CMS was to have a CMS that had availability of resources in the marketplace. And, you know, we looked and we found some really good people. We found some great developers, but we didn't feel like we could find a cohesive team that we felt could take us to the end zone, could help us build this big thing. So then we ended up looking, you know, we were in contact with Acquia and Media Current and ended up choosing Media Current because they were able to deliver a large team that could be there for us and cover all the different aspects of Drupal, things that we didn't have the skills to do and didn't really have, you know, frankly, have time to learn ourselves. So we established that team and then we had to have a kick-ass Drupal architect. And luckily, we found Jason.  And then we also have an internal team. So, you know, Media Current is kind of the Drupal arm for the project. And we established an internal team of about seven or eight people that help identify all the different pieces and parts of the current infrastructure that we need to replace and help bridge the gap for data migrations and, you know, new functionality that we want to build. And largely work closely with Media Current on a daily basis, even when they're not in my office, which is another problem, but that's okay. And through that relationship between the two teams, we've been very successful and made a lot of progress. And then we just start building. So what made Drupal a better fit for us? You know, open source rocks. I think most of you would all agree with that. The Weather Channel has longly been, long time been a supporter of open source. Our entire current infrastructure that we use today for web serving is open source, except ironically for the part that we most want to replace our content management system, which is not. So going with an open source solution was extremely, you know, attractive to us because we've got a lot of experience with open source. We know what open source can bring to the table. We know that there's a community behind it. We know that it's going to be there and it's going to grow. And if for some reason the community abandons it, we can grow it ourselves. At least our investment is always going to be secured. The fact that Media Current is local was a big help. You know, Media Current operates on a model where, you know, folks are scattered around the country so they can best attract their different customers as best they can. And we've got, in Atlanta, they've got a large group of people that are, you know, very accessible to us and spend a lot of time with us. So having a local vendor was really, really helpful. We didn't want to engage a company that was 500 miles away that we never got to see them.  Not inappropriately, though. The scorecard screamed Drupal to us. I mean, when we already mentioned it, the scorecard said, Drupal's your choice. That's what you've got to use and that's what we used. And what the hell? Drupal's free, so why not use it? I mean, some of the other products we looked at, half a million dollars, a million dollar license fees. I mean, Drupal hasn't been free to implement because we still have to build it, but even if we were to choose one of these third-party tools, we'd still have to spend a million dollars on building the product to our needs. So, big benefits there. So, test drive. Somewhere along the lines, we decided that, you know, our content entry solution was painful. Our VP of content entry was complaining constantly about problems that we're having entering article content. Jason will go into more details of some of the pains that they suffered. So, we decided that we would try to implement, take Drupal and do a side project and implement content entry on Drupal to plug into our current web delivery hardware or web delivery framework. And we called that project DICE, Drupal Interim Content Entry. It's been live since May of last year. It's been extremely successful. From the day that we launched it, content velocity has gone through the roof. Multiple tools consolidated into a single tool. The users are happy. As happy as a content entry team could actually be, they were happy. And our support went to almost nil. I mean, our current content management system and our implementation, constant problems, lots of inflexibility, lots of maintenance problems and drag on our team, keeping us from actually building new things. So, support went to nothing. So, it was a big, big, big win. And the side effect was it gave us some early unexpected validation that Drupal was, in fact, the right choice. So, what will be the impact of the introduction to Drupal? I already mentioned consolidating multiple systems into the Drupal framework. Image management, Jason will talk about that in a minute. Image management was always a big issue for us. We were able to consolidate that tightly into Drupal, slideshows and image uploads. Amazing increase in velocity by the team. Tight integration of page building and page serving. At one point we thought that was a bad thing. And we're still going to be slightly segregated because of our use of VSI and cash ability. And Jason will talk about that in a minute. But we feel really comfortable with the way Drupal handles pages and consolidates that in its web framework. And ultimately gives us more agility and creating solutions. We can build products faster with some of the technology we're going to talk about in a minute. So, we can rapidly build products, make quick changes as the needs of our product, as our product team, you know, frequently changes. Right, Krista? Also, and then we already mentioned stability, you know, much, much more stability, which ultimately gives us more time to actually build new things. So, the advantage is Drupal brought to the things that we just talked about. Drupal uses a standard stack. That means that we are not supporting the Java here. We're not supporting scale there. We're not supporting, you know, this environment, that environment, six environments. We're all on a single stack for every integrated portion of the site that they actually want to use. It's got a robust API. So, when it comes to changing requirements, which by the way, just like the weather, the only thing you can count on changing is requirements. But um, yeah, I'm going to get a really terrible audience. Because of the robust API, when things did change, when there was a pivot in requirements, we didn't have to, you know, go right back to the drawing board. We were able to, you know, re-adapt. We, when we architected, we architected in a way that it was easy to take this piece, replace it with that piece, take this piece, replace it with that. Drupal made that process a lot simpler. So, um, the, excuse me, the number one challenge that we were faced with was retiring or integrating, if possible, a lot of the legacy platforms. There's also a transitional period that has to be addressed for which we have to support both. We needed to simplify the content entry and we needed to increase feature velocity. So let's talk about how we do that a bit. So we, under the legacy platform, we had an article management system, an image management system and a slideshow management system. They were written by three different people at three different times and do not integrate very well at all. When somebody wanted to create an article, they'd open up the article platform, write a few paragraphs, close it, load up the image system, create a couple of assets, save the asset IDs to a notepad, close the image system, open the slideshow system, copy the asset IDs out of the notepad into the slideshow system, close the slideshow system, open the article, take out a notepad, all the asset IDs posted in there, publish the article, save the article, deploy the article. Can you go through that again, please? Yes. Later. What we were able to do was, yeah, the launch went that well too. Bam. Yeah, bam. So we were able to integrate the image management system, the article management system and the slideshow management system with off-the-shelf components for the most part. The legacy migration content that was just basically after Save Hooks that we implemented that updated the legacy platform so we could migrate easily. The systems we weren't able to integrate directly into Drupal, such as video management, because of the timeline it was too complex, we abstracted them through a web services interface so that when it's retired at a later time, we just match the RESTful interface and everything works as before. It's transparent. So Drupal's good at this kind of thing. This is a kind of diagram I bring up to tell you how good Drupal is at wrapping other services. The canonical example is when Facebook released their API, within 24 hours Drupal had a Facebook module that allowed you to wrap and put Facebook content on your site. Media Current in particular is a big contributor to the open source and modules. I think that most, oops, almost all of these marketing automation modules are created by Media Current in particular. Sounds like you might be bragging a little. Hala. So some of the, we already mentioned earlier some of the problems we've got caching was one of the top problems. With caching, low cash efficiency equals more hits back to your origin servers. When more traffic comes back to origin, you need more servers. More servers equals higher costs to operate and maintain, which is generally a bad thing. Without good cashability, you have to highly anticipate the traffic spikes and be fully scaled or highly scaled at all times, which is what we're doing today. So traditionally, when you're dealing with a lot of traffic from various places around the world, you just let it hit origin and that's not a problem. But when you get a lot of traffic, the server can't keep up. So what you'll do is you'll just introduce a caching layer, something like Akamai. And so when the first request comes through, it hits Akamai, Akamai gets it, saves it, and every future request just goes to Akamai.  However, whether or channel poses some unique challenges. This is what you might see if you visited from Austin, Texas. You'll get that forecast. But if you're just a couple miles away or three hours as I am intimately familiar with the drive, you will get a different forecast, which means on a regional basis you're getting completely different pages, which means your cashability breaks down on regional lines. And we're talking about zip codes and even smaller subdivisions. If you have a large enough yard, you could be in the front in the backyard and get two completely different pages. So how did we address this particular challenge? What we do, we break the page up into pieces and then we move to a service oriented architecture and we use client side rendering. I'll talk more about what that means. We also use edge side includes to rewrite the page at the edge. And all these things together let us improve our cash efficiency. That means that we can hopefully deliver one page and have it appear differently for everybody who visits. So here's how we did it. I'm going to explain what Akamai and edge side includes are. I apologize for what you're getting ready to see. Let's say you're a veterinary office and one of the services you perform for the community is you post lost dog posters. So what you'll be doing is somebody will bring you a photo of their dog, you'll go all the way to the large format printer, get the large format printed versions of it, come back to your office and give them the poster and you'll do this over and over and over and over again. So 90 percent of your time is spent going back to the printing office and coming back. You don't have to do it that way. What might make more sense is to take the reusable portions of the page, go to the large format printer and print say 10,000 copies and put them in a literal cache in the corner. This is what Akamai does for us. So that blank spot, we have a regular printer in our office that can print photos that size. So that means we don't have to go anywhere. We can spend more of our time doing the stuff we're efficient at. So we take the photo, we paste it in there and then we deploy them all over the office. That blank space that we fill, that's the equivalent of what edge side includes do for us. So you can see how that might come in handy when we're building the page. So what we do is we divide the pages up into the pieces that align with those buckets that we just described. First, they're the heavy services, page layout, asset metadata, such as image URL, article body, things like that. Things that don't change very often but are very heavy to get. Drupal, despite all of its benefits, is a little bit heavy as an app server. So then we've got the heavy services that are actually reused fairly frequently. Related content, featured content, menus, things like the title menu that appears at the top of the page. You got 60,000 assets out there, articles, and you want to make a change to the header menu. You don't want to invalidate the cache for all 60k. So you put it in an edge side include and spit it out. Thin services, these are things that change very rapidly and are very unique on a per user basis. These are the things that you might use a caching layer or a services layer for, that we would have something other than Drupal that is thinner and a lot easier to scale. We're talking about using Drupal for the heavy services. We'll just deliver the base page outright. We'll use Angular and ESI to deliver some of these moderately dynamic pages and we'll use Angular and a data caching layer to deliver the thin services. So again, what we do is we take the page, look at the parts that change, turn those into modules, and then we create a system that will render those modules based on our particular needs. TTL of five days at the top, let's make that an ESI. TTL of one minute for the forecast, let's make that an Angular module. So just to summarize, we take the page, deliver the base page with the placeholders for the widgets, put the information that's relevant to on a per user basis into our data services cache. We use ESI and Angular to rewrite the page as it goes out to the user's browser, and so the user from Houston and the user from Texas can get personalized pages, but Drupal only ever delivers one. So from this perspective, the app server does very little work. All the rest of the magic is happening at Akamai and in the thin services, which are far easier to scale. So we've already mentioned the data services layer a couple times, specifically as one of the critical components of the overall infrastructure reboot. The data services, when we decided we needed to build that, we knew we were going to need something that had, you know, thin services, a thin, restful API, one that was easily adaptable, easily that could track with the feature requests that are created from the company. So as new features are requested, we need new data, we need data to provide those features. We have to build the front end functionality to present it, but we got to get the data first. So we needed a system that we could work closely with, the teams could work closely with, so that we could be working in unison, building these products. You know, we built it using MongoDB and Scala, functional language, state-of-the-art type technology, delivering data through JSON, key value type data. It's been live for quite some time. We're already using it on our mobile apps. If you've downloaded our new mobile app, if you haven't yet, you need to go ahead and do that. The mobile app is using our data services layer live today, and we are building on top of that with Drupal. So in support of the needing high cashability, we're moving to a client side model. So we mentioned earlier that we've got about 144 servers running our site. Our current plan is to run them, to run our site with about 15 or 16 servers in the cloud, so that we can ramp up if we need it, but hopefully with our cashability and the cash rates that we're going to be getting out of our different cash layers and with Akamai, we hope that we can operate at that level. But the client side model is based on AngularJS. If those of you are not familiar with AngularJS, it's a JavaScript framework created by Google. If you haven't heard of AngularJS, I'm sure you've heard of jQuery, same kind of thing. But it's a model view controller and NBC type product, allows separation of presentation and data access, gives great flexibility in building functionality for the web. We use it with our mechanism for building AngularJS modules. We try to build our directive, my boss's directive, is to build modules that are completely responsive where it makes sense. So I can build a module, a current conditions module that works on a big web page and a mobile web page. But if I have to go through great links to make it responsive, to make it worth the cross post, then we may build two modules. But AngularJS gives us that granularity or that flexibility to be able to build in the way that we need to build it. The client side model also, the cornerstone of it, is highly cashable templates. Jason's already mentioned the templates previously that had the blue boxes. Drupal publishes the base page one time. It gets cash for maybe whatever that TTL might be. And the AngularJS, the modules that are on the page dynamically pull data and push that load down to the browser so that we have fewer hits back to origin. The AngularJS, we already talked about this, already calls our data services layer. And within the data services layer, I'm sorry, within the Angular module, the data component of the Angular module, we also cash the data there as well. So if you're cruising through six web pages on our site and in one page, you make a call to the data services layer and get current condition data or forecast data, we'll cash that in the browser, we'll cash that in the model of the Angular, so we don't have to go back to the data services layer to get refreshed data when we know that that data has not expired. So it makes the pages very quick, it makes the modules very fast to load. So additionally, we already talked a little bit about content entry. Content entry has always been a big problem because we're trying to become, you know, one of our forests is a storytelling and we do a lot of that storytelling through writing compelling articles that have some meaning to a wide variety of people. In order to do that, you've got to be able to rapidly create those articles and you need to be able to create those articles that have some something that's more engaging than just a wall of text. So we try to build the articles as much as possible including rich media, videos, imagery, slideshows, YouTube videos, we can insert Twitter feeds, we can do, there's like 13 different types of rich media that we can bring into an article to make it less boring as if it were not there. But ultimately we have to do it in a way that articles cross-platform. We can build an article, we can write an article that works on big web all day long, that's awesome, but the guy that's on the mobile website, if he can't see that article then you know we're not covering all of our bases. So the articles have to be written and created in such a way that it works across all our sites, our mobile web, our big web, our mobile web and our mobile apps. So here's an example of what this looks like. Again what we're trying to do is make it so that the front-end team doesn't have to write HTML or JavaScript to put rich media in the page. We also don't want to copy and paste some embed code from some other site that may work today but not work tomorrow. We want to retain control over that because not only do we want to make sure that whatever is being used is up to date, but we want to make sure that it maintains a look and feel appropriate for whatever device it's going towards. So what we've done is we use the WYSIWYG editor which you may be familiar with using in Drupal and we have added a couple of buttons here dynamically. These buttons represent the types of weather nodes that they're able to add to the body. So in this case we've got an image weather node and a video weather node. Now of course those aren't the actual image that just represents the placeholder for it. When you click the button bar you'll get a pop-up. This one's for say YouTube I think. So in this case they're adding a video of fish with teeth relevant to the weather. And what we've simplified the interface so that the the user only sees what they're supposed to see. This is also limited by user role. So an administrator may see more options than a regular content editor. So one of the ways that we were able to get this flexibility is because this model that you see here this is actually a content type create form. This is an actual node. So for those of you familiar with Drupal. So this is actually a weather node YouTube content type. So after the user creates this it just goes ahead and dumps it in the article body. Right so then in the screen to my left you see four basic presentations. You see a big web presentation, a tablet presentation, a mobile web presentation and a data feed. Down below the bottom you see the raw article body. It should look somewhat familiar as the WYSIWYG article editor for Drupal. What are you seeing? No I want to see how much time I have. Okay we have about 10 minutes. Down below you see the actual article body. And then we insert a in this case we insert a YouTube weather node, Wix node as Jason calls it, into the article body and above you see the different presentations of the different platforms. On big web you might see a immersive type embed player for the YouTube video. On the tablet you might see something a little bit different maybe something that's a little more of an embed type placement. And on mobile web you see maybe a smaller version of that, a smaller image. And over on the right in the data feed you might see an XML excerpt that some platform that would be consuming that data would then take that XML data to use to present that weather node that that YouTube video and their platform in the way it's appropriate for their platform. So as I said before the weather nodes, they are full-featured nodes, they're first-class entities. They're really nodes with benefits because these are nodes that can be used within the button bar. What is it? They're trackable. There must be some insinuation from that that I don't get. They're trackable, flexible so you can use them in multiple places. They can stand alone as full-first-class entities. That YouTube video exists on the site. You can use it for a number of things. You might just drop it into a feed somewhere as it is. So to kind of drive home the point here's that button bar again. You can see the YouTube one. There's an external image, internal image, Twitter, and here are the content types that represent them. Now this is where I can really go off the rails in terms of deep technical detail. Do not go off the rails. I've decided I'm not going to go off the rails on deep technical detail. Good call. Right then. So we have Wix node entities, the first-class entities. Those are nodes. We have tokens in the article body as you saw represented by those little short images. And we want to manage the presentations of them. We want to have it present differently whether you're viewing on the big web, mobile, desktop, iPhone lab landscape, or maybe even in an XML feed. So what we did for that, skipping technical details. Alright so one of the critical parts of actually carrying out the page serving is the creation of the presentation framework. And Jason architected the presentation framework. Basically it's a mechanism for allowing us to put modules on a page. Those modules can be angular modules, they can be PHP modules, they can be inline code, but effectively gives us the ability to serve them either statically being served by Drupal or being served by an ESI depending on what the use case is and what the hit is back to origin. One of the main benefits is simplifying the creation of modules for the functionality that we're trying to build rapidly. If our developers are, their core language is AngularJS and their focus is building on AngularJS modules. They can build their AngularJS, talking to our data services layer, they can build it rapidly in their own environment, in their test environment, and they can do it without knowing a whole lot about Drupal. So we can leverage, we're able to leverage a lot of our existing talent because we have a lot of strong JavaScript, HGML, and CSS people. So it's simplified a little bit of the creation process because we didn't have to go hard a bunch of PHP developers, not that there's anything wrong with that. It's just we didn't have any of them. So AngularJS makes that easier for us and the presentation framework supports that natively. So again I just wanted to summarize what we've all gone through. We have little panels, those little widgets we talked about. These are these widgets that are on this page, they're outlined in blue and red. These are actually presentation framework modules. The presentation framework system was built to serve these. So it basically creates panel panes that are also just independently renderable. They're reusable, exportable, that is to say you can deploy them and get them. So as part of the panel, when you're doing your layouts, you build a seasonal page say, you can export that as a feature, reuse it next year. So each of them is independent, so that means they all have their own configuration. So a panel serializes it with it so it goes out with the feature. And their version. So if it happens that, and this is a point I'm not sure we made very clearly, but the development team that's actually creating the presentation framework modules, that's the weather channel team and they're doing this using straight HTML, JavaScript and an info file in JSON. So these are really straightforward modules to build and they want to be able to build a lot of them. So they're independently versioned because let's say that there's a forecast module that we later on decide we want to add a title to, well all the extant versions need to be updated or we have to write code that acknowledges that the old versions exist. So we track where all the modules are used, we have a thing that tells you how often some things used to kind of get popularity and maybe feed into metrics. So last slide before I skip ahead again, but each of the modules are just a single folder that contains details about how the system works. The JSON file indicates whether or not this particular module is going to be delivering using ESI or if it's going to be using Angular or if it's going to be just displayed static. The template files, the tipple flips, can be PHP template so you can put code in there though it's strongly discouraged for obvious reasons. So just to summarize, we have the article body, they click a button, they get a pop-up that allows them to choose a YouTube video say, enter a little bit of details, they save it, enters the article body and it's available for presentation differently on all the various outputs that we have. All right, so page building is big. Before we can actually, you know, present something to our end users, we have to have a page and today our current page building process is not horrible. It's similar to how we do it with Drupal in that there's modules, we put modules on the page, but it's not near as flexible and not quite, doesn't support the rapid page building that we need. Currently our system doesn't really handle the many templates that we have, they're hard to track, they're hard to, they're hard to find, they're hard to reuse, it's just not a very efficient system for, you know, a highly optimized team. We need URL parity across all of our platforms, we don't have that today. Partly because of our current content management system, but partly because of the legacy technical debt that we have that we're trying to get rid of. Drupal gives that to us, it provides a mechanism to give us URL parity across big web, mobile web, and even when we bring our international properties into our Drupal, we should be able to do the same. And then our current environment, it's an inflexible layout, it's an inflexible layout, the, what happens when you try to drag a module and you need to configure it, the configurability of it is really painful and you have little to no control over setting parameters, controlling how that module is going to behave on the page. So we wanted to have a mechanism that we could easily configure a module, we could use a single module for a current condition module in three places and make that module behave differently in those three places, and in all three places without having to have three different modules. And we need a flexibility in how those modules are configured. And Drupal gives us a lot of flexibility in how we do that where our current system does not. So one of the ways we address all those requirements, we use a system called panels, a lot of you probably familiar with it, familiar with Drupal. It is a very intimidating system at first, but once you get through the training, it is a very powerful and flexible framework. And what we are using for in our case is it allows us to group a lot of the related variants of a page. So for example, we are talking about a forecast page, there may be a variant that exists for big web, there may be a variant for mobile web, it may have a different layout if the site is in severe mode versus not. There may also be a situation where we deliver a 404 page with a specific type of layout. So that gives us simpler management of those various aspects. In the past, you would have had to go to a completely different place, maybe search for the page layout, maybe edit it in HTML or JSP. We don't necessarily want to expose people to that pain. The other thing is we get to better reuse those variants. Once we built something once, we can clone it and reuse it on other pages. So let me give you an example of the type of layout we have available to us. Wow, nothing guys. You are already asleep. So we gave the Weather Channel a series of layouts. These are basically nine layouts that we gave them. And this might be considered inflexible if we didn't give them also the ability to modify the layout within it. So you can see here, this is something to break from what you might get a normal panels interface. We have a single row, but we have two widgets side by side. The way we did that, we introduced a module called Classy Panels. And what Classy Panels does is it allows you to change settings by saying that for this particular pain, we want it to be 50% width or 33% width, and it will automatically acclimate to the size of the container. So here's an example of it in use. Go ahead and set that to 33% width, and boom, we can drag it from one section to another, and then instant layout happiness. So variance. One of the benefits of panels is it gives us the ability to choose variance. So largely provides our capability for doing URL parity, but also providing different pages for the same URL for different conditions, different contexts. That context might be a different device. It could be mobile web over big web. It could be a severe weather situation versus a non-severe situation. But other types of rule, any type of rule that we might need to configure in the future, a sponsorship maybe, can allow us for that same URL to show a different page variant, which creates an extremely flexible solution for presenting pages to the user. So the context to what they're doing and where they're at, and the conditions that are going on and where they're at, is highly taken into consideration. All right, so we're able to use selection rules in panels and what those selection rules are. They're basically UI-driven, well, selection rules. They allow you to choose what basis particular variants are chosen. So here's a use case. We have these six layouts for, say, a forecast page. If we are looking at the forecast page for a location we know exists, we don't need the 404 versions of it. And if we're visiting from a big web versus a mobile browser, we don't need the mobile variants. And if we know the weather is in severe mode, we'll use the severe variant. And so the selection rules drive which layout is actually delivered, and then Drupal has made the page generation process simpler. So what's next? Jason's been promising me a continuous integration environment for a while, so I think we're getting close to getting that in place. Right, Jason? I'm continuously promising it. Yeah. Performance testing. We're a long way into the project. We hope to have a launch this year. If we don't, we're all fired. But performance testing is really big and we hope to get in that in the next couple of months. Still have some functionality to build, but we feel confident that we can take care of it this year. So a number of contrib modules have come out of this. These are the ones that are probably worth the most attention. We discussed these modules during the presentation. Custom or classy panel styles, that was one we developed, that allowed you to change the way the layout worked within the pre-existing layouts. There's actually going to be a power session on this a little bit later. Derek Drafts and Kendall Tottener delivering it together. It'll be at the media current booth. Wixnode framework, that is to say the one that allowed you to drop rich media elements into the article body, that's becoming Wizzy Field, and that's already in Sandbox. That'll be made available soon. I'll put it in the presentation notes. I didn't have the Sandbox URL available to me. And the presentation framework has a little bit more work to be done before it's rounded out enough to be a generic module. There are too many weather channel specific things in there. So that one's coming up as well. And these will be really great additions to the Drupal community. Thank you. Before we take any questions, I do want to thank, I give them a hard time, but we've really enjoyed our relationship with media current. And I want to thank Jason and Dave and all the other media current guys and also Acquia. Acquia has been a great partner with us from the day that we started this, helping us with high level architectural decisions and really guiding us through this. So thanks to both media current and Acquia for their guidance along the way. Also, our friends at NBCU, big help in mentoring us early on to kind of push us in this direction and make sure that we're validating again that we're making the right decision. So we have a mic in the back if there's any questions. What is your content deployment strategy going to be like with so many different articles? Are you deploying from stage to prod? Are your people directly on production? Could you talk about that for a little bit? One of you. Yeah, the article of creation is actually going to happen on a production instance. So the articles will be made available. The reason for this is that the delay between that comes from moving from a staging environment to production environment and the benefits that they get from it was not worth the effort. The articles are also fairly volatile. It's okay if we lose one or two. The ones that are evergreen, those are stored. Do you have any concerns about having a cold cash when you do clear the cash on production? No. How come? Part of our process is we are going to be writing some, what do you call it? The cash crawler? The six-primer. No, no, no. Where were you prime the cash? Cash primers? Yeah, cash primers. So yeah, and the cash priming will be easier because, of course, Drupal manages all the assets and we're going to have a system set up that parallelizes the priming. So, thank you. For the section you're embedding the information, the rich media, are you actually embedding some sort of token into the body field? How is that? Yeah, it is actually, it is a token, but it's not a token API token. And the reason for that is that token API does some things that we wanted to do a little bit differently. We wanted more control over the end to end. And so we use our own token. We use hook filter info to declare a filter processor and we process it on presentation. Does that answer the question? Yeah. A question for Chris. Do you have any colleagues in media or in tech who questioned or continue to question your decision for Drupal? Not really. Yeah, just me. No, not really. I mean, we, like I said, we've at least in, you know, inside the Weather Channel, surprisingly, we were not questioned at all, largely because of our supportive open source for a long time. Outside of the Weather Channel, I've not read, we've not really, you know, broadcasted what we're doing, so to speak. So there's not really been, I guess, an avenue for people to tell us that we're crazy for going that route. But we have a tendency to do what we want anyway, so we really don't care. But no, to answer your question, we've not heard any negatives about this decision. So I saw you had sort of preview images, maybe just on your slides between the different, like big web mobile layouts and so on. Do you have any sort of preview tool for content editors to see what it's going to look like in different contexts? So we're using publication status and the ability to view unpublished versus published articles and the way that the firewalls are basically built up to do previewing. We started on a process of enhancing the built in panels preview system. But given the amount of effort it looked like that was going to take, we stuck with the presentation. So with how you use an Angular, it seems like you've probably got a few round trips before all your contents fully loaded. Have you guys had difficulties or seen complaints around that? No, we've done a couple of tests. But the key thing that I think of what you're getting at is that every one of the Angular modules is going to do its own request. And in actual fact, the many of the requests are of a similar type and the queries are built to be aggregatable. So you can do a single query and get aggregate results. So there's an abstraction layer between the Angular modules and the service calls. And that manages how many calls actually get made. So if you're requesting six articles, it requests all six from a single request rather than six round trips. Now that is that there still are a number of round trips that happen in Angular. But the way the page is built we're minimizing the impact of it. Again, it all goes back to the cacheability, cacheability of the data in the browser itself on the client, cacheability of the data, the data services layer at Akamai, caching of the page template. There's so much caching involved that we obviously wanted to reduce as much as possible the hits back on Drupal. Because we don't want to have to load every page that comes to our site loaded out of a database. By the different layers of cacheability, we're confident that it will give us the performance that we need. Even though you're right, there are a lot of hits outside that on that page going to our data services layer. But the testing we've done has shown that it will be performant. When you talk about the data services layer, is that completely external from Drupal and then you just bring in that data at the time of rendering? Yeah, it's a completely separate system that was built with Scala on MongoDB. And it's kind of a, almost a data warehouse of data that comes from multiple sources, disparate sources from our weather forecasting data. We push all of our article content into it. And it basically pushes it out of the cloud. RESTful API into that has no touch points with Drupal whatsoever other than the calls that we make to it. And Drupal pushes content into it? Yeah, Drupal pushes the article content into it, for sure. Yeah, the idea behind the data services layers that it's, basically it's a really powerful key value store. And as you know, key value stores are very easy to scale. So this took the most traffic demanding part of the entire equation and made it a lot simpler to manage. And the group that works on that data services layer just go a little bit deeper since you asked about it. We sit right beside them. We've got web developers, our core reboot team, and the group that builds that data services layer. So we're all, we could reach out and again touch each other. So we're very close. And though we're not in production with this platform yet, the idea is that once we go into production as new products are requested by our product teams and the developers decide, work with that backend data services group to figure out what data we need. We work closely together to provide the services that we need if they don't already exist. A lot of cases they might not already exist. So we feel it'll be a very rapid type relationship. Any other questions? I go use the mic when I'm really lazy. Did you have any problems with data migration and any challenges that you could speak about?  Thank you. Yeah, we have had a lot of data migration problems, not necessarily because of data migration problems, but because we've changed our minds several times on how, you know, what we want the data to look like. Specifically, one of the areas that was kind of a pain was on the weather nodes. We changed a lot of the formats and how we wanted them to work. So they could, when they originally built, they were built to work with our website. And that's it. They weren't built to work with our mobile website and how they were structured and the way the fields were named and all that. We also have a lot of data with images and videos and just lots and lots and lots of data. And trying to make sure that we do the right things with that data, bring it over in the right way that fully maximizes SEO, cagarization. It's been a real pain. And frankly, one of the harder things that we've done on this project. So great question. But yeah, it was, it's, we're not 100% there yet.   But we're rebuilding all that with our reboot project. We've got most of it done, but it has been kind of painful. Any other questions? All right, thank you. You mentioned SEO. Moving to client-side rendering, since we're offering SEO for SEO strategy, exactly what you're using for the content that's molded with SEO? Yeah, the strategy primarily revolves around Phantom.js. So we're doing Phantom.js to help provide a lot of that. And just in case it wasn't captured, the question is what was our response to SEO problems rising from rewriting the page in JavaScript. Yeah. And just, you know, anecdotally, I don't know if anyone's read the article, but Google now has announced that they're gonna start, when they're doing their crawling, they're gonna start rendering the page more like a browser and actually executing the JavaScript. We're not 100% sure if that's gonna give us the SEO lift that we need, but potentially could drastically reduce our need for Phantom.js. This literally happened last week or week before last. So it's late-breaking news, but good news nonetheless. So the question was, can we talk a little bit more about how we're managing images? You want me to take this one or two? I'll handle it. So we're doing it differently today. The way we're doing it with, if I'll leave anything up, you can fill in. The way we're handling images today with our interim content entry solution is different than the way we're doing it in our new platform. Today, in our current platform, since it has to work with our existing web-serving practical platform, we're storing, we're using the same images that have always been there. We just import the metadata and we're tracking them in Drupal after we did the data imports. In the future, what's happening is images will get loaded into Drupal through normal upload functionality, just like we're doing today. And we're storing the metadata for those images, pushing those mezzanine images to S3 and AWS. And our data services engine has a mechanism, a service that will provide image cutting for us. So once we push those mezzanine images into the data services layer, as the different clients need images for pages or articles or whatever, they can make a call and grab that image. I don't think we need it, right? Does that answer the question? We're managing the metadata. So the searching and applying images to articles and using images in our media modules and content surfacing inside Drupal through that interface is using that image metadata, but Drupal is not housing the actual images. Well, the mezzanines it is, sort of. So we're using a media module, StorageAPI, and the images are stored as file entities. StorageAPI is delivering them in S3, including the mezzanines. So it basically keeps track of where they're being stored. When they're requested, they're actually pulled from S3, re-sliced and delivered locally. But in the case of things, and then cached. And then cached, yeah. Thank you. Thank you.


What's up internet? Today, we're gonna be talking about pano makabilin ang pinakamurang office computer. So, basically tips on how to get the best value for your money. And number one, it's just buy what you need. To keep costs down, just get the very basic what you need. And what you will definitely need is a case, but you don't need to get an expensive case. And you can buy a case which already comes with a power supply unit like these cases behind me. These cases are around 1,000-1,200. And the nice thing about them is kasama na yung case, kasama na yung power supply unit. The power supplies included in these kinds of cases are, you know, they're generic, they're unbranded. So, lots of people don't like them. Marami nagsasabi ang basura, magdaling masira, masusunog lang computer mo. And on one hand, that's true. If you're building a gaming rig, if you're building a more expensive setup, you do want to spend more for your power supply. Because you're asking a lot more from your computer if you're going to use it for graphics rendering or for video editing and things like that. Pero yun nga, babalik tayo dun sa unang punto. If you're just using it for an office computer, then these generic power supply units are very good. And number two, they're very cheap. So that's what you're looking for in a very basic office computer type setup.  Another thing that you need is get a CPU with integrated graphics or get a CPU that doesn't need a graphics card anymore. So you don't need to buy a graphics card. You can save yourself some money. Admittedly, the manufacturers don't make it easy. Medyo nakakalito, tingnan kung ano ba may onboard graphics and ano yung wala. For Intel, if they put an F beside the number, for example, the i5-9400F behind me, if you see the F, that means you need a graphics card and that's not the CPU that you want for an office build. The one behind me, we use the i3-9100 and then the one here, we use the Celeron CPU. So, you know, these are the kind of CPUs that already have onboard graphics and AMD. Have CPUs as well. Make sure you get a CPU with onboard graphics para hindi mo nakayalangan bumili ng graphics card. But what you definitely need, I will recommend and a lot of other TC builders locally do not recommend for office computers is buy an SSD. Sobrang mahalaga ito for your quality of life. Things will be, everything will be a lot easier and faster with an SSD. So what's an SSD? Basically, it's a kind of hard drive so it just stores memory, but unlike the old hard drives which have spinning parts inside, the old hard disk drives, SSDs have no moving parts so everything is electronic and because of that, everything is a lot faster. Kaya mabilis yung mga cell phone natin because yung memory ng cell phone ay SSD. That's why cell phones boot up so fast and so I'm recommending even for office builds to get at least a small SSD, maybe 128GB or 256GB. Just enough so you can store your OS and some programs like office on the SSD. Everything is so much better with an SSD. I cannot stress this enough. Spend an extra amount of money. It's only around maybe 2500 or so for a small SSD and your quality of life using the computer really improves. Along with the SSD, I recommend at least a 1TB normal hard drive, normal HDD which is also around maybe 2300 or so because since the SSD is so small and after you install the OS and other programs on it, you won't have a lot of room for your files. So your 1TB normal hard drive is there for your picture files, your Word files, your Excel files and all of the other things that an office computer accumulates. Para sa office computer, 8GB, 1 stick, 1x8 of RAM is enough or if you want to go with 2x4 if you want dual channel memory, that's fine as well. But 8GB of RAM is more than enough for a standard office computer and the speed because RAM comes in different speeds from let's say 2000MHz pataas. The speed doesn't matter. Yes, faster is better but since budget rig to para sa opisina, any DDR4 RAM of 8GB, any speed is basically okay. Basically, hanapin mo lang yung pinakamura okay na yun because again, this is a budget office computer rig and any speed is fine for this setup. Usually the office computers come with included monitors because you want it as a package and my tip here is just go for the cheap brands. A Open is good. A Open is the one behind me as well as AOC, also behind me. Usually the size of the monitor is around 18.5 inches, 16 inches. These are really teeny, tiny monitors hindi masarap gamitin pero yung na, if you're just typing or if you're just basic surfing and again, it's a budget office computer, these will fit your requirements. If you still have room in the budget, I would really recommend getting maybe 23 inch or 23 inch or 21 inch monitor because that's also a quality of life issue. I've noticed the bigger the monitor, the more productive people can be especially because you can have multiple windows open at the same time like your window, your word file is here and your Excel file is here or your email is here or whatever. So bigger monitors are nice to have but if you're on a budget AOC and A Open are okay alternatives. They'll be pretty reliable the last few basically the lifespan of your office computer. Of course, yung pinakamahalaga sa pagbili ng office computer kailang mo maghanap nung computer store or computer technician na pinagkakatiwalaan mo. It's easy to get confused with all of the parts and all of the specifications like entaming numbers and dami mga 3,500X on a difference noon sa 9,700K and bakit 32, hindi 8 and ano ba tong RGB? There's so many things about PC building that can be confusing. So you do need to find somebody trustworthy that can advise you and that can actually honestly tell you na okay, ito yung kailangan mo ito yung hinahanap mo office computer ito lang kailangan mo you only need these specs you don't need these high end specs because to be honest a lot of people will try to take advantage if you're not too familiar with computers still recommend things that you don't really need and well, siyempre medyo bayas ako but if you're looking for an office computer you can trust us here at hardware sugar to be honest we usually do higher end rigs that say gaming computers worth 100,000 per computer or 80,000 or things like that but we cater to everybody and regardless of what computer you buy from us you can trust us to make sure you're only getting what you need we will not try to upsell you on items that you don't need di ka namin dolo ko hin oi kailangan mo ito kailangan gan yan pero actually you don't need those things so like these basic office computers behind me they're going to a doctor and one is for the secretary and one is for the doctor herself and these things came out to around 20,000 pesos roughly including everything that's the that's the computer behind the complete computer behind me as well as the monitors as well as the keyboard and the mouse and things like that and you can build a decent office computer for around that much 20 or so thousand pesos and we put our money where our mouth is I recommended to the doctor that she put SSDs and these do both of these even the secretary's unit has SSDs because they're a big quality of life improvement for whoever is going to use the computer so I hope that these basic tips help you if you found this video helpful please drop a like and hit the subscribe button for your PC needs consider buying from us hardware sugar at Lazada or on our website you can find links in the description below and thank you for watching see you next video


Okay, so go ahead and introduce yourself. My name is Keith Under. I'm a student at Simebe Community College and I'm a biofuels major. I plan to go to or your university UNM in the future. Okay, so what did you do? What was your research experience? Well, I'm growing green algae, Clamidumonus, Reinhardti, 125 wild type and we're growing it under high CO2 conditions and doing imaging on it with a hyperspectral, conifocal microscope. How's your experience during this internship? It's fun, it's interesting. I do something every day. Would you recommend this internship to somebody? Yeah, I would. Yeah, you can edit that out later. How did you hear about this internship? The voices in my head told me. No, it's joking. What asked you the answer? How did you hear about this internship? One of my instructors from my biofuels 2 class actually suggested that I get some information on it and I did and I liked to write it on the website. Is there anything you have to say about the New Mexico Epscore and the opportunity? New Mexico Epscore is pretty awesome.


I hope everyone is ready for another episode of Hashtag El-Anti. You guys know what number episode it is? If you've been following up, then it's episode 18 of this very special show, Ramadan special show coming to you live from the Holy City of Karbala, of course, myself, Ahmed Ali. Now tonight's episode is very special. If you have a high temper problem, then tonight's episode is right for you because I'm going to give you some tips for the night. So what you guys have to do is wait a little bit to go see what's trending and we'll be back. For me, I'm calm right now, but I don't know what's going to happen in five minutes. But let's go check out what's trending and come back very shortly for this stage. Once again, welcome everyone for joining us tonight. Now once again, I do welcome you to another episode of this special show. Now you already know we are the coming live from the Holy City of Karbala. Now there are new promising news that research scientists are able to find out in early stages if a person has cancer or not through new biopsy tests which are available out there. Now ten cases were revealed that early stages of cancer and it's very easy for people to get treated. One great idea is always go do get checked especially if a person within your family got forbid has cancer. So do go and check within your clinics, your hospitals and stuff. Very important for you guys and as everyone knows getting detected early stages is better than later stages because it's very hard to get treated. Now another topic or another what's trending which is unfortunate, E. coli is back in the States, killed five and 197 right now are struck with this disease and it's unfortunate that it came back but in Arizona the guy five people died and it's unfortunate as I mentioned but let's hope the cure is, so the reason behind this is because of romaine lettuce I'm not going to say why because if you know the agriculture and how lettuce is grown you probably know why E. coli is back but let's go and jump in and see if I'm going to be angry tonight or not so let's go and do that. Now as we all know humans and animals go through mood changes I mean if you don't treat your dogs and your cats well they're going to be upset so give them those treats. Humans on the other hand when they accidentally drop their phones in water or when they're about to hit a car coming high speed in their way just like what happened to our co-producer Ali Jassim you know he drops in Nahr El-Hassaniye with his phone the Huawei the phone is dead now he's angry he's pissed but you know the guy he's he's he's cool tempered so he didn't get angry but when humans do get angry they tend to start swearing a lot whatever is near them they throw it out of anger and sometimes they end up beating up their friends or the person that made them up angry but sometimes and majority of the times a lot of people regret what they've done after a while which is it's it's it's very common to see that a lot of people say some random stuff and then they regret it after on the other hand a lot of people say that when I do get angry and I express my anger it relieves it because keeping it inside is sometimes it may it might be dangerous because it might kill some brain cells now anger is a problem that a lot of people a lot of people in this world face and tonight we're trying to talk about something very important we're trying to talk about how do you manage your anger not your question for tonight how can you manage your anger now if you have special tips that you use appropriate tips of course you can let us know at plus nine six four seven seven four zero six seven eighteen thirty six everyone that participates through the WhatsApp of course or free free that there's no charge call via WhatsApp voice message text message everyone that does that their names will place in this fishbowl right here for a chance to win a free trip to Karbala we're also live on Facebook so do go on Facebook at Imam Hussain 3 TV check us out there give that thumbs up comment all the people that comments answering tonight's question not Salam Ya Hussain answering tonight's question their names will be placed in this fishbowl for a chance to win a free trip to Karbala exclusive on our house along with other giveaways hopefully in tomorrow's episode we'll have those we'll have those gift giveaways and giveaways on this desk right here to show you guys but let's go take a break and come back to talk more about how you can control your anger welcome back give yours now before the break I was just talking a little bit about how you can manage your anger and a lot of people use the excuse that might relieve them when they do express their anger now we do remind everyone to call in and participate in tonight's episode and let us know how you manage your anger and what tips you use to manage your anger number shown at the bottom call us text us send us a voice message all that good stuff but anger it's a normal emotion it's not something that a person you know only specific people go through it no no no everyone has faced this problem once or twice or 50 or million times within their lives the people that mostly get angry and I don't know is it safe to say the married ones sometimes do get more angry than than the than the single ones because of the children the stress and then the response to be done so we'll get to talk about that later on but it's it's it's a normal emotion that a person goes through but what's important is to deal with it in a positive way where because as I mentioned earlier a lot of people when they do say something it's it's impulsive it's not it might not be themselves and sometimes an action might lead to you know certain things so we have to always look at some tips that's why we have for you guys 10 tips today how to manage your anger number one is think before you speak and that's very important thinking before you speak is one of the tips that you know I need and everyone needs because sometimes I do get angry and so right there it's it's it's basically what what you what you need so think before you speak if it's true so T as in is it true H is it helpful I is it inspiring and is it necessary K is it kind if you don't know how to read I just read that out for you guys I don't know why but you know I just like to be nice to guys but yeah so and a wise person once said I wish that my neck was as long as a camel's so I would think twice before saying something if you think or if you know who that wise person is very very very famous person and very high-respected person do comment and let us know who you think that person is because you know a lot of people did just just to quit a lot of people say why not as long as a giraffe's neck it's longer no no giraffes don't have voice camels have voice this person is the wisest person has ever seen but this brings us to the other tip once you're calm express your anger so what do I mean by that you know you're expressing your anger and then you're calm at the same time yes when you're calm you're able to think more you're able to solve problems you know in a safer way you're able to think better in a situation a tough situation especially if it's family related if it's you know friends related and so on and so forth this brings us to the third tip which is do some exercise when you're angry just run out of the house just jog out of the house or you know just keep like a jump rope in your pocket just in case you get angry and start skipping some rope do some jumping jacks and you know run like this guy run out of the house no I'm kidding but do some exercise because honestly and this is very important and very effective as well exercise really helps the person relax and changes the mood a lot but but but three times we just have received a text message from Sarah D from India anger is a normal emotion however it can get you in trouble if you can't keep it under control well for me the best way is breathing out as per religion terms evolution okay breathing out a balloon okay terms evolution is the best way to deal with anger okay so she means will look okay so she she she means will look so she does evolution religious will look before prayer that also if it works for you that's beautiful if it does work for you everyone else if you're angry go try that if it doesn't work try something else we'll get to find out what but but yeah sorry forgot to write your name Sarah Sarah D okay thank you very much Sarah for joining us tonight from India your name will place in the fishbowl first name for today now we were just talking about running away not running away from how from home but just taking just doing exercise when when you're angry or according to Sarah go do a little because it might help for you guys but another tip take a timeout you know don't think if you take a timeout you're a kid now no no no taking a timeout is something good you know you're you're when you're angry sometimes you get like a kid you become like a kid you start whining over stuff so do take that time out especially if you're going through a rough day you know the when a person goes through a rough day especially in a mawan people's tempers are out of the roof you know any small thing can get on a Muslim fasting on on their nerves so what you need to do is breathe in inhale from your nostrils exhale from your mouth so join me as you want to only inhales a shim as the the producer just said but we just received an audio message from how rough I'm camera what is how I say I think anger is a very strong emotion it is an emotion very hard to control or manage I think one of the ways to manage anger is through saying Allah Muhammad or Muhammad or just kind of calming yourself down and understanding the situation you're in and is anger really gonna help you solve that problem I think that when you're in a problem and then you get angered it will only make matters worse so I think just being calm during frustrating situations and understanding the situation is one of the steps into managing your anger thank you thank you very much Hawra and if that works for you as well that's beautiful saying Salat Muhammad or Muhammad so let's all say Salat Allah Muhammad or Muhammad Hasan Mustafa everyone join me Allah Muhammad Ali Muhammad but Hawra to my right yeah I know that I can see but yeah Hawra Hawra from Canada your name is going into the fishbowl all right thank you very much for joining us tonight now a so another tip from Hawra we got is saying Salawat Allah Muhammad or Muhammad when you're angry and trying to solve the solution when you're calm instead of when you're angry and your actions are all impulsive you just want to fight back you just want to prove your anger improve your emotions so do stay calm now another tip is identify problem solutions so if a person is irritating you which sometimes a lot happens to me people sometimes irritate me in certain things you know especially well I don't want to go there but if someone bothers you or he or she try to ignore them go somewhere else where they're not there don't look at them if they have to be there if you're in a car don't just like parking in the middle of the road and just go to the car no no just ignore them that's very important as well and there's an Arabic saying specifically that says the air close the door from which the wind blows and relax so what means is that if there's a headache coming your way from a certain person ignore them ignore that person you don't have to you know continue on being there and listening to what they have to say not some point as well now another tip tip number six stick with the I statement and this is very important as well always try to calm yourself down by maybe saying to yourself sometimes maybe I was the person that caused that problem maybe I was the reason so keeping that in mind and thinking about going back to possible solutions thinking about different solutions might calm you down and it's a high chance that it will tip number seven don't hold grudges towards anyone and this is very important as well you know it's mentioned in the Bible it's mentioned the Torah it's mentioned in the Quran that a person who forgives he's actually doing a trait that Allah subhanahu wa ta'ala has the all forgiving so when you do when you forgive that's number one it's relieving your stress because you know that if you and there's a hadith for that as well by Mumsada who says whoever forgives Allah forgives his sins so do forgive when someone angers you do forgive it's it's something very very nice we just really we just received another text message from Ali Caldome from the United States he says for anger what works on me is reading salawat three times and sending salatations to Imam Hussain or reading do I'll forage okay if that works perfect perfect Ali Caldome okay okay so Ali Caldome from the United States thank you very much for joining us tonight now before we move on to the eighth tip let's go and check out the Islamic counselor aka Barak Hussain the Islamic counselor psychotherapist joining us tonight talk about other tips of how you can manage your anger so to that we'll be back very short Salam alaikum this is sister Barak Hussain psychotherapist the Muslim counselor let's talk about anger and how it affects us and what are the responses that we have to it it's a natural phenomena that happens to us when we become upset with something and it's a natural response that comes out of us when we are triggered by something and it's important to understand and learn how to manage it better so that we don't come out with explosive emotions that could hurt ourselves and people around us so step number one to managing anger involves researching your anger so this means looking at the triggers that cause you to feel angry or upset or irritated so sometimes it's a physical response such as clenching or tightening of the jaws or sometimes our stomach gets upset or sometimes we start speaking louder or we speak lower so it's really important to understand what are your personal responses to anger sometimes it could be an emotion and we replace the word anger with let's say irritation or upset or annoyed or bothered so it's really important to recognize what are those triggers ahead of time so researching that and also writing a list perhaps of what are your triggers to understand that are talking it over with somebody who knows you or who lives with you to give you a better perspective of that so step number one research your anger know what your triggers are step number two is to cool down which is probably very very hard step number one looked at looking at those triggers ahead of time so you have more opportunity to catch your anger before it gets to that point so when you have that awareness then you can cool down so during this step we all have different responses to how we can cool down very effective techniques include deep breathing so breathing in through your nose holding your breath and then exhaling out through your mouth this has proven to help with stress lowering the stress response in our body because what happens when you get angry is that your heart starts pounding you start sweating you just it becomes really hard to think properly because our frontal lobe which is where our emotions are situated in our brain and our amygdala in there they become really triggered and it's hard to think clearly when you were overstimulated like that so doing the breathing technique muscle tension relaxation perhaps going for a run writing a letter ripping it up or perhaps punching a pillow the point is is to get that excess anger out of your body physically and emotionally and mentally so that you can start cooling down step number two step number three involves after the cooling down is after you thought things through of course by the way for step number two cooling down also involves stepping away from the situation so leaving the room telling the person I need to go cool down and then I will speak with you later so step number three now is after you've cooled down and you've managed to you know do your deep breathing or whatever it is that you need to do to cool down is to set up a time to talk about what are the things that are upsetting you so you can talk about your partner your friend or your colleague sibling whoever it is so set some rules basic rules such as no name calling no being rude or anything like that and you want to have a very effective discussion and where it would contribute to solving the issue so for example when you are having this discussion you don't want to have accused accusative type of statement so you don't want to accuse the person so using I statements so for example I felt very upset and unheard when I didn't get to finish what I wanted to say rather than saying you interrupted me you did not let me speak this right away puts the person on the defense so when you bring it back to you and say like we said you know I didn't get a chance to finish what I wanted to say and that made me upset taking ownership of that gives the opportunity again for the other person to hear you and be listened to is all sorts of other statements that you could make that could bring it back to you and you can cool down the situation and open up the communication with the other person where you're actually discussion discussing these issues and finally it's really important to understand that it's never okay to be abusive or violent when anger is involved so if you're in a situation and it's getting out of hand like that it's really important to understand that you have no right to give that kind of negative response to people around you it's never okay to be violent or abusive and of course if you are at the receiving end of it is to try and get out of that situation so the three steps we took a look at in terms of managing anger are researching your anger cooling down and actually having an appropriate time and place to discuss this with somebody so key thing in all of this is to understand awareness being aware of how you respond to anger so that you can learn to catch it on sooner manage it sooner and it is very possible I mean I see a lot of clients who come in I want to learn how to manage my anger you know I have a really fiery temper etc etc and with practice with meditation with breathing it becomes really possible inshallah to to work on your anger that way and of course any other habit or maladaptive behavior that we want to change inshallah till next time take care sister Barak Hussain for joining us tonight the Muslim counselor from Ottawa Canada thank you very much once again and very beneficial tips hopefully everyone can learn from them now we'll go to the Facebook comments and we'll read some of them out to see what ways people are using now Iman Zahra she says or sorry he says I really don't know if it's a he or she we can control anger by performing with okay so and by acquiring patience or either when you are angry if you are sitting you can control your anger or by standing and vice versa Iman Zahra from Kashmir Iman Zahra Facebook all right thank you very much we're over here thank you very much Iman Zahra for joining us tonight another person new person Jawad Jawad he says on a person becomes angry whether as a result of provocation or not he has the choice to control his anger by responding to it in a way sanctioned by the Quran and the traditions of Prophet Muhammad or he could give into the wave of emotion and behave in a way that displeases God but delights Satan thank you very much Jawad for joining us tonight but if you can message us telling us where you're from so we can write that down as well let it down later on but Jawad thank you very much Jawad for joining us tonight back to this camera all right tomorrow inshallah we're going to give a special shout out to everyone that has continuously participated in the show so we're jot their names down fully we have I think ten people joining us every night and participating and joining us but participating every night so we'll give them a special shout out into more episode inshallah but going back to the topic about for those we are getting a few Facebook comments we'll get to them but whatever comments during the live show your names will also be placed whether in the show or after the show if we don't get to them after the show definitely into the fishbowl now going back to the topic we talked about the tips number nine tip number nine we got to tip number nine practice relaxation skills if you guys have watched bad boys too not giving a shout out but you know if you guys have watched that and and they do the when when they rub their back of the ears if that works for you they go ahead man go try it out but tip number ten know when to seek help and that's very important because a lot of people tend to get over angry and over emotional we have a few guys but you know we don't want to give names but you know they get over emotional we call them a sass more you know exaggerate so go and get help when they're angry they start cursing and stuff go get and they get angry very easily go get help it will help you a lot and it will make you a better person now moving on to the third segment of today and that's looking at the narrations of the Islamic perspective of how a person can manage their anger now from the hadith you have Prophet Muhammad sallallahu alaihi wasallam who says I like that shot today sharia to mustafa Nazir and sharia to Hassan Allah on my on my left but Prophet Muhammad sallallahu alaihi wasallam he says anger spoils faith as honey spoils vinegar so let's repeat that anger spoils faith as honey spoils vinegar so it's very dangerous for you another narration by Prophet Muhammad says anger is an enemy so don't let it control you you know in a fight you don't want the enemy to control you you want to control your enemy now with anger as well it's a fight so don't anger control you another narration he says when anger comes over you then overcome it with forbearance and dignity and that's very very important for tonight very important let it let us be or let us have the trait of forbearance and let us have the trait of dignity because all of us do need that but for tonight we're trying to tell everyone just chillax you don't need to get angry because life isn't worth it you know if you lose a million dollars um I would get angry but you know just don't get angry and just just follow the tips that we mentioned and do follow the tips of Sister Barak Hussain who has joined us again in tonight's episode finally finally I would like to say thank you for everyone for tuning in tonight and we are live every night up until the aid aid is where we do the final draw for everyone that has participated and we'll get the names for one name wins a free trip to Karbala and other many many giveaways to those who participated in the show. Thank you very much. This is Ahmad Ali live from the whole city of Karbala. The late night talk.