Hi and welcome to the session. I am Asha and I am going to help you solve the following problem which says factorize and factorize these two problems. Let us first learn a simple identity which says if we have A square plus B square plus C square plus 2 into A into B plus 2 into B into C plus 2 into C into A then this is equal to A plus B plus C whole square. So, with this identity and key idea with the help of which we will solve these two problems. Let us now start with the solution and the first one is 4x square plus 9y square plus 16z square plus 12xy minus 24yz minus 16xz. Now, here 4x square can be written as 2x whole square, 9y square can be written as 3y whole square and 16z square can be written as 4z whole square. Here xy can be written as 2 into 2x into 3y, 24yz can be written as into 3y into 4z and 16xz can be written as 2 into 4z. The given problem which is 4x square plus 9y square plus 16z square plus 12xy minus 24yz minus 16xz can be written in the form of A square plus B square plus C square plus 2ab plus 2bc plus 2ca. Now, here A is equal to 2x, so we have 2x whole square, B is 3y whole square and C is 4z, so we have 4z whole square. Now, let us see these two terms. Now, both these terms are negative and the common literal in both these terms is z. So, z must be a negative term that is the literal z had the coefficient as negative, so here also we must have this point as negative. So, this is the main thing which you have to remember while observing these two problems, the number of signs if they are even and have the negative sign then we see the common literal and then we assign the negative sign to that term which have the common literal. So, further 12xy can be written as 2 into 2x into 3y then we have minus 24yz can be written as 2 into 3y into 4z and 16xz can be written as 2 into 2x into 4z. Now, further it can be written as 2x whole square plus 3y whole square plus minus 4z whole square plus 2 into 2x into 3y. Now, this is plus and since plus into minus is minus, so it can be written as 2 into 3y into minus 4z. Since minus 4z is a negative term and the last again writing in the same form plus 2 into 2x into minus 4z. Now, this is in the form of the left hand side of the identity where a is equal to 2x, b is equal to 3y and c is equal to minus 4z and that is when applying the identity this can further written as 2x plus 3y plus minus 4z whole square which is further equal to 2x plus 3y plus into minus is minus, so minus 4z whole square and this is 2x plus 3y minus 4z into 2x plus 3y minus 4z and hence the factors of the first one is 2x plus 3y minus 4z into 2x plus 3y minus 4z. So, this completes the first part and now proceeding on to the second part which is 2x square plus y square plus 8z square minus 2 root 2xy plus 4 root 2yz minus 8xz. Now, let us write down 2x square as root 2x whole square. Similarly, y square can be written as y whole square and 8z square can be written as 2 root 2z whole square. Now, observing both these negative terms we find that the common literal in these two terms is x, so we must have 2x square as minus root 2x whole square. Now, let us write down the rest of the terms. First we have 2 root 2xy which can be written as 2 into minus root 2x into y. This is also a negative term, so minus 2 root 2xy can be written as 2 into minus root 2x into y, 4 root 2yz can be written as 2 into y into 2 root 2z and the last term which is minus 8xz can be written as 2 times of minus root 2x into 2 root 2z. Now, the given problem which is 2x square plus y square plus 8z square minus 2 root 2xy plus 4 root 2yz minus 8xz can be written as root 2x with a negative sign whole square plus y whole square. 8z square can be written as 2 root 2z whole square plus minus 2 root 2xy can be written as 2 into minus root 2x into y plus 4 root 2yz can be written as 2 into y into 2 root 2z and the last term which is minus 8xz can be written as plus 2 into minus root 2x into 2 root 2z. Now, observing the identity we find here that a is equal to minus root 2x, b is equal to y and c is equal to 2 root 2z and that is the key idea plus it can be written as minus root 2x plus y plus 2 root 2z whole square this is by a key idea which is further equal to minus root 2x plus y plus 2 root 2z into minus root 2x plus y plus 2 root 2z and hence this is our answer so hope you enjoyed this session take care and have a good day.


Hello everyone, with us we have Benjamin Bishof. He's a Test Automation Engineer at Travago and today he would be speaking on the topic of plugins and decorators, Travagers, end-to-end test framework in the spotlight. Welcome Benjamin, the stage is all yours. Thanks a lot for having me. Hello everyone in the world. Let's get started. So this is of plugins and decorators. It's about two major things that we built into our in-house end-to-end test framework and I thought you might be interested to see what we did. Maybe it's an inspiration to you or maybe it inspires you to do something completely different because you think this is not a good idea. So what I would like to do is give you a little introduction, tell you why we decided to make a new framework at all, some of the challenges and solutions and some last thoughts. Little disclaimer here, it's very technology heavy, very cold heavy as well. The cold examples are in Java because that's the language I use daily and if there are any questions I can actually answer them and like I said what works for us might not work for you because good solutions solve very specific problems and I'll tell you what exact problems we had. So that's me. Thanks again for the introduction Benjamin Bischoff. That's my name. I'm a test automation engineer at Trivago. I've been working there for the next year. In total I'm 22 years in tech, 15 years, 100% of full developer and then I transitioned gradually into the world of testing. So now you could call me a software development engineer in test and I write articles on my website software-tested.blog in case you're interested to read what I have to say. On Trivago it was founded in 2005 in Düsseldorf, Germany and it was the first German hotel meta search that lets you search for your hotels based on different criteria and dates and filters. So that's what we do. So you might have seen our product here. That is our main website that you can search hotels on. So you see at first glance that there are a lot of components on this website. There is a lot to do, a lot of filters, so it's rather challenging to test. So why a new framework? When I joined the company in 2016, there was a framework already in place. I will not mention any names because it is still around and still used, but for us it was just too bloated. There were too many technologies crammed into it, too many ways you could do things. It was too chaotic also because there was no real structure to the test. For us, really important, it was not able to handle A-B testing properly because that's what we rely on heavily and it was rather hard to solve company specific problems. So in general, when building a new framework, there are a lot of questions you can ask, what problems should it actually solve, who the target audience is, if there are any dependencies and interfaces, tools that are already in the company, things like where should it run, how should it be triggered, what should the reporting be like and all of this. So we went through all those questions and then did a lot of evaluations as well and then in the end settled on a Selenium-based framework. Why Selenium? Because it's proven, it's a proven browser automation technology. It is compatible with most browsers and devices. Super important for us, it can handle multiple windows and tabs. A lot of of newer frameworks cannot do that, but our main web application relies on tabs and windows. So this is really important and it has the standardized web driver protocol, which makes it very nice to work with. The test framework we wrote is a pure Java framework. Like I said, I started it in 2016 as a follow-up to the old framework we were using. It's based on the latest Cucumber, BDD and Selenium versions. So we can actually write very descriptive tests. Because it's Selenium, it supports various browsers and OSs and mobile devices as well because the protocol that it's using is the same that it's used by say Appium, so we can run web tests on mobile devices as well. And another important thing, it has a plug-in API and this is actually the second challenge I will talk about today. So the challenges. For us, a big challenge was element resilience and hierarchy. And I will tell you what I mean by that. But first we have to look at the Selenium web element. That is something you are probably all familiar with because it's the building block of all Selenium code. It's the representation in code of a DOM element on the website. Typically findable via locators in Selenium that is the buy keyword. So it can be by tag name, can be by CSS, by Xpath, various methods, and it supports various interactions like clicking on it or inserting text. So that's the basic thing. What it does not support is automatic stale element handling. If you are using Selenium on a more complex website, you might have encountered that. If an element flickers, it is reloaded, Selenium might give you a stale element exception. That means that the element is not there anymore. And I totally get why Selenium doesn't handle this for us because it is remote control for browsers, nothing more. There is no real element hierarchy. It is kind of there now because you can chain locators. You can search for locators inside of other locators, but we wanted to have a real parent-child relationship. And a minor point, but an annoying point for us was that there is only one fixed standard timeout for weights. You can use fluent weights, of course, with other than default timeouts, but we wanted to have a more automatic way to do this. So what we decided to do is program a custom Web element. And to understand a little more of what we're doing, here's a short look into page objects versus page components. So page objects, that is a standard way for a web-based test. That means wrapping the page functionality into classes. So you have everything you can do on a page through a single entry point and very encapsulated units of code. If you see the right side, the orange border, that is the page. And on the lower left, you see search page dot search for London. Search page is the page object. And search for is the method in London is the parameter that in this case is entered into the search box. But we wanted to have page components, something that actually is mentioned on the Selenium website as well, that you can use page components instead of page objects. That means wrapping single components into classes. And then combining those components into pages. So in this case, you can delegate the actions through a page to the specific component. Again, the orange border in this case is the component. So we have search page, which is the page dot search, which is the search component. And then the search for methods that is part of the component. That's what we wanted to do. Now, don't let this put you off, please. I will highlight the code parts that I wanted to mention. This is how it would look in our test code. So in this case, the search page extends a page. And the page is our base page. And this page has just access methods to all of its components. Like here, in the previous example, when you do search page dot search, it returns you the search component. And for this, we have the get component method that is part of our base page that is able to return page components. And it can return those components that extend our component class, which is a base component in the framework. A little side note. Generally, we search for elements through data test IDs. So we don't really rely on any other locators. But we have our own data test IDs in the page code. So that makes it much, much easier to access those components. And on the right side, you see the find by with the orange border. So the add find by annotation that belongs typically to Selenium to search for Selenium Web Elements. But in our case, we use it to search for our custom Web Elements. And I will show you later in the code how we can do this. This is the whole component in Web Elements flow. And don't worry, I will try to make it as clear as I can in this short period of time. This could actually be a many, many hours. And I was struggling to compress this down to a single presentation. So let's try to go through this. So what happens, as you saw, we request a component from the component factory. I will show you in the next slide how this works. Because we use Spring in the framework, we also retrieve the component. And when I say component, I am page component from the Spring context. And then to handle the find by annotation that is typically used by Selenium, we apply a custom field decorator. And the field decorator is actually part of Selenium as well. So this is where it starts. Like I showed you, you do the get component, search.class, which would return you the search page component. And we have a factory class that is able to return those components. Like I said, this is where it is retrieved from the Spring context. It's important for us. It might not be important for you if you don't use Spring or any other dependency injection framework. Just ignore this line. The important one is this one. That is a field decorator that is typically used in Selenium to find elements by custom locators. But we use it differently. And I will show you how. The important thing here is that we create this custom field decorator using the current web driver. And the properties we pass to the framework that is typically system properties to have some specific settings. And this is where the magic happens. The Selenium page factory init elements method, this one initializes the elements, the components of a page using this field decorator and using the requested page component. If you have any questions afterwards, I will try my best to answer them. And also, I will try to make this slide set available for you in case you want to look something up. The page factory, that's interesting. I found this quote from Simon Stewart from 2017 saying, the page factory design ain't my best work. I'd recommend using it for inspiration for something better. I have to slightly disagree here because for us it was exactly what we needed to solve our problem with the web elements. Okay. So we have the field decorator and now the magic continues. We are registering a callback on the components to intercept methods. And this is where this happens. This is our custom field decorator that implements the Selenium field decorator interface. And the important part is that this interface has a decorate method. And this took quite some time to figure out. But the class loader here is the web driver. And the field is the variable that is annotated by the find by annotation. So here we check if we have a find by annotation. And if this find by annotation annotates our custom web element. And if it is one of our custom web elements, we add this callback method. For those of you who are into Java reflection, we use the cglip library to do that. It's called an enhancer. And this enhancer makes it possible to intercept any methods that are called on a specific class in our case on the custom web element. And what that enables us to do is whenever you interact with our custom web element, then it is initialized. It's like Selenium works when you do a find by annotation on a web element. It is not initialized yet. It's just a proxy that waits for interactions with a web element. And then it's being initialized. This is done to save memory and to make it faster. And we mimic this. So this is the intercept that you don't have to look at all the parameters. But the way it works is it checks if the object we are calling a method on is of type custom web element. And if it is, and if it is not yet initialized, we set the web driver on it, we set the Selenium web element, we set all the framework properties, and we also set the buy. So each custom web element knows exactly how it was found. Then when we have done all this, we invoke super. That means we call the original method. So this intercept method, like its name implies, it intercepts the method call, does some of its own initialization, and then redirects to the original methods. So it sits in between the caller and the custom web element. And then we execute the methods that we want to call using the initialized properties. Because at that point, we can be sure that it is initialized like a click. And we do that by passing the function as a lambda function. So, like in this case, wait until element is clickable, and then do the web element click, which is the Selenium method, the original one. So our custom web element, because it has a reference to the Selenium web element, uses the Selenium method in the end to click. And because we pass this as a lambda function, we can execute it here. And if we catch a stale element reference exception, which is the stale element exception that I talked about before, oops, I'm sorry. Then we can try to refind the web element, because it knows how it was found. So we can use the same by condition again, and then try to call this method again. And refining elements, that is where the parent-child relationship comes in. We check if our custom web element has a parent. If it has a parent, we try to find the web element within this parent. That is the page component context, the page component bounding box. So when we find elements inside other elements, it's just searching inside this specific DOM element, and not through the whole page, like it typically does. And again, if we catch a stale element reference exception, we try to refind its parent. So this is something that we wanted to have. This is recursively finding elements and parents all the way back until an element does not have a parent anymore. And then we go back down and try to find the web element again. That makes it really, really stable. There it is. And the last thing we did here is what I talked about, the default timeout that you have, that we wanted to bypass is this. So we have find element and find elements for this methods here, but we also have find element directly and find elements directly methods. That means that we don't want to wait. In case we are really sure an element exists or we are really sure an element does not exist anymore, we can set the web driver minimal weight, which in our case is 50 milliseconds. Then try to find the element and then reset the web driver regular weight again. So this dirty trick, that's why I wrote on the right, yes, I know it is a dirty trick, but that speeds up our tests many times. Because especially when an element is not on a page and we want to check that it's not there, we don't have to wait 20 seconds until Selenium says no, the element is not there anymore, but we can just use a directly method and then instantly get this. Yeah, if you have subsequent interactions with the custom web element, so after it's initialized, it's directly invoked without the initialization phase. So we skip initialization and then just redirect it to the original methods. That's how it looks. There's the intercept method again and we check is the custom web element initialized. If it is, we skip all this and we just invoke the original method. So from this point on, it's exactly as fast as the original Selenium code because we don't have all this initialization. It's just something in the middle that does nothing from this point on.  Because Selenium, it has a lot of this stuff built in already. Yes, but we want it to be free to use our own custom web element or Selenium's web element, especially in Selenium 4, when there were some more methods available, some more locators like the relative locators. We wanted to be free to use those without having to release new framework versions all the time. So in this case, we can use a find by annotation, but instead of using our own custom web element, we can also use the original web element of Selenium and use the new methods there. In later framework releases, we also added those relative locators to our custom web element, so we don't need this anymore. Yeah, and like I said, we did not want to introduce another annotation to keep the usage very straightforward and also not to confuse the users. And should we decide to dump our custom web element, there won't be many changes in our framework because we can just use Selenium's web element. And a very important point to remember, it is only complex for the framework creators. It is not complex for the users. They don't see what's going on on the inside, so it's very important to hide the complexity from the users. Okay, that was the harder one. Now let's go to the easier challenge, extensibility of the framework itself. This is typically how the tests run. So we run a test scenario, open a browser, in this case, a local browser, perform some actions on the website, make some assertions, and then lock results and make the test pass or fail. But later we wanted to have more functionality. We wanted to use a test cloud, first our own internal one, then a commercial vendor one. I won't mention any names at this point. And we also wanted to send failure messages via Slack. We wanted to queue certain tests for rerun, not all of them, but certain ones. And this is only a snapshot like from 2017. After that, we added a lot more of those arrows and boxes. But you might spot the problem here, direct framework integration of this functionality. It is just too much functionality in the core framework that leads us to the situation we had before, like this bloated framework that does everything. In case of browsers and browser clouds, if you add this directly in the framework, it might be too tightly bound to specific cloud vendors. So for every cloud vendor you might have to use in the future, you would have to add more methods. If you want to add functionality to the framework, especially if you're not one of the core contributors to the framework, you need deep architecture knowledge to do this. And that doesn't make sense to just add a simple thing. And also every additional feature causes new framework releases, which is also not a good thing. So we decided to have a plugin API with the requirements that writing plugins should be very simple. They should be very small, separate projects. They should not require core framework changes. And they should also not influence core functionality, which might happen if you directly insert your code into the core framework repository. And plugins should just implement interfaces that interest them. Very, very small interfaces. I will show you exactly how we did this. The framework should notify matching plugins. Each plugin should be able to have its own set of system properties. And plugins should be activated as needed. So even if we have those plugins in our test as dependencies, we should still be able to enable or disable them as we want. So here we found the service provider interface in Java SPI. It is 22 years old. It's available since Java 1.3. And it did exactly what we wanted. It consists of three parts, a service interface. So that is something that providers need to implement. So it's exactly our thing. A plugin should implement a specific interface. And that's it. Then we need the provider registration API. This is a plugin manager that keeps track of what plugins are currently there. And the service access API. That means we communicate with the plugins. And this is not too important in our case, because this is not something the users use, but only the framework itself. So this is what a basic plugin interface looks like. It has the method get plugin name. That's it. That is the plugin interface that all other plugin interfaces extend. Because we just wanted to have each plugin to provide a specific name. That would just make it easier for logging and also for property handling. And this is the part that makes the magic possible. A marker file. Like I said, this is Java specific. And there might be things like this in other languages. But I'm not aware of those. So what you can do here is to add a file to a plugin that is residing in source, Java, resources, meta inf services. And then has the whole path and class come to Rago plugin extension plugin, which is our main plugin interface. And inside this file, you have the class of your plugin, the main class of your plugin, like in this case, custom cloud plugin. I'll show you on the next slide how this works. And this is used by the service provider to scan matching plugins and find implementations. This is the plugin loader class that just checks what plugins are currently active. And this is the part that makes it happen. Here, the service loader, which is a part of Java util. So it's built into Java. The thing that has been there for 22 years, the service loader loads all the implementations of plugin.class. That means all the classes that implement the plugin interface. And then it has a list of classes. That's it. That is the whole thing that makes it work. And this is one of those plugin interfaces I talked about. This is an interface that's called web driver created aware that extends plugin. So it is discoverable, like I showed. And this passes a web driver instance of the current web driver to all interested plugins. And we use this to take screenshots and also retrieve web driver logs. Here it is. That's the only method handle web driver created. And it accepts the Selenium web driver. And here is what the framework does on the left side and what the plugin does on the right side. So in this case, the framework creates a web driver. And then because this plugin has the web driver created aware interface, it has to implement the handle web driver created method that accepts a web driver. And there's another interface that the plugin implements called cucumber after step hook aware that is triggered when a test step is finished. And in this case, in this demo plugin, it just takes a screenshot and stores it somewhere. And you see on the bottom right, it uses the web driver that was passed in the handle web driver created method. Oh, I'm sorry. There we go. Those are all the plugin interfaces we currently have. And there might be more in the future. But there are some that are for web driver handling. There are some that can react to certain properties to certain cucumber events. A lot of things. So what happened through this new mechanism is all of this turned to this. So we still have a very straight line, the white boxes. But here the first step is the plugin discovery that I showed that registers the plugins in the plugin manager. So the plugin manager always knows all the active plugins. And everything the framework does, it can tell the plugin manager, hello, please notify all the web driver interested plugins or notify all the plugins that want to know when the web driver is destroyed or when the properties are available. And then the plugin manager communicates all the plugins that are in the plugin manager. And then the plugin manager communicates with the magic plugins. And this is how we can inject all kinds of functionality here. I'm aware this was a lot and this is rather complex. So let's give me, let's give you some last thoughts here. Some of you might ask, why didn't you make a commit to Selenium itself? And this is because refinding elements is out of scope of Selenium. Like I said, it's a remote control for browsers, nothing more, nothing less. So this refinding and custom web elements stuff, this is way out of scope. And it's very specific to us. It might not be something you need there. The Selenium web page actually says it, Selenium automated browsers, that's it. First, the problem than the tool, that is something that I had to learn the hard way. It is absolutely crucial, you understand the problem fully first before jumping on any tools or any solutions. It's especially bad if you have a solution already before you know the problem. And you have to evaluate the tools in regard to your problem and you have to also reevaluate the tools regularly because requirements might change and tools might change and there might be better tools available. Know your tools. Before switching to other tools, you should always check if your current one is able to solve your problem as well. And if it's less effort to do so. And it can be very valuable to dig deeper, like we did with the whole page object handling and the Selenium internals that solve exactly our problems. Also don't dismiss the old solutions. One very important point for me is decoupled progress from technology. You can make a lot of progress without switching to newer technologies. Because old tools oftentimes mean proven tools and bug-free tools. And if you have older tools, you have a better chance that more of your colleagues know about them instead of jumping on a new tool that might then it might be only you who knows about it.  Like when you know about a new tool and you get run over by a tractor, there's no one else that can maintain it. And reinventing the wheel, it's often said it's bad but I say it's absolutely crucial because not all wheels perform the same. They have to complying with the terrain, with your specific problem. And if you recreate a wheel, you learn a lot about wheels. And with this, I want to thank you. Hope there was something in there of value and ready for any question you might have. That was an insightful session. So we have only one question from Bhargav who says, why CSS is stored in string and passed to at the rate fine by in later steps? Any reason behind this approach? Can you say that again? I didn't quite get this. Bhargav asks, why CSS is stored in string and passed to at the rate fine by in later steps? Is there any reason behind this approach? Yes. There is a reason behind this approach. This was just a sample code. But in our real tests, we have a lot more locators, a lot more selectors that we have to work with. So instead of having those all over the code, we wanted to have them in a central place, which is the top of our classes. So we can make changes simply by looking at the top of the class and then changing the string. Instead of going through the whole code and then checking where do you use this and where is it defined? So everybody of us who work with the test code, they all know where to find those strings. It's always the top of the file. It's just convenient. If the attendees have any other questions, you can post it in the chat or the question and answers tab. I think there's another question by Karthik who says, how can we learn more about building better architectures? That is a very good question. And I can tell you, please read about design patterns. Please read about code smells and just try together resources that are typically aimed at developers to make your code and your architecture better. Because that is one of my things, one of my missions really to promote better code in testing. Because I see a lot of bad examples, especially on platforms like LinkedIn. People who say, I wrote this new framework. And if you look at the code, it's just a bunch of libraries thrown together without any thought. So yeah, you should, if you want to improve your architecture, you should definitely check out resources for developers.


The methods of Descartes, Fermat, Hood, and Barrow could be used to provide a rigorous calculus based on algebra. In modern terms, their form of calculus could find the tangent to any algebraic curve, optimize any algebraic expression subject to any algebraic constraint, and find the area under any curve whose antiderivative is an algebraic function. Newton's series methods allowed calculus to be extended, provided we accept arguments based on infinitesimal quantities. And Newton took this step in of analysis by equations of an infinite number of terms. Newton's ability to solve an infinite series for one of its variables allows Newton to invert his series for the arc length and for the area under a rectangular hyperbola. So remember that for the arc of a circle where the arc length z can be expressed in terms of the base oe equal to x by the series. If we take a look at this from a modern perspective, we see that z is actually the arc sign of x. And so Newton has essentially found a series for arc sign. If we invert the series and solve for x in terms of z, well x is the sign of z. And so a series for x in terms of z corresponds to a series for the sign of z. And similarly, the area z under the rectangular hyperbola y equals one over one plus x, where x equals ab is the base, Newton found that. And again, if we look at this in somewhat modern terms, we see that z is actually the log of one plus x. So inverting that x equals e to power z minus one. And so a series for x in terms of z corresponds to a series for e to power z minus one. Now Newton goes through the explicit steps for that second inversion, so let's take a look at that. We want to find x in terms of z, given that z can be expressed as a power series in x. So Newton considers the terms out to the fifth power. So rearranging our series gives us our fundamental equation. Newton doesn't say so, but note that if x is equal to zero, z is also equal to zero. So we can assume that x is close to zero. This means the higher powers of x are even smaller, so our equation becomes x minus z is approximately zero, which gives x approximately equal to z as our starting point. So as before, if x is approximately z, then x is equal to z plus something, where something satisfies, well, we'll figure that out using our fundamental equation. So we'll let x equal z plus p, and we'll note that p has to have a factor of z squared. Remember, we're trying to express x in terms of powers of z. We already know what the z term is, so p itself has to be a z squared or higher term. Since we're only concerned with powers of z up to the fifth, we have the following. While the expansion of one fifth x to the fifth would look like this, remember we're only concerned with powers of z up to z to the fifth, and since p includes a factor of z squared, then only the z to the fifth term will have a degree of five or less. For example, this term, that's z to the fourth times p, which is at least a z squared, that's a six degree term. And so we only need to include the first term in our expansion. A similar thing happens when we try to find minus one fourth x to the fourth. So we can expand z plus p to the fourth, we get a z to the fourth, a z cubed p. Now since we're treating p as a z squared term, then z cubed p will have a degree of three plus two or five. But the latter terms correspond to higher powers of z, and so we can ignore them. And so minus one quarter x to the fourth becomes minus one quarter z to the fourth minus z cubed p. And similarly we can find one third x cubed minus one half x squared x and minus z. And after some effort, we'll find all together they give us this mess. So again, we'll focus on the lowest degree terms. Again, since p includes a factor of z squared, we have our degree two terms, that's p and one half z squared. And then terms like one half z to the third or zp, well those are degree three terms, and all the rest have even higher degrees. So using only the lowest degree terms gives us p minus one half z squared is approximately zero. And so p itself is approximately one half z squared. And so since p is approximately one half z squared, let p equal one half z squared plus q. And again, q must have a factor of z cubed, and since we're focusing only on powers up to z to the fifth, we have the following. And so we see that q and z satisfy this equation. So again, remember q is assumed to have a factor of z to the third. And again, focusing on the lowest degree terms, we find that the degree three terms are going to be q itself and one six z cubed. And then we'll have degree four terms like one eighth z to the fourth z cubed and so on. But again, these higher order terms can be ignored, and so using only the lowest degree terms, we get the equation q minus the sixth z cubed is approximately zero. And that gives us q is approximately one sixth z cubed. And if we continue in this fashion, we'll gain our series for x in terms of z, which again corresponds to a series for e to the z minus one. And so through means of infinite series, Newton brought the transcendental functions into calculus. However, some problems remained. These were all based on infinitesimal methods, and infinitesimal methods relied on a quantity that can be ignored, so it's like zero, except we divide by it, so it can't be zero. Remember, this would later form the basis for Barclay's objection to the calculus. The other problem was more subtle, because it wasn't really noticed until much later. Newton claimed in modern terms that these power series actually converge, but they don't always. These problems were mostly ignored. That's not necessarily a bad thing. Think about putting together a jigsaw puzzle. If you stare at a piece and try to figure out where the particular piece that's in front of you goes, you'll probably never figure out how to put the puzzle together. Instead, it's much better to take that problematic piece and put it aside, and as long as you eventually come back to it, it's okay. And in fact, this is what mathematicians did. They knew that there was a problem at the heart of calculus, but rather than focus their efforts on the problematic piece, they chose to solve the problems they could, and in the 18th century came back to the problem.


Welcome to Top Of The TV, it's the instant match reaction to Balmer 3, Edderton 1, another disappointing away day, 3 away wins in 2019. It tells its own story, we are abysmal away from home, we simply do not have the ability to overcome obstacles and a lot of that is mentally and also tactically as well. The mental side of it is something that has just been ingrained in Everton for years it seems, we just don't have the players who can fight or we certainly don't seem to buy the players who can fight, we've got the ability to overcome difficult situations, not that Balmer the way is a difficult situation, they'll ship at least 4 or 5 goals 3 or 4 or 5 times this season, they are so open it's unbelievable yet we couldn't find a way past them apart from Dominic Arvindlou's and when the time is to roll your sleeves up and we've seen this in Ville and we've seen this back in the last season when the time is to roll up your sleeves and just dig in and just get through the game we do not have to possess the players to do it so it's great when you're going out and you're buying this player and that player and you know you feel the club might be going somewhere, you only have to watch what's going on in the pitch to suddenly start feeling deflated about the whole thing, I honestly and I said this in pre-season I don't think we'll finish in the top 6 because I just don't think to finish in the top 6 you need first of all you need to get 65 points, we won't get 65 points I just don't see it getting 65 points as it stands because I just watched the way we play and I watch the players and we just don't have any fighting as there's no fighting as what so ever and watch that today and I'm thinking right go out there roll up your sleeves and just dig in and you'll beat these because you're better than them and we don't we just the football is just it's just too slow for a start we're trying to play like Man City when we can't so everything's dead dead slow instead of playing in a way that means we can score goals we get we play through the we play out the back and then the first thing we do when we get forward is play it wide and look for crosses and yes we score three goals in the last two Premier League games from crosses you know once a team adapts to that then what you do then why aren't we going through the middle of the path why aren't we taking more opportunities which I listen it's one first after it's the bar then the second time heavy time we get to both centre he wants to move it wide and you just for me you're limiting your options and make you do that so tactically I don't think we're good enough and going back to that mentality factor I think that's a huge thing I think today for a start players just didn't look on it at all Dykes and Michael Keane looked he didn't look on it at all and you know for the third goal he he's not completely a fault because Zuma is standing for some reason standing five yards ahead of the guy who scores when technically that ball had been thrown over his head he's on side isn't he but Keane is standing Keane is keeping Wilson on is standing a couple yards to the right and keeping him on side he can see that or he can tell Zuma to drop it's Zuma floating slip tell me that's a drop back but he doesn't Keane was rubbish all day absolutely rubbish and I don't know whether to hang over from the England game but that's the problem roll up your sleeves that you play Premier League football for four or five seasons now you should be able to get through games like that without you know and this is what I don't see in the team enough leaders that can get you through games like that and you know it just bemuses me usually we can see the stupid goal to set piece I'm not gonna go on about I'll have a go about zone of marketing because I think the last time we conceded a goal through zone of marketing was in February so it's not as a big an issue as they like to make it look or people saying people on TV time make it look and second goal is just again we let a player run 30 40 yards and then boot on the outside of the box and then you know it gets sliced in again it's pure luck and the third goal is just awful defending but it's always going forward forget all day goals it's always going forward we don't take the game to teams away from home we just don't do it well it's one one hour at 60 minutes they manage you know the managers they make some changes say I this is not good enough we've had one shot all the second half of 15 minutes that's not acceptable I'm gonna make changes I'm gonna be keen on I'm gonna whatever bring Domino Cavallu leave Domino Cavallu and go 4-4-2 be positive be brave have a go at them they were there for the taking absolutely there for the taking and we don't seem to have that switch that that just we conflict to just have a go at teams and you've seen I get you've seen Delph getting wound up he ends up getting booked for it because he's wound up he wants to get in stuck into people you there's a video online Malvin you know this is this is you know you see what he says it's like there's not enough plays you just want to roll up the sleeves and get stuck in it doesn't look like it doesn't look like a hate on them and whatever that's fine I mean it's not fine but point being is we never gonna get anywhere and you sort of have to sit there and go what as a fan I look at it and just think well the players just don't look that wounded by it they're not prepared to run through brick walls but they're not also not prepared to just get stuck into a team and go away winning to this role I thought the best teams do and I know listen you need the best players for that but not always you can you can do all I just by just going let's roll up our sleeves today and let's just have a go with these and and if we have a golden and we match them then we'll win the game boom I've done nothing to win the game there they've done nothing one thing they have done more than this is they've actually created more chances because again we created very very little again very very little and so I don't listen we're our waste on enemies with a change I doubt it so what what does that mean I don't know I honestly don't know I just don't think it's gonna change I think we're just gonna we're gonna win more than we lose a home and away from home we're gonna win very very few and that means we're gonna finish between 7th and 10th and I can't there's nothing I can say there's no point getting you know going absolutely mental about it that's just they're the facts we have a set of players that just don't it doesn't seem to hit home when when a game needs to be stepped up you can play all the fancy passion you want you can create lovely movements and and and get yourselves into nice areas but if you're not clinical in front of goal or you keep on going wide every time you get the ball and if you're not prepared to do the hard work when a team breaks on you then this is the way it's gonna be and I don't know whether it's worth getting upset about because I don't see players getting upset about it but a couple on the pitch I really don't and I see the same things come out the manager's mouth and you know it is what it is and I honestly honestly just don't see is going forward unless we we we get in a few more players and that can happen now till next summer a few more players who who have got that kind of fight in them I just don't see it I just don't see it and yeah so I'm a bit flat but I'm a bit realistic but I think this is just gonna be the way it is and as I said I just don't see getting top six because I just don't think we can roll up our sleeves and go to places like born and win games of football and they're the games that they're the three points that you know we can't get back to back wins because we can't go away and win anyway so you need to get like you need to get momentum where you get a home win and away with another home win and then maybe on a way draw and then maybe and then a home win we don't we can't do that now this time last year I think I still went on a run or something like 19 games so I'm beating and at the time me personally I was quite I was like I look at the teams they played yeah I look at the teams you played and probably look at them and go we couldn't do that because we just can't we can't string you know run together because every time we go away from home we get beat because we just we haven't got a backbone it's as simple as that so let me know your thoughts in the comments I'm trying not to get upset by it because what's the point I'll be upset about it every other week I'm just gonna I don't know I don't know what I'm gonna have to do I might need a lobotomy I don't know maybe I've had a lobotomy and that's but this is everything football club does anything change now very very rarely so there you go let me know let me know your thoughts in the comments thanks for watching toffee TV I'll see you later


The following is a presentation of TFNN, the morning market kickoff with your host, Tommy O'Brien. Good morning everybody, I'm Tommy O'Brien, coming to you live from TFNN, non-AM Eastern Time Tuesday morning. We got about 30 minutes to go until the starter trading all the markets in positive territory. Quite the acceleration yesterday to end quite a week month of January. We began February trading in slightly positive territory. You got the S&Ps right now up four points to kick off the session up, excuse me, trading at 45.08 right now. Really remarkable when you look at the action. Even just from last Thursday, I'm going to put this real quick, that's a five minute chart I have up here on the S&Ps. I'm going to jump to a 30 minute to get a 10 day move to bring in last Monday's action because you're talking about almost 300 S&P points from the low that we had on last Monday. We were right back down near that area last Friday, remarkable. We were down at a price level of a low of about 42.67. You're talking about 250 S&P points just from Friday early. NASDAQ 100, you just had best two days in the NASDAQ 100 since March of 2020, I believe we'll pull that headline up in a few. But yeah, you're talking about 1,000 points from where we were on Friday's action, 13,833, make it 1120 points to be exact. We're pushing 15,000 this morning on the NASDAQ 100, 14,953. You get the Dow up 20 points, back above 35,000, 35,018 in the Russell, up by one, 20,25. Bitcoin nearing 39,000 right now, 38,940. We got the crew contract, some slight negative action again, we're on a 30 minute chart right now. When you bring in last week's action, you see from about Wednesday, your crew jumping around from about 86.50 up to 88.50, maybe a little bit above, you got a high there 88.84 on Friday, right now technically you have crewed down almost a dollar at 87.20. You have gold catching a slight bit off the lows of Friday, quite the pullback on the Federal Reserve statement last Wednesday. The gold contract spikes from 18.54 down to 17.80, since then we've spiked a bit. You're up $9 on the gold contract this morning, Silver's up 56 pennies, pushing $23 and notes and bonds right now, got a little bit of higher price on the session. But you look at where we were two hours ago, you just gave up 10 ticks in the tenure right now. You're talking about a 10 year, positive three ticks on the session, we're talking about a yield right now, back under 1.8%, 1.777 to be exact, we'll call it 1.78% to round off that number. And we jump over to the volatility index, talk about giving it up, 2431. I talked about in my program, you take a look at this VIX, you put it on a weekly, you take out the huge spike that we had at the beginning of the pandemic, you gotta keep your eye on some of these spikes folks, because when we were pushing 40 last Monday, okay, that's when that number hit, 38.94 last Monday when the market was accelerating to negative prices, you had to start realizing that we were pushing levels folks of usually a turnaround. That's what we got, you push 40 on the VIX, you're talking about trading at levels that we hadn't traded at in all of 2021, and you were back to October of 2020, twice. Since the pandemic hit when you had the VIX spike to about 80 and change, did you have the VIX trade where above where it traded at on Monday, and since then, boy, talk about giving it up, you're trading at 2430 on the volatility index right now this morning. All right, let's jump around and see how some of the fang stocks are trading this morning, Amazon back above 3,000 didn't take long, I mean, check this out, from last Friday folks, you got Amazon trading up $250, you push in, what is that? Yeah, 9%, something crazy like that, I mean, $275 would be 10% on the dot, quite the acceleration as they come into their numbers, Amazon this morning going to be cheered, positive by about 10 bucks with the market this morning a bit higher. Apple shares trading higher as well, 174.79, you closed yesterday basically right where we're trading at right now. All right, let's jump around some of the headlines we got going on, Nasdaq futures recover will global stocks rally, S&P 500 contract futures fluctuate after two day equity rally, Fed officials caution against faster than necessary tightening, lots going on in the market right now, but let's jump around to some of the stocks and we'll kick it off with AT&T, they're going to spin off Warner Media, $43 billion discovery media merger cuts the dividend AT&T, they're going to spin that off, $43 billion transaction to merge its media properties with discovery, AT&T share holds, they're going to get 71% of the new Warner Brothers discovery company and they're going to receive 0.24 shares of Warner Brothers discovery for each AT&T share they own. Yeah, interesting action when you talk about streaming and the likes, there's your action on AT&T down from $25.50 to about $24, you're going to open lower this morning, you're going to open lower as well as both of those stocks getting a little bit punished this morning. Other news out there, Exxon Mobile out with their numbers, fourth quarter profit tops estimate oil and gas prices soar, as we know right, these oil companies better be making money right now with where oil is and there's Exxon on that news, $77.46 they spike to they give it up looks like you're going to open a little bit higher, but you know all things considered, you just had Exxon trading at $60 to kick off the year, you just traded up $15, that's a 25% pop folks to begin 2021, lofty expectations, I'd say they would be just fine if that stock just held on to the gains it had this year so far on their earnings and it looks to as you're a little bit higher on Exxon Mobile earnings this morning, FedEx, they're going to suspend some domestic express rate services on the Omercron hit folks, I talked about it yesterday, you can hear me, I'm a little bit stuffed up myself getting over a case of COVID last year, last year I wish, last week, this week, last week with my family and yeah, I was talking about last week as I'm about to cop, excuse me, I'll reset my, so I was talking yesterday for the jobs number coming on Friday for January, expect to see a hit man, I'm living it, I had kids in the house, the fiance was out with COVID, the disruption in businesses folks that takes place when you got to be out, I mean, even working from home with a family with kids, the number of cases hitting it is almost impossible not to disrupt normal life, you're seeing it right now in FedEx, there's nothing they can do folks, you got people out, you got people sick, maybe they're family sick, maybe they need to isolate for a few days or they want to, nonetheless they can't get the number of employees they need, so on Tuesday, today, suspended domestic express rate services due to a staff shortage as cases of Omercron variant of the coronavirus rose, now think about if they are like suspending services at the core of their business, what does that say about the possibility of hiring for the month, right, you have to imagine this is going to have a pretty severe hit on the January number, the one thing I will say is probably going to be a little transitory and FedEx trading higher, so getting into it last month, the company had warned that rising cases of the variant had caused staff shortage, they suspended that, yeah, international economy free pickup services, that had been paused earlier, that's going to resume on Monday, severe winter storms around the country, staff shortages, several US airlines are canceling things, yeah, and unfortunately we're still pushing over 2,000 deaths a day to COVID, but FedEx, we'll get into a little bit more because I imagine there's more going on than that as FedEx going to be up $8 on the open this morning, now this stock you take a look at the weekly, right, you're going to open at about $255, quite the pullback here from $319 down to about $212, almost back to a 50% of the entire run-up you had from COVID this morning, though you're going to open up about $9 higher, it's $254 for FedEx shares, oh, you know what that was? That's UPS earnings, isn't it? Yeah, it sure is, we'll get into that afterwards, so FedEx trading higher on you, UPS earnings, UPS, check that out, right, from $200 to $220, we'll go over that in a little bit, folks, we're going to come back, we'll be talking to our man, Kevin Hinks, from TV Ameritrade Fast Market, folks, don't miss it, we'll be right back in three minutes, stay tuned. On stocks you need to pay attention to, and you can trust Larry's analysis. After all, he's got 45 years' experience as a day trader. Larry will also provide daily charts, videos, and data on the key markets that he's tracking. Expect notifications from Larry on market movement you need to act on at any time. First-time subscribers also get a 30-day money-back guarantee. If you're not satisfied, let us know and you'll get a full refund within 30 days of signing up. Subscribe to the Fibonacci 24-7 newsletter today, tfnn.com, Educating Investors. What's separating you from the most successful men and women on Wall Street? That's right, information. Having all the information gives us the perspective we need to place the right trades at the right time. The TAS Profile Scanner is the premier market profile based scanner. Powered by its acclaimed TAS proprietary algorithms, this feature-rich scanner instantly filters over 2,500-plus global financial markets, such as stocks, ETFs, commodities, futures, and forex. This powerful suite of tools leverages instant trade filtering and strategy formulation to show you emerging trades before they happen.  Level the playing field with the TAS Profile Scanner, which you can find under the Services tab at tfnn.com. Sign up today. Sharpening your skills as an investor is like getting better at playing a musical instrument. You have to practice, sure, but you also need excellent instruction from experts. At tfnn, you'll get advice and guidance from the authority and technical market analysis, and it's not just dry, tedious text, either. tfnn airs live financial content streamed live on tfnn.com and tfnn's YouTube channel with Tiger TV, live every market day from 8.30 a.m. to 4.00 p.m. Eastern for free. Each host is an experienced trader and gives their take on the market while taking calls and questions live from around the world. From the moment the market opens until the closing bell sounds, Tiger TV has eight different shows with expert hosts to help you make the right moves with your money. Watch online at tfnn.com or on tfnn's YouTube channel and become the investor you were born to be, tfnn Educating Investors. Welcome back, folks. We get the S&P's up two points right now. NASDAQ 100 up 32, the Dow barely in positive territory up nine points above 35,000 and 35,006. Russell just sneaking into the negative by one point right now at 2022. Let's jump over to our man, Kevin Hinks. Every trading day, folks. 12 noon Eastern time, fast market on the TD Ameritrade Network. Kevin Hinks, Tom White, the team breaking down the day's market action, walking you through hypothetical trade setups, folks. We're talking options. We're talking defined risk. We're talking earning season. We're talking non-farm payrolls on Friday. Kevin Hinks, good morning. Good morning, Tommy. Yeah, there's a lot going on today. It doesn't get any, you know, the pace doesn't slow down as we get to a Tuesday. I mean, this is going to be obviously any day that you can have Google Alphabet, AMD, Starbucks, like Folio will do a presentation on Starbucks. Obviously, we'll be talking about Google Alphabet. So these shows on days like this, Tommy, they write themselves. I mean, there's so much to go over on a day like this. It's pretty remarkable, Kevin. I haven't talked to you in a few days, man. We've had a lot happening since I talked to you. I think last Wednesday, man, before Chairman Powell had a chance to voice his opinions. Let's just put it that way and send the market into a little bit of volatility. But man, talk about a resurgence kicking things off Friday into Monday. And Kevin, we come into non-farm payrolls for Friday. Part of the discussion out there is that the expectation is a pretty weak number of 150,000. We got the Omicron variants put in a little bit of hurting on maybe the expectation. What's your expectation as you look forward to that number in terms of where we are and maybe how the market may react to a number if it's going to cause any angst at all? What are you looking for on Friday there? Some of the expectations are for pretty modest numbers. But I think the biggest part of this, Tommy, will be the wages number. I think the wages number will drive interest rates, which will drive inflation talk, which will drive these markets going forward, Tommy. So I think the wages data in the non-farm payroll, which it was 0.6 a month ago, they're looking the consensus right now is for it to be up 0.5. That's a number much like the income and outlays number last Friday. Remember, calm inflation numbers, the market will really like and embrace. And I think when you look at a day like today, you know, 15,000 in the NASDAQ is a pretty important number. It's like 15,013 is right at the 200 day moving average, Tommy. So a move through that and a close through that will be pretty bullish. And so I think this week, you know, it's going to get a little hectic. So obviously, non-farm payroll is unemployment. Number one data point in my opinion of the month, Tommy. And so the wages, I think, will be a key part of looking at yield going forward. You make some great points, man. That's why I asked a question. And yeah, I agree. You laid it out very well, Kevin, because I started trying to do the gymnastics in my own head yesterday, man, saying, OK, what if it is a really, you know, weak number? I don't think that's going to have as big of an impact because of the potential influence of this last variant, hopefully, that we deal with for a last spike. And maybe that's not the focus because it probably shouldn't be with unemployment at 3.9%. The focus should be on, you know, stable prices, right? Fed has two mandates, man, maximum employment and stable prices. Boy, one of those is roaring its head right now. And it's not maximum employment because that's where we are, man. It's the stable prices they got to get a hold of. We're in earnings, as you talk about UPS out there with some pretty strong earnings this morning. Kevin, they're pushing all time highs right now at 220. You got FedEx out there trading higher as well, but they're going to have to put a stop on some of their services because of the Omicron variant putting a hurting on some of the just ability to have workers in the short term right now. Pretty remarkable when you look at these shipping companies, UPS, in particular, we're pushing all time highs right now. You got FedEx, a good 60, 70 bucks off of the all time highs. Yeah, I mean, you know, it's not really surprising that these shipping companies are doing extremely well. Just like it's not surprising that ExxonMobil had a really good quarter when Crude all moves up like it does. So, you know, these companies, though, a lot of our discussion yesterday on UPS was margin and how are they going to grow margins going forward? And, you know, their CEO's mantra is better not bigger, right? So they're trying to improve their company from within and, you know, like we did a great presentation yesterday on how the happiness in UPS is significantly higher than the happiness at FedEx. So, you know, this is a company that is focusing on small to medium and businesses, focusing on health care, doing other things. So, yeah, not really surprising that they had a really good quarter, Tommy. Pretty cool, man. I listened to part of that and I just was thinking in my own head, Kevin, and I don't have a lot of experience as in just customer. I don't ship a lot with FedEx, right? I don't get a lot of packages with FedEx that show up at my door, so maybe that's part of it. But for some reason in my head, I almost have a better perception of UPS somehow that they've got that done. I don't know how that happens, but maybe I'm getting more packages on UPS, maybe I'm seeing those brown vehicles running around more often. But somehow in my own head, perception. Perception is everything sometimes. So, we go to Google, of course, Kevin. I'm jumping over to the Analyze tab right now on the Thinkorswim platform. I got Google up. We got a $118 move priced into this equity, man. Little bit of a pullback to put it lightly from $3,000 to $2,500. But do you want to give us a little teaser for maybe your opinion as we come into Google Alphabet and what you'll be looking for for them this afternoon? Well, you know, it's a combination, right? Not only did some of these stocks go down because of questions about their business going forward in weakness like Amazon, but there was also a global sell-off that affected some of these names. And what did it do? At one point, Google last week was extremely oversold. Now it's come back and it's resting right at, just above to start the day, it's 200-day moving average. Right, it broke well significantly below that. The 200-day moving average right now is $2,706. It closed $2,713, so it got through there yesterday. I think the next move you got to look at, Tommy, is up above the 50-day moving average, which is about $28,39, which we're going to open really close to that right now, the bit is $2,740.  What, you know, there's going to be a lot of metrics that they're going to look at, Tommy. So yeah, it's going to be a fun day, that's for sure. Oh, these tech companies, man, you mentioned Amazon, I pulled up Amazon, Amazon. Amazon's up, Kevin, almost 9%, 10%, 9% I think since Friday's low. It's not, Tuesday trading hasn't even begun yet, man. Just mammoth moves across the board. Well, Kevin, we look forward to the program as always, man. I'm sure it's going to be a good one today this week. We got so much happening with earnings, with non-farm payroll. We appreciate the conversation as always, man, and we'll be watching at 12 noon today. Thanks for having me on, Tommy. Have a great day. You too, Kevin. Take care, folks. Every day, outstanding program, fast market on the TD Ameritrade Network, the host, Kevin Hinks, Tom White, they do an outstanding job.  Check out the program if you haven't, folks. It's outstanding. I've learned a tremendous amount myself from Kevin, Tom, and the team over there. Markets right now, we're higher, folks. S&Ps up about six points. We got the NASDAQ, they're going to kick off February trading in positive territory. NASDAQ 100, 14,955 right now. You get the NASDAQ futures, not the NASDAQ 100. NASDAQ futures pushing 15,000 as well. You're talking about 14,936. Dow futures back above 35,000 as well. Stay tuned, folks. We'll be coming right back for the market open. I'll be back in three minutes. You having fun trading the markets, but having trouble finding like-minded individuals to discuss your trading and investment ideas with? Become an Apex creditor in the trading markets and join the Tiger's Den trading room only at tfnn.com. The Tiger's Den is an exclusive trading room where successful traders from around the world come to exchange trades and ideas. Join the den and surround yourself with the sharpest minds in the trading world. Subscribers to the Tiger's Den are also the first to have their questions answered live on air and can privately chat with our TFNN hosts live during their shows. Interact with other Tigers and Tigresses as they share trading ideas, news analysis, and discuss the market action all trading day. Subscribe to the Tiger's Den risk-free with our 30-day money-back guarantee and become part of the TFNN trading community, TFNN. Educating investors. You could be making money off the stock market, and if you're already making money off the stock market, you could be making a lot more. Check out TFNN and Tiger TV and get expert investing advice to give you the power to control your financial future. Go to tfnn.com and find the newsletter for you. Whether you're into trading gold, metals, futures, currencies, or options, you'll get advice and analysis to help you seriously get ahead. TFNN also features trading services with a 30-day money-back guarantee for new subscribers as well as TFNN's Tiger Den trading room, trading software, and educational webinars for all trading levels. And make sure you check out Tiger TV for free on tfnn.com or TFNN's YouTube channel for live financial content from 8.30 a.m. to 4.00 p.m. Eastern on market days.  TFNN, educating investors. TFNN is excited about our new software charting program, The Art of Timing the Trade Charts. In collaboration with Tom O'Brien and using his best-selling book, The Art of Timing the Trade, Your Ultimate Trading Mastery System, David White has programmed an outstanding piece of software that will complement any trader's methodology. Using this first-of-its-kind program, The Art of Timing the Trade Charts allows you to scan thousands of stocks for Fibonacci formation setups, including guardleafs, ABCs, butterflies, and much more. The Art of Timing the Trade Charts is designed to help you when scouring the markets for stocks just beginning to form the trading patterns that many investors spend days, weeks, or even months searching to find. And right now, we're offering licenses available at only $79 a month. We are so confident that you're gonna love this new charting software that will even give you a 30-day unconditional money-back guarantee. Don't miss out on this incredible new piece of software. Get your copy of The Art of Timing the Trade Charts today by visiting TFNN.com. This segment is brought to you by Think or Swim. For more information, just click the Think or Swim banner on the front page of TFNN.com. Welcome back, folks. We got markets open. We got the S&P up about five points right now, trading at 45.09 Nasdaq 100, barely in the green by about 20 points right now. Dow up 27 right now. We jump over to some of the stocks that are making moves this morning. We check out AT&T. AT&T opens down 4.8% this morning. We got Discovery opening down 6.7%, ExxonMobil holding onto the gains up about 8.10%. As Kevin Hanks pointed out, some strong numbers. But boy, as I stated at the start of the show, you're up about, what is that? 25% to kick off 2021 and holding onto those gains through earnings with some pretty lofty expectations to say the least. We jump over to UPS. There's a pop for you. This thing was trading at 2.20 when I was just talking to Kevin. Yeah, and there's your pop up to 2.25. You're up 11.5% on UPS. Man, oh man. Jump over to FedEx. A little bit of a different reaction. FedEx up 2.6%. Now what's interesting is that they suspend their domestic express freight services on the Omicron hit, but they're trading higher on UPS's beat out there. Excuse me folks, still getting over this thing a little bit. But you can see that even in the face of suspending services, the market not gonna get phased folks as that is a temporary hit. If we miss on the non-farm payroll number on Friday, that's gonna be a temporary hit as well, but Kevin Hanks made some great points. The wage number is not gonna be probably as skewed as maybe the net gain or loss number could. It's still gonna be impacted though folks by this Omicron hit. So I would not expect the market to have too big of a reaction to Friday's number considering that the Fed is not gonna have too big of a reaction to Friday's number. That's where I look into things, right? Nonetheless, we have the markets actually turning over a bit, all the markets into the red, just that quick. All right, let's jump around to what else we have going on out here. Getting into those UPS numbers, so pretty strong numbers in a big way there. And what also the market loving I did once talk about, hiking the quarterly dividend to a buck 52 a share. That's a hike by 49% net income rising to a record 3.15 billion in 90 days. Not bad, 359 a share versus 310.  So when you talk about net income beating, that's what the market loves to hear because as Kevin put it, margins, margins, margins. And how about it? Adjusted margins of 13.7% in 2022 above 2021 levels despite rising labor and few costs. How they did it? I'm not sure, but they did it folks. They got rising margins in the face of a delivery company with crude pushing $100 a barrel. They're forecasting 102 billion in 2022 beating the estimates of about 100 billion. Just staggering numbers across the board for UPS there. ExxonMobil, when you get into their numbers, 205 a share, market was looking for a buck 93 revenue. Short though, 84.97 billion market was looking for almost 92 billion in the same quarter a year ago, 46.54 billion. How about a difference there, right? Big numbers for ExxonMobil, they hold on to their gains that they've had this year so far. All right, jumping around other stocks, we have AMC out with their numbers. They were trading higher in the pre-market. Let's see if the meme stocks can hold on to it. Yes, holding on to those gains. Up about 9% for AMC shares trading at 1752. You were as high as 1888. Let's see how game stops trading just out of curiosity. Little bit higher as well. Up about 3% as the Reddit stocks catch a little bit of a bid so far this morning. We talked about UPS and ExxonMobil. You have serious satellite radio with their numbers. They beat quarterly earnings of eight cents a share. They beat by a penny. Revenue came in above forecast as well. Special dividend, market always likes special dividends unless they're covering for bad news. But there is serious up 7.10%. You take a look at this equity, just chopping around for the longest time this year. You back it up even further, right? We've been in a consolidation between six and 650 on serious, basically for the entire part of the last year, which is remarkable that this stock just chops around in that little refined area. All right, what else we got going on here? Serious logic. They beat, yes, by 40 cents. So about 254. Semiconductor company revenue above estimates issued stronger than expected. Current quarter revenue guidance, but not quite living up to expectations. CRUS is their symbol. Yeah, down about 6%. Putting it back on a 15 minute to see the action. They come out with their numbers spiked to 102. Conference call, maybe some outlook worries there as serious logic down 6.3%. As we have all the markets slipped into the positive right now. Jumping over to Bitcoin. Bitcoin up at about 39,000 right now, up 500 bucks on the session. We check out Ethereum shares, quite the rebound for these crypto coins, 28.01 for Ethereum. All right, let's jump around to some of the other stocks that people like to take a look at. We got Tesla after Tesla accelerates higher. Well, yesterday in some upgrade news, Tesla giving back marginal $2 to the negative side this morning at 9.34. We'll take a look at some of the fang stocks. We got Google shares up 1.5%.  They're out with their numbers after the bell tonight. We got $117 move priced into their options. You take a look at this equity, you put it back on the daily. Quite the pop from a 2,400 handle, 2,492 to be exact. Just like that, you're up 250 bucks. You're up 10% from where we were trading on January 24th. We'll see where Google goes after the bell. But $117 move priced in, you're already $35 higher on Google shares to kick things off. We jump over to AMD. Quite the pullback for AMD recently. You've bounced off the $100 price point. You got just recently a couple days ago, right? Yeah, January 28th, you're trading at 114. Pretty remarkable. You give it back that quickly. We jump over to the Analyze tab. AMD, pretty decent move. You're talking about a 6% to 7% move on AMD price stands, $7.58 as they will be out with their numbers after the bell as well. All right, continuing down the line. Pfizer and Biontech, they're gonna push their, yeah, they're going to file for permission for the COVID vaccine for children under the age of five for emergency use authorization. And that could come as quickly as the end of February. We jump over to those two stocks. Pfizer, up about half a percent with the market. No real huge reaction on there. BNTX, I think, is that Biontech? Yes it is, up 3.3% there on that news. All right, other articles we got pulled up. Let's see, yeah, let's talk a little bit. Well, first let's jump here. So Home Depot, they're gonna boost spring hiring 25% with kicker job offers. It looks like Home Depot. They gotta get some more workers in there to combat the dearth of the workers. The retailer has sped up the application process so it can make an offer within a day, 24 hours. I mean, this is what you gotta do if you wanna succeed, folk. The company declined to share how it's making quicker hiring decisions. The only thing I'll say is you tighten up that process and you leave a few loopholes in there. You might be hiring workers that you maybe did not hire or would not have hired previously when you put a little bit more time and effort into sorting out who you wanna bring into your company. But nonetheless, they need employees. They probably need them ASAP right now. And they're gonna do that as they're gonna try and boost the spring hiring by 25%. The chain aims to hire 100,000 associates for part-time and full-time positions. That is 25% above the 80,000 they usually look for. Revenue has surged, of course, Home Depot. During the pandemic, you pull up Home Depot. Quite a pullback though. I mean, I had a Fibonacci number on here folks and yeah, we almost made it back to the full 100%. We actually broke below the 786 on that move on January 24th. We're right back to almost the 50%. Now 372, you can see we chopped around at 372 from basically the end of October through the middle of November, just accelerated right through that area as the market sold off. And you're back to about 369 right now up about $2.50. Stay tuned folks. We'll be right back in three minutes. Are you in the market for buying or selling real estate in the Bay Area, including the surrounding St. Petersburg, Tampa and Clearwater markets? Tiger Real Estate LLC is a firm that has extensive experience in the Tampa Bay Area. Whether you're looking to sell your current property for maximum value, or you're in the market for a second home or investment property, Tiger Realty has the experience across all areas of real estate in the Tampa Bay Area to help buyers and sellers make the most informed decisions across all price levels. From the price you should be paying per square foot in certain up and coming areas to the type of cash flow investment properties are capable of creating, Tiger Real Estate can help you make the best decision when it comes to all areas of the market. Before you make one of the biggest decisions of your financial future, call Tiger Real Estate LLC today at<PHONE_NUMBER> or email us at tiger at tfnn.com. That's<PHONE_NUMBER>. Call us today. Technology around us is changing every day. With so much happening, it can seem impossible to keep up with all the information. David White's investment newsletter, the Technology Insider, is designed to give you all the information you need to understand the technology that shapes today's markets and tomorrow's future. David White has made his living staying on the cutting edge of technology. His weekly newsletter will give you specific recommendations for valued tech stocks, as well as entry prices, target prices, and stops to set for each trade. Dave delivers his weekly newsletters every Friday with updates throughout the week. You can get the Technology Insider at tfnn.com for only $37.50. Sign up for David's newsletter, the Technology Insider, and get an inside look at everything the technology sector has to offer. Try it risk-free today with our 30-day money-back guarantee. TFNN, educating investors. Bill, the S&P 500 continue to climb for bold trades on U.S. large-cap stocks in either direction, trade SPXL, SPUU, or SPXS, directions daily, S&P 500, bull and bear, leveraged ETFs. Direction leveraged ETFs. An investor should carefully consider a fund's investment objective, risks, charges, and expenses before investing. A fund's prospectus and summary prospectus contain this and other information about direction shares. To obtain a fund's prospectus and summary prospectus, call<PHONE_NUMBER> or visit DirectionInvestments.com. A fund's prospectus and summary prospectus should be read carefully before investing. An investment in the funds is subject to risk, including the possible loss of principal. The funds are designed to be utilized only by sophisticated investors such as traders and active investors. Distributor, foresight fund services, LLC. Don't forget, you can listen to TFNN live on your mobile device 24 hours per day. Go to tfnn.com and hit Watch Tiger TV. That's tfnn.com and hit Watch Tiger TV. Well, welcome back folks. We got the S&Ps right now sneaking into negative territory and negative by three points right now, trading a 4500 on the dot. Tech stocks giving it up a little bit as well.  You just sold off 130 points, 14,950. You give up basically all of the gains from overnight and you're right back to where we were at about 9 p.m. Eastern time yesterday. You're talking about lows at last night. Let's get the exact tick low on the NASDAQ 100 futures 14,818. We just traded right now down to 14,815. So just below that number on the NASDAQ 100. All right, jumping over to rents. We're all aware of this, but man, when you see these numbers over and over, it's pretty remarkable. Rate inflation, excuse me, rent inflation shows that landlords have the upper hand again. I mean, yeah, I guess so. Not a pretty startling article headline. The Federal Reserve's rate hikes could add upward pressure on residential leases. Well, that makes sense because if you got higher yields, you got higher rates, what's gonna happen? Buying the same property is gonna yield a higher payment.  So you have to rent it out at 2,500 bucks a month.  You're gonna be trying at least to charge 2,700 bucks a month. It makes sense. Some of the numbers in here, when you get into it, wage and rate inflation, okay? Wage is not keeping up with rent. Tough to keep up with rent when you got it rising at the rate that you're talking about here. Average hourly earnings, they are above it. Okay, when you look at it, you're talking about 6%, but I don't know, folks, you look at where you are, it matters, okay? They're not keeping up in Tampa. That's for sure. They might be keeping up in the big cities like Boston and New York, which is skewing this number a bit. Average hourly earnings, you're talking about up about 6%, rate numbers up about 4%, but boy, you get into where we're talking about. Let me slide down here. Look at these numbers. Rent of shelter inflation in large metropolitan statistical areas. This is the CPI component as of the December of last year. Year over year change, Tampa, 9.6%. Phoenix, double digits, 10.1%. I mean, these are huge metropolitan areas, folks. These are not one-off small areas. Atlanta, Detroit, Denver, Dallas, San Diego, Philadelphia, Miami, St. Louis, Minneapolis, right? All of those pushing 4%. Yeah, and then you get down to the biggest cities, Boston, 2.9%. San Francisco, the lowest on this list at 0.6%, New York at 1.2%, and DC at 1.8%. Startling numbers in a big way, though, when you look at those numbers, and we'll see where they go, but it is not stopping, folks. Postal service change of address records suggests people over the past two years have been fleeing cities with the highest cost of living for relatively more affordable ones, which helps explain why the latter have already seen rent surge. Not surprising there, folks. That is just human nature that you're gonna be going to an area that potentially is a slightly lower cost of living in a big way. And quality life in Florida, folks, you can't beat it. It was 70 degrees out yesterday. After almost pushing 29 degrees overnight two days ago, we get some cold weather overnight right now. We're in one of the coldest parts of the year for us. February 1st, still almost 70 degrees in the middle of the day coming with that, but boy, you get some big rents rising in a big way in this area, 9.6%. And I'll tell you, folks, I have it. I have a duplex in Tampa. And as they say, the rent is going up, folks, because that's the market. That's how it works. It's just like that's the deal. People are coming to Florida. They're coming to Tampa. They're coming to beautiful St. Petersburg. And yeah, the market is reflecting it so, and that is not gonna decrease anytime soon, I imagine, folks. I'm not sure it can sustain 10%, just in terms of people being able to afford living, but boy, you're seeing it in a big way. All right, we jump to a little bit of entertaining news. How about this one, talking about weather, okay? Talking about weather. How about a lightning bolt stretching almost 500 miles across three states? This is talking about happened in April of 2020. All right, so we're going back almost two years ago now, but just remarkable. And they said this got nothing to do with climate change, okay? It has to do with someone that they got better tracking technology probably now than they had previously to catch all these. But you're talking about a lightning bolt that stretches 500 miles across three states. Look at that thing, remarkable. So this is a satellite image showing a thunderstorm complex, which was found to contain the longest single flash that covered a horizontal distance on record across parts of the Southern United States that is April 29th, 2020, 477.2 miles to be exact. Texas, Louisiana, and Mississippi in April of 2020. Previous number was 440 miles sent in, excuse me, in 2018, also in 2020, a single lightning flash over Uruguay and Northern Argentina lasted 17 seconds. The previous record was 16.7 seconds. Normally lightning doesn't last more than a few seconds. It goes about 10 miles. This lightning bolt, they said, yeah, cloud to cloud. So several thousand feet above the ground, so it did not reach the ground. Nobody was in danger. These records not linked to climate change spotted and confirmed thanks to new satellite tracking technology. Both regions, when they're talking about the Uruguay region up here, yeah, Uruguay and Northern Argentina, or you're talking about the area over Texas, Louisiana, Mississippi, both regions are two of the few places in the world prone to the type of intense storms that can produce so-called mega flashes. Pretty remarkable though. Did not realize lightning could stretch that far. Mother nature, nothing like it folks, nothing like it at all. All right, let's jump around as we get this market turning negative. You just have the NASDAQ 100 trade down 150 points. Let's check out some of the fang stocks and see how they're trading. We kick it off with Apple. Apple shares this morning, giving it back down 1.1%. We got Google shares this morning ahead of their numbers holding onto the gains. Looks like they're not willing to sell off Google yet ahead of their numbers like they are Apple. Google up half a percent right now. Tesla, after yesterday's rise, giving back some of those gains down about 2%. Microsoft down about 1.3% with the tech stocks trading lower as well. We jump over to some of the streaming stocks. Netflix quite a day yesterday, the upside looked to open higher but they give it back on the open to be flat for Netflix shares. Disney had quite an acceleration yesterday as well, holding onto some of those gains up about a 10th of a percent. Quite the resurgence in terms of even, I was talking about yesterday in my newsletter and on the program. And you're gonna be seeing a different world folks when we come out of Omicron. I mean, you saw Uber accelerate higher yesterday as well. These are two stocks we have in my newsletter, Rocket Equities and Options. Uber up another 1% today, just getting over about a COVID myself, my family. And if you didn't catch the program yesterday, folks that's talking about, we've had the vaccines for a while. Many people have been able to make decisions for themselves where if you're not around kids that are unvaccinated and you're just around yourself and maybe you're vaccinated and you're comfortable. I mean, you could pretty much get back to life is my opinion. As having two kids under the age of five in my household did not have the option to get vaccinated yet. We were trying to give them the opportunity to get vaccinated before their eventual, probably eventual exposure to COVID and probably Omicron. Didn't quite make it unfortunately, but point being now that we've got the natural immunity Omicron with vaccines for the adults, it is gonna be a game changer. I mean, I talked about maybe now we're finally comfortable being around larger groups of people with unvaccinated children. And so maybe this is a game changer for travel, for people in large groups. I mean, if you watch the NFL playoffs weekend folks and you saw Kansas City or LA didn't look like a pandemic man. Those were packed houses, rightfully so. So keep that in mind, these travel stocks, we'll see, we'll take a little bit of a look at some of these travel stocks when we get back. Airbnb, they were accelerating higher folks. I wasn't the only one yesterday. You had these travel stocks straight and higher and they're continuing today. Pay attention to that one. We got a rotation going on. We'll be right back. Sharpening your skills as an investor is like getting better at playing a musical instrument. You have to practice, sure, but you also need excellent instruction from experts. At TFNN, you'll get advice and guidance from the authority and technical market analysis. And it's not just dry, tedious text either. TFNN airs live financial content streamed live on TFNN.com and TFNN's YouTube channel with Tiger TV. Live every market day from 8.30 a.m. to 4.00 p.m. Eastern. For free. Each host is an experienced trader and gives their take on the market while taking calls and questions live from around the world. From the moment the market opens until the closing bell sounds, Tiger TV has eight different shows with expert hosts to help you make the right moves with your money. Watch online at TFNN.com or on TFNN's YouTube channel and become the investor you were born to be, TFNN. Educating investors. You might think that if you want to be successful at trading in the stock market, you're going to need a crystal ball. After all, it's impossible to predict the future, right? Like any endeavor in life, before you decide it's impossible, get some advice from the experts. You might find that it's not so impossible after all. For daily market overviews that give you direction on the key indices, selective stocks and commodities, subscribe to the opening call newsletter at TFNN.com. The opening call newsletter is written by Basil Chapman, creator of the trading methodology known as the Chapman Wave. The Chapman Wave up-down sequence gives you an edge in identifying price turns, finding the peaks and valleys in stock prices.  First-time subscribers also get a 30-day money back guarantee. If you're not satisfied, let us know and you'll get a full refund within 30 days of signing up. TFNN.com, educating investors.  The Tiger First Mortgage Program may be the program for you. The best rate on a five-year CD in the country right now according to bankrate.com is paying 1% per year or $1,000 per a $100,000 invested. The Tiger First Mortgage Program pays 7% per year, paid monthly on secured, high-value, buildable properties in St. Petersburg, Florida. The investment is for four years, paying 7% per year or $7,000 per a $100,000 invested. Your investment is secured by high-value real estate in St. Petersburg, Florida. Your investment can be anywhere from $100,000 to $500,000. Do you want to make $1,000 per year or $100,000 invested or $7,000 per year on a secured Tiger First Mortgage? The Tiger First Mortgage Program may be just the program for you. The Tiger First Mortgage Program pays 7% per year, paid monthly. For more information, you can call<PHONE_NUMBER>. That's<PHONE_NUMBER>. This segment is brought to you by Think or Swim. For more information, just click the Think or Swim banner on the front page of tfnn.com. Welcome back, folks. We have the S&Ps right now back above $4,500. A little bit of two-way action to kick things off. You're negative by two points on the session. Dow back positive by $31. We got tech stocks back above $14,800, retreating at $14,840, negative by 70 points on the session. And sad news in the world of football as Tom Brady makes it official and he is retiring. Folks, Tom Brady officially announces his retirement, had read and reported last weekend. And yeah, nonetheless, it is confirmed now. As we know, a remarkable career. Can't believe it, 44 years old. This guy is still playing. I'm 41 years old right now. So I turn 42 next month. Cannot imagine playing a 17 game NFL season two years from right now, three years from right now. I'd have to go on that body. And we all know his accolades in terms of maybe the greatest out there, I would say so, many do. But really remarkable when you look at that of course he jumps to Tampa and wins a championship there last year. Great season this season to outstanding final game for them as well. But he goes out as the passing leader and touchdown. He had more passing yards and more touchdowns than any other QB at the age of 44 this year. Yeah, he did not win an NFL championship. That would have been the exclamation point going out on top for sure. But man, talk about going on top. Can't imagine 44 years old. Most passing yards and most touchdowns all season. He's in the running for NFL MVP. Aaron Rogers seems to be the fan favorite to win that. But you can't argue with 44 years old passing yard leader and touchdown leader. Sad to see him go, but quite a career for Mr. Brady. All right, back to the markets. Let's take one more final look at Google as we await their earnings after the bell tonight up about half a percent. We had AMD out with their numbers I believe as well. Yes we do. AMD trading back to where they opened up about a 10th of a percent. We take a look at some of the stocks with action this morning. UPS continuing higher up 13.7% so far. FedEx up about four percent. Excuse me, on the heels of those UPS numbers as well. All right, folks, thanks so much for tuning in. Start your trading day with me. Stay tuned. We got live programming all day. It's gonna be an interesting one. We got a two-way market, folks. Basil Chapman's up next. We got our man Larry Pezzavento live at 11 a.m. Eastern time. Fast Market at noon with Kevin Hicks. Steve Rhodes at one o'clock. Dave White at two o'clock and Tom O'Brien. My dad wraps it up live from three till four. Have a great Tuesday everybody.