trading hour with your host David White call now toll free at 1-877-927-6648 internationally at<PHONE_NUMBER> now David White and welcome all to another exciting addition to the power trading hour with me you're humble lovable and squeezibly soft host as always we like to come to you at this time the following takes place between 2 p.m. and 3 p.m. and we've got kind of an interesting market we're up 20 points on the SP cash when we look at the associated volume so far 4.5 billion shares so fairly good but not the kind of 10 billion to 12 billion shares that we're looking for for a blowout of the previous highs so kind of a lighter volume at test when we look back at some of the other ones like the dollar index were down 45 cents at 96 13 we had EIA numbers out for natural gas earlier today and I am not doing much it's down 9 cents at $2 and 18 and a half cents crude up of course on tensions in the mid-east as if that's anything new we are going to apparently have a meeting of several of the leadership of Capitol Hill and a briefing at 3 so look for some additional volatility before the end of the day if any that news leaks one way or the other but markets kind of absorbed it fairly well doesn't really look at what's going on here too harshly but again it is going to be exceedingly rare that the United States involves itself in mid-east conflicts on anything other than the new moon our chief strategy relies on stealth aircraft and you can see them when the moon's out so you either need horrible inclement weather where no one can see anything or you need a moonless night and generally it's all about that moonless night so I'm not really thinking that there's anything going to happen anytime real soon US is more than willing to wait even if there's a lot of saber rattling on the other side to when the conditions actually favor action I don't know that we've got action coming I'm just saying that if we get it my guess is it won't be before the new moon which is right around the 1st of June or yeah 1st of July so or right in that area so don't see a lot happening right then anyway S&P cash at 2946 63 options all suggest much lower tomorrow I did buy a bearish option today and it it's up fairly substantially by about 50 by about a hundred percent I expect that there could be a great deal more there and are willing to sit on my hands the other big news of the day is that slack came out as a DPO not an IPO we'll talk about that in a minute and how it's doing right now 41 46 after a par value of 26 we have our favorite what can you can just insert something derogatory for Mr. Kramer who was fanning the flames of this yesterday but never now anyway we'll get and start looking at a handful of other things of course Oracle came out and surprisingly enough I thought if there was going to be one that failed is going to be it that they did well even surprised me but not much happening on that and again not much in the way of earnings over the next couple days tomorrow morning car max will give us a little read on what's going on in the car business when we get into next week Tuesday morning we've got Linnar and after the bell we've got Micron on Tuesday FedEx and that's kind of it kind of thin and variable as we go into next week in the morning on Wednesday and I don't really see anything that can actually move the market that morning we'll see and even that afternoon just not much happening we'll see what we get into Thursday next week Walgreens boots alliance in the morning on Thursday again Conagra Brown brands so not much happening there Nike which is probably it's a little bit of volatility after the bell on next Thursday a week from today and see if there's anything into Friday next Friday before the bell Constellation brands and Jinko solar so again I don't think you got about one in there that could actually move the market next week so again probably a headline driven to market for most of the week I don't see a great deal other than that happening and of course if you're looking for a pattern in options expiration it is if Wednesdays if Wednesday's down and Thursday's up generally Friday you get a little bit of a pullback options actually they if they could run the table with some negative news and just get it down to about 29 20 on the S&P cash that'd be worth about 250 million and a million dollars if they could get it down to about 2900 about almost about 375 million dollars that's just in the spies so there's a lot of cash running on this and if the market would pull back even the 20 points were up today which wouldn't change a great deal of anything I think in this market would be rather significant for options so I'm kind of interested to see how they actually play out today again not the kind of volume we need if we turn lower you could get several signals those might be fake but it would still be interesting nonetheless to see what else we have out here now that's about it we'll do a little history and then we'll move on on this day in 1975 Jaws a film directed by Steven Spielberg that made countless viewers afraid to go back into the water in the summer opens in theaters the story of the great white shark that terrorizes a new England resort town became an instant blockbuster and highest grossing film in movie history until it was bested by 1977's Star Wars Jaws was nominated for an Academy Award best picture and category took home three Oscars for best film editing best original score and best sound if you ever take a script writing course for Hollywood and I did because I was designing a video editor so I probably should I'm I wouldn't be great at it but I needed to know how to do it one of the first things you learn about writing scripts and stories is there's only four original stories and one of them of course is about going after the big white whale and when you really look at it Jaws was nothing more than a retelling of a story that had been around already for 120 years and that being going after the great white we'll be back after the Taz profile scanner is the most revolutionary piece of trading software that you will ever try wouldn't you like to approach the markets with confidence as you begin your trading day it's likely that you'll be faced with lots of decisions in order to make the best decision the first thing you'll need is a strategy that will help you minimize your risks whether we're in a bull or bear market a good strategy is to have the tools needed to help you scan and analyze the markets before you trade the Taz profile scanner instantly scans and filters over 2,500 global financial markets such as stocks ETFs commodity futures and forex headed by Steve doll president of Taz market profile the Taz profile scanner understands that in today's technological world the use of top flight software applications automated trading algorithms and technical analysis expertise is essential to successful trading in today's market whether you're looking at the trade matrix the ETF heat grid the market breath the landscape charts or the many other features of the Taz profile scanner this is a piece of software that will revolutionize how you look at the markets and set up your trades the team at Taz has even put together a 12 part video series to walk you through every aspect of the Taz profile scanner which you can find directly on the Taz order page at TFNN.com sign up now for only $97 a month with the risk-free 30-day trial so you have nothing to lose and everything to gain see for yourself how you can harness the full power of the Taz profile scanner by visiting the front page of TFNN.com today and you'll find the Taz profile scanner under the services section remember with a 30-day money back guarantee you have nothing to lose don't let another day pass you by without trying out this amazing piece of software that will revolutionize how you look at the market and how you place trades sign up today many of our new listeners have heard about the Tigers den the Tigers den is a lively community where professional traders and investors can meet exchange ideas and information in a comfortable moderated atmosphere here all of the TFNN shows plus see all the charts as they happen live and have access to archives of all of those charts you can test drive the Tigers den absolutely free for 30 days and greatly enrich your knowledge of these markets and how to make your money work for you details on the Tigers then on the front page of TFNN.com TFNN has launched our brand new website you can still visit us at the same TFNN.com URL but when you do you'll see a new and improved homepage with a much simpler navigation whether you're watching Tiger TV live in high definition or just accessing your newsletter subscriptions we even have new pricing in six months and yearly options check out the new TFNN.com now and experience all the upgrades TFNN.com educating investors call now toll free at 1-877-927-6648 internationally at<PHONE_NUMBER> and why there's probably a good chance to we go another five points higher tomorrow and probably a high probability of that maybe 60 70% there's a chance that we're down 40 points on the S&P cash and that's about about 30% so the question is is the risk reward really good for being short for the next day or so the answer is yes in my opinion I don't think there's a lot that is going to come out that's going to help anything probably had too many shorts coming in in the morning and we're seeing a little of those people be being squeezed at the end of the day but I don't there's just not enough juice here and the question is after the open tomorrow are a lot of people going to want to be long come the weekend in case anything happens I think we'll know a lot more after 3 o'clock when we have the the Congress people come out maybe make some statements about what they learned in the briefing on Iran but my guess is that right now everybody's just ignoring everything but it only takes one little spark when you're up on light volume to change everything and you know what with options expiring tomorrow the risk reward can be absolutely astronomical I'm planning on the chance of losing 50 cents to make $3 so we'll see how that does right now the last tick I see says what I bought for 50 cents is worth a buck 05 and we'll see how that goes in but I'm pretty much going to hold those through at least noon or a little after unless I'm proved drastically wrong but my guess is that if we're up today a lot of people going to start thinking about taking some cash off the table tomorrow morning and we'll look at that I'm getting style I don't know about that let's go ahead and start looking at some charts again we got a lot of stocks up on light volume not all of them but there is some low-hanging fruit if we do turn down we looked at some of those yesterday we'll look at a few more of them today where we at here first of all we want to look at Oracle and see how it's doing now they came out after the bell and like I said if there was one company that was going to surprise to the downside I thought it would be this one it certainly wasn't the one which probably tells you that there is some juice left in it there were a lot of people short going into this I'm not a big fan of trying to pick what people will say in earnings much rather play it the day after a couple days after but you're back up against the previous high of April 24th 55 dollars 53 cents 10 million shares and threw it with 33 million shares 34 so you got a sign of strength in Oracle and it is breaking out for all the hand wringing about the end of the big tech cycle certainly looks very interesting as we said a lot of these stocks are right up against resistance and Barilla is one of the ones we brought up yesterday you got yet another little doji this is the second one on that no volume this takes you back to the gap down on May 22nd in 3.8 million shares yesterday 270,000 shares today 216,000 shares could they just pin this at 45 bucks for options expiration tomorrow and certainly possible after the open if this thing's at 45 bucks with no juice might be a one to take a look at for puts into the end of the day in fact playing white lightning as Tom O'Brien calls it looks very interesting to me Amgen did pop a little higher not much volume today I think we looked at that the other day too you can give me a call at<PHONE_NUMBER> you can email me at path at tfnn.com and of course you can always put a message in the den see if there's anything here I got a lot of announcements oh we were gonna talk about a slack and slack is something I use every day I used to have my own channel on slack it didn't IPO today it did something else and where's that at did I get it did I close it there it is to to there we go okay it did a direct public offering a DPO not an IPO also known as direct listing is a way for companies to become publicly traded without a blank bank backed initial public offering support direct listings are an alternative to initial public offerings in which the company does not work with an investment bank to underwrite the issuing of stock by foregoing the safety net of an underwriter provides a company with a quicker less expensive way to raise capital the opening stock price will be completely subject to the market demand potential market swings now we had Spotify actually try this few months ago but the way they did it they only came out with a few I think 10% of the float actually tradeable one of the things that you should know about these is there is no lockup period there also are a bunch of sore losers on Wall Street they probably thought that they were going to be able to get they were going to be able to wet their beak to the tune of about two billion dollars which would normally be their cut after a company of 16 billion dollars which was the price or the value of the company if it went out at 26 bucks it's been trading around 41 bucks today what I did say was also was you got to really be careful when you get somebody like Kramer fanning the flames for unsophisticated investors or as I call them rubes that listen to that nitwit is he always wrong no is he mostly wrong yes there's a reason why he's on TV after he blew up his hedge fund twice I don't know if he's gotten any better I just the problem is when you get one person like that that too many people can easily follow as a cult leader it becomes problematic I've seen him drive stocks to unbearable highly high prices only to lose 90% of their value that's not new in the stock market but the problem is that he's got a megaphone and he can cause a lot of people that are fairly unsophisticated traders to make movements that are probably unwise and I tell everybody about if you've ever been to Las Vegas and you sit down at a table everybody always assumes he at least have a basic working knowledge of playing poker but if you just do stupid stuff you can wipe a lot of people out on the way for you going and losing all your cash those people are known as donkeys and what Mr. Kramer can do is raise an entire army of donkeys to do stupid stuff I will come back we'll talk a little bit more about slack why I love it why the product may still not be able to make it even though it's a good product we'll be back at that half of least resistance is David White's daily trading newsletter and if you're looking for active trading ideas then now's a perfect time for a 30 day free trial to this powerful daily trading advisory service David uses his years of trading experience to offer his subscribers his trading ideas each morning in his path of least resistance newsletter using a combination of equity trades along with options David keeps his subscribers up to date with all pertinent market information with intraday afternoon updates when warranted don't miss out on this great chance to get a 30 day free trial to David's daily newsletter the path of least resistance with no obligation to pay anything David has been delivering solid recommendations for his subscribers recently and if you'd like to see the type of newsletter he delivers every morning then visit the front page of TFNN and you'll find the path of least resistance under trading newsletters for all the details and to start your 30 day free trial today log on to TFNN.com now hi folks Tom O'Brien here if you'd like to get my daily newsletter market insights then now is a great time to sign up for a 30 day free trial every morning by 9 30 I send up my morning letter to subscribers with market commentary on a variety of markets currencies and commodities to keep investors up to date on the day's trading action included in market insights a specific buy and sell recommendations for stocks ETFs and even options which stops and price targets included for every trade in my newsletter if you'd like to try my newsletter risk free for 30 days then head over to the front page of TFNN and you'll find market insights under trading newsletters I use my years of trading experience to bisect and dissect the market every morning and give my subscribers the most important information they need to know for the day ahead I even issue afternoon updates for my subscribers whenever warranted with important market action I'm always scouring the market for the next great trading opportunity sign up for your 30 day free trial to my daily newsletter market insights today by visiting the front page of TFNN.com well look at them folks 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 traders 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 and we're back 2947 on the SMP cash anyway we're talking about slack coming out actually a very good program there are a lot of messengers out there not many that run on literally every kind of platform from iOS to Mac to Linux to Microsoft to Android they've got an app for every one and every flavor also has a lot of features I actually love back to do let's go ahead and do this I'm gonna just bring it up here here's a little conversation where I'm talking to a handful of people about machine learning and somebody's asking my opinion on what they should do and how they should learn to write software for the stock market anyway fairly interesting product in the fact that it does exactly what you need to do if you're developing software in any kind of collaborative effort what is not sure yet on slack is if they can take a lot of these rooms which are free and turn them into paying customers if you own a business you probably want to pay if you have some kind of ad hoc room here that's about machine learning and most of those are free and here's the rub Microsoft has a product called Microsoft teams it links not only up like slack but they're adding hooks into it for actually doing a lot of the repetitive efforts that you would have in GitHub so Microsoft continues to kind of put this together that they decided it not to have lockups that they bypassed a lot of that stuff makes me wonder if Microsoft teams under the cover since I don't use it is really going and the combination of it with both LinkedIn and GitHub is the kind of killer product that basically kills off even a good version of a messenger like slack they're basically they're called action is that they're gonna get rid of email in the corporate environment certainly you can do that with slack today and they just charge you for but since it's a invitation only kind of product you don't get a lot of spam it's pretty easy to take care of as I've told a couple people early on when Microsoft was developing Microsoft learning net a package for doing a lot of machine learning I'd opened up my own slack room as they were doing it eventually they decided that they didn't want anybody to do anything with it that weren't wasn't on a product called glitter which is kind of like this but really designed and linked into GitHub on almost a one-for-one basis my guess is that eventually Microsoft teams glitter and a getter glitter and most of the features in slack will go into Microsoft teams for collaborative development of software at the price that they're at today they're basically putting in a lot of value that slack will be able to get out of the development part of the market and actually get into the Fortune 500 standard line of business every day kind of thing and make it more of a ubiquitous product instead of one that all so that it has a lots of users gets out of just a development phase but if you're developing a product like a shareware or not a shareware like a open source project it is very very good for doing a lot of not only technical support but other things anyway I use it a lot I love it we use it at TFNN for communications with the producer in the studio so I use it every day for that too but just a good product but even good products sometimes can't make money they have not proved that they can make money yet what is what is what features does it have well in fact I probably need to now pop it back up here one of the over here on the right hand side I sent a link to a video on youtube and you'll see that brought up the actual preview and you can see it inside of it more than just being a standard messenger they have a lot of they make an api available for people to make specific plugins for all kinds of things like if you want to have a video conference there's a plugin for that you want to have charts and other things they're they're probably a thousand different plugins available for it but think of just like being able to pick up any kind of application needs to be added to a room of many people and a lot of that from you know you can basically buy all kinds of things that make sure that bad words don't go in like said video editing one to many many to one so there's basically if someone's thought of it it's already available for it so it is kind of a lego thing where you just keep plugging the yeah most of the plugins are stuff for you pay for again that's where it's going to be interesting is how well they can get people to move from free which is the room I'm showing right now which has about 3,600 people in it to one where people actually pay on an ongoing basis because that's really their model is to go after corporate America and have a way for them to have a interactive system for that but it very was say that you were building an airplane and you had all the different teams from avionics to engines to aluminum for the skin of the plane to the tires and landing gears it makes it very easy to chop all those things up put those people in a group and be able to track over time all the the communications public communications between them it also offers a email like system without all the problems of email i.e. spam so it just a great communication a product for people inside the tent not everybody including bozos spamming you and I think that's probably it hopefully I explained it as well as necessary just something I've used very well a lot of the free messengers have gone away like yahoo messenger and some of the other ones and that's always been something and I just their app for windows is very good and like I said download the free app on your android phone and you can see how it works too or on ios for smartphones and I mean they've got everything covered and that's one of the rare things too is that literally anywhere you go Linux included you can use their chat system we'll be back after this if you're in the cd market and looking for a secure investment the tiger first mortgage program may work for you the security for these first mortgages are building lots in the tax opportunity zone in st. Petersburg, florida the tax act of 2018 set up tax-free zones across the country where you can build and hold for 10 years and pay no tax on the profits which makes these lots valuable the investment is anywhere from 30 000 to 75 000 the interest paid is 7% yearly paid on a monthly basis according to bankrate.com the best rate for a four-year cd in the country as of february 20th is 3.1 percent a 50 000 investment at a normal four-year cd rate of 3.1 percent would give you income of 1550 per year or 6200 over the four-year period that same 50 000 investment in the tiger first mortgage program would give you 3500 per year or 14 000 over the four years which would you prefer 6200 or 14 000 of interest on your investment if you'd like more information about the tiger first mortgage program you can call me at<PHONE_NUMBER> that's<PHONE_NUMBER> if you haven't checked out the newsletters page of tfnn.com what are you waiting for all of the tfnn newsletters are informative up-to-date affordable and must have for every trader looking to gain a competitive informational edge in today's markets tfnn newsletters cover every aspect of the markets to offer you the very latest in market news plus new subscribers get to test drive our newsletters risk-free for 30 days from all aspects of the markets including stocks bonds metals commodities and tech there's a newsletter to fit your needs exclusively from tfnn stay informed each day you trade and get the competitive edge that will help you stay ahead of the game visit our newsletters page by going to tfnn.com and click the newsletters button near the top of the page tfnn.com educating investors are china a shares hot or not if you trade china a shares now may be time to take a closer look trade chau or chad directions daily csi 300 china a share bull and bear etfs china a shares in either direction visit direction investments dot com today an investor should consider the investment objectives risks charges and expenses of the direction shares carefully before investing the prospectus and summary prospectus contain this and other information about direction shares to obtain a prospectus or summary prospectus please contact direction shares at<PHONE_NUMBER> the prospectus or 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 then hit watch tiger tv for the latest information and had a question here the product that microsoft has is a thing called microsoft teams which is very much like it much more directly focused toward programmers but i think they're starting to open that up and once you get to teams and get hub and their own development software and the other uh kutra ma that comes along with the uh with the the suite of products microsoft already has the question is whether or not they can ever make any kind of money um and i i think that's what everybody's thinking can they expand out of the direct uh software development model that really it's worked on um another question is where did it come from there was a guy named jim butterfield around 2005 or six uh that didn't like the way that instant messengers worked for developing a software game the software game ended up going into the ash heap of history the round bin but everybody really loved the product that they developed which became slack and uh well for a guy that actually was born in a log cabin with no power no electric no anything else um no running water and outhouse uh to be worth uh probably a billion and a half dollars today is kind of quite the story too uh what else do we have let's take a quick look at microsoft um slowly creeping back up uh around the highs 29 49 is the last uh hit up here at the highs to to so what do we have microsoft you did hit highs you haven't uh of course had a sign of strength above 131 and that is the real problem out here you've got a market that's rather brittle it doesn't mean that it'll turn down today or tomorrow i'm just saying that the risk reward is more than likely that you do have some kind of movement uh to the lower tomorrow from what options are saying and you could have a big surprise and of course this is what you really dislike uh if you're long and that is light volume pushes to new highs no signs of strength and uh a lot of things that could fairly quickly go wrong what i dislike about microsoft is not just the volume not just uh the lack of a sign of strength uh but the overall weakness from that June 3rd low up into the high today there just isn't much juice generally means that you're going to come back into the trading range which means uh the next target you i'd want to look at is below 131 37 um the downside is this is the company that can do no wrong they've made every i'm going to say 95 percent of all the uh decisions that they've made since the new CEO have been right and there's a lot of discussion about whether or not there is decisions or there are bill gates where he's just channeling bill gates but uh i think the guy been around for a long time really a disciple of bill gates and not a bomber uh wasn't bombers real choice and in fact um bill gates uh apparently put his thumb on the scale when it came to getting a new ceo and running bomber off uh and it looks to be pretty good i thought there was one guy that was going to be better than him um and amazingly enough he went into he was kind of the head of all the word and excel and all that in the software development part of the business i thought he'd probably be the best guy i'm going to say that i'm a little bit wrong about that and he's of course a lot richer because he joined a big venture capital firm and had just a long string in the last three or four years of huge winners so he's probably still happy doesn't have to run a big company didn't have a lot of people to report to and probably actually made more money than the current ceo of microsoft microsoft ceo probably long term going to make a lot more money but in the short run the last three four years the guy that left for the vulture capital firms actually so far has made more money and had a whole lot less work so that could be it uh well we got a couple minutes here left wanted to look at a handful of others and see what we have for amazon today and see whether or not they can push up um certainly uh you've got a little bit of juice as we went higher uh than the may 16th high that had 4.7 million shares you did 2.3 million shares again this is a brittle market and um you know if i was going to do anything i would be buying puts for tomorrow they're cheap uh or bearish let me put it bearish for positions for tomorrow doesn't mean that i will be right but uh if you risk a quarter you know for an option or a dime maybe get a buck or two back so the bang for the buck probably hasn't been this good now of course monday and Tuesday we go into options rollover and then wednesday of course that takes us up to the 26 already you actually get into fun buying in a couple of days after that but the real story is going to be that 29th meeting between president trump and president zai uh where they talk all matters of things and from what i've read there's a lot of issues with china's banking system that zai might be more than willing to get this done sooner rather than later before any of the cracks in the dyke start showing up and there's never the little dutch boy that has his finger in it when you need it so you never know uh to to us take a look at another one uh in flx now i had a question about that i mean again these things uh lower highs higher lows you want these things to break out generally the first movement will be to the wrong side so i wouldn't be surprised if we do see some kind of a blowout maybe for the news on oran or something like that um in a lot of these stocks that make them kind of go down and offer yet another opportunity to buy these things of course right here i can't buy with a volume as weak as it is and as brittle as it possibly is but again i can't go short a stock right now the only thing i like is that options expiration is tomorrow which means that the amount of money i risk compared to the amount of money i can make is fairly decent other than that i kind of feel like throwing new money in the market right here is probably more like picking up dollar bills in front of a steamroller all you got to do is trip once and you will become the thinnest trader on wall street not a chance of that happening me is there uh to to to what else do we have got a couple emails here see what we got okay yeah yeah we haven't paid any attention to mr ibm just back up to resistance like almost all the other stocks in the market we'll be back in a minute and wrap up the last segment of the show i'm certain you are or strive to be one of the best of the best at everything you do in life it's the most common trait that we tigers and tigers share if you're looking to become the best of the best when it comes to managing your money let me teach you to do what most wealth managers tell you can't be done which is how to time the markets i'm steve rhodes author of mastering probability and for the last 12 months timer digest has been tracking my newsletter signals which have earned me the ranking as their number one market timer in the nation for the s and p 500 for the last 12 6 and 3 months timer digest also ranks me as the number one market timer for gold as well the fact is markets can be timed and i'll teach you the exact set of tools that i use that has transformed me into one of the best at what i do sign up for mastering probability today by clicking on the newsletter tab on the homepage of tfnn.com and get immediate access to workshops where i take you step by step how to use an extraordinary set of tools as well as provide great market calls too sign up today david whites newsletter the technology insider is focused like a laser on finding the next big things in technology if you would invest in only ten thousand dollars in microsoft in 1986 you'd have been a millionaire by 2000 disruptive technology like microsoft's is the key to these massive long-term profits and the tech insider is the vehicle from tfnn to capitalize on these opportunities this is the go-to newsletter that identifies monitors and profits on mostly little known cutting-edge companies with great long-term prospects david's experience is as an inventor of emmy winning animation products for tv and hollywood that propelled a company public match that with 14 years as a full-time trader and he's uniquely qualified to guide you through the light speed world of ever-evolving high tech if you're ready to ride the next big technology bull market for less than 40 dollars per month log on to tfnn.com and get your two week free trial to the technology insider get in on the ground floor of the next big thing today since 1984 basal Chapman has been using the Chapman wave methodology to advise traders of his expert market opinion while originally hand drawing charts from the late 1970s into the 1980s basal noticed that prices under most circumstances virtually always had a certain number of legs to the upside before declining sharply later basal found that computer software which included the standard market technical indicators enhanced the degree of accuracy and calling price turns as well as market trend calls thus was born the Chapman wave sequence using the Chapman wave methodology along with other indicators basal Chapman advises his subscribers of his expert market opinion each market day with his opening call newsletter right now you can get a two week free trial to the opening call basal's daily trading newsletter by visiting the front page of tfnn.com cancel at any time during that trial and pay absolutely nothing get your two week free trial to basal's newsletter the opening call today by visiting tfnn.com catch Tom O'Brien professional trader and educator founder of tfnn also a special guest on CNBC Tom will bisect and dissect the markets the Tom O'Brien show next on tfnn and of course directly after the show on most of tfnn the tfnn network is Tom O'Brien got another two hours to go after the show of course in about six minutes but it's not really six minutes because it's politician time which can mean anything from three to 330 right they're going to have a press briefing I guess for the congressional delegation about Iran and when they come out probably going to be at least a handful of news that moves the market around so I think we still have some action left to go today when we we're talking about slack work trading for $40 and 12 cents got to high of 42 low of 3825 and of course today it went DPO which we talked about earlier in the show but at the same time kind of interesting that this thing came out at 26 bucks again too many people fanning the flames of the hype cycle I'd be very you know if you haven't made money by the time you went public there's always kind of an issue this product's been around for a while and you always have to wonder about it I have to wait until these things that are a significant discount before I will play them but at the same time remember if anything turns south the owners have no or the original owners have no compulsion or compassion or even law that says that they can't sell every share that they have tomorrow or even later today if they want it so it's a very very problematic stock there's no way to get rid of the ownership in it much like Facebook a lot of these new stocks are doing it and it's another thing or I may love the product but dislike the stock anyway there's always so when you can not when you have to and we'll see you here tomorrow same bad channel same bad time


So, welcome back after the break. So, let us start with more questions. I am already seeing quite a few questions on chat, but I would like to start with some live questions. We have Pyagraja College Madurai. Sir, I have doubt in the example you dealt when saying about BCN officer. Yeah. The table you used to ask instructor underscore department. It relates both the instructor and the department. Right. But I think that decompositional happen when the relation crosses second normal form itself. So, I think the question you are saying is if we wanted second normal form, would we have decompose that particular relation in the same way? Did we have to wait for 3NF or BCNF? In this particular case, second normal form like I said in our book we do not even care about it because we feel it is just of historical interest. Somebody defined it at one point. If you look at research papers, there are thousands and thousands of such concepts which people have defined at some point. And at some point you want to say please do not burden students with all these unnecessary concepts. It will just confuse them and won't lead to anything useful coming out of it. So, the first thing I would say is just forget about 2NF. If you want unnecessary things, by all means go read the literature to read not just thousands, but probably tens of thousands of papers have been written on databases, overall normalization, so forth. And there are many, many concepts out there which are not so important and should be best ignored. But since you have asked this specific question, I think in this particular case it is not a partial key dependency. I think it is a transitive dependency because we had ID to department and then department to something else. So, I think in this case, its second normal form would not have played any role. It could have already been in 2NF. Let us move to some other questions. Now, in order by class, if there are some 2 attributes in the order by class, then how will the result get sorted based on the second attribute or based on the first attribute? That actually fairly straightforward. Whenever you sort by multiple things, there is a standard lexicographic sort order which is very basic in computer science and in real life also. So, when you sort students by let us say a class and then within each class by role number, this is exactly what you are doing. You are sorting on 2 attributes class and then role number. And databases SQL in particular of course allows you to sort on 2 attributes. So, the first thing will the initially will be sorted on the first attribute. Now, there may be many tuples with exactly the same value for the first attribute. So, those are relatively sorted using the second attribute. And SQL gives a lot of control over this. You can say the first one should be ascending, the second one should be descending and so on and so forth. I hope that answers your question. At this point, I would like to request more questions on the current topic which is servlets and web apps. So, please try to restrict your questions to this area. The next question is what is the difference between the get and the post method? So, the basic difference is the get method passes its parameters by adding extra stuff to the URL itself. So, it is explicit in the URL. In the post method, the URL does not contain the parameters, but the HTTP protocol has some further back and forth communication through which the parameters are passed. In terms of writing the HTML file, the only difference is that you say method equal to get or method equal to post. There are couple of other methods to use for sending binary large amounts of data and so forth. So, that is the only difference from your viewpoint, but the protocol itself sends it differently. Now, from your point of writing servlets, you can write a get and you can write a do post method. You can write separate code for these two methods. Which one do you use? It depends. So, get is recommended only for things that do not do updates. The HTTP protocol specification strongly recommends against doing any updates based on a get method. Any update should only be done through the things that use the post method. Nothing prevents you from writing a get method that updates the database, but it is considered bad to do this because sometimes there are web crawlers and so on. Google can come crawling. It will use the get method. If you do an update through the get method, Google crawl can damage your database. So, it is highly recommended against doing updates using the get method. Updates should only be done using the post method and crawlers such as Google will not use the post method. They will only, if they find a form with the get method, they will use it with the post method. They won't. Another question is how to retrieve cookie information from the browser. So, if you are the web server, you use HTTP to retrieve it. That is part of the protocol. If you are a user, every browser has its own way to look at details through tools or preferences or so forth. Then you can dig in and go to security or so on. Somewhere in there, there is cookies and then you can view the cookies. Is it possible to have a constructor in a servlet? Can we use constructor instead of init? Now, let me mention the init method. So, we have focused on get and post method. We have only seen get. Post is similar. It is pretty much identical in terms of the interface. The init method is something which is used when the servlet code is first invoked. So, the very first invocation of a particular servlet will call the init method and that can be used to do some initial setup. For example, we have some thing at IIT Bombay which we use to do keyword search on data. So, the init method will basically load the data into memory and then the get method is used to query it. So, the very first time the get method is invoked or the post for that matter. The first time any method on this particular servlet is invoked. The web server will call the init method and that is used to load data, whatever data we need into memory. We also access a database, but for performance reasons certain things are loaded into memory first. So, that happens in the init. Now, the question was can you use a constructor instead? I am not sure about the answer to that question, but the recommended way to do initialization is to use init, not the constructor. One more question is, is HCTPS connection less or stateless? Connectionless is the answer here because the connection can be closed. It does not have to persist. Stateless means that you completely forget everything about the state. In fact, it does maintain state through cookies and other means. Adi, Sitar Pradesh, please go ahead. My question is related to ER diagram to relation conversion. In ER diagram session you have taken an example of Moodle in which you have taken a course as a strong entity and assignment as a weak entity. When we take a relationship between course and assignment, in that case when we convert it to the relation, course is converted to the relation directly by its primary key. But when we take the assignment, in that case we take the course primary key and discriminator attribute as a key for the weak entity. My question is here is that if both the entities are weak entities, in that case how we will convert it to the relation? Is it possible to convert if both the relations are weak entity? I think this question was asked earlier. In fact, we had an example of that. So, we made assignment a weak entity which is identified by course and then we had submission as a weak entity which was identified by assignment. So, that is exactly the kind of situation you are asking about. So, the idea is fairly simple. So, first of all we start with assignment which is identified by a strong entity. So, its primary key is the primary key of the identifying entity that is course ID followed by its discriminator. So, assignment ID. So, the assignment ID now is local within a course of assignment 1, 2, 3, 4 can exist in each course. So, now the assignment is uniquely identified by course ID comma assignment ID. Now, a submission is a weak entity identified by assignment which is itself a weak entity, but the rule says take the primary key of the identifying entity. In this case, the primary key of assignment is what course ID comma assignment ID. So, we take that and then the discriminator of submission to create the primary key for submission. So, supposing we had used may be student ID as discriminator for submission, then we will take course ID, assignment ID, student ID. Does that answer your question? Sir, another question related to cookies. Sir, when a user send a request to the server, server sends the response or cookies is stored to the browser. Also, you mentioned that the server also stores the cookies at server side. But, second time when existing user send the same request, how server knows that these requests came from the previous user? How the browser's cookie is compared with the server's cookie? Right. So, first of all, the web server has to tell the browser, please give me the cookie with the following name. So, as I said, a particular web server can only access cookies that it created earlier. So, the first time when you connected, a new session is created. If you use the servlet session API, you would say request.getSession true and a session is created. At that point, the server would create a cookie and send the cookie to the browser which stores the cookie. You don't see all this. It's happening underneath the part of the HDP protocol. So, now the cookie is stored on the browser. The next time you make a request, the server asks the browser, please send me the cookie with that particular name. It gave a name. I think the cookie has a name, user info or whatever else the name was. So, next time when the server says, do you have a cookie called user info, the browser will send that value back. And that value, like I said, is a string, randomly generated string. And the server will take the value which it got back from the browser and look it up in its local storage to see if that particular string is already available. If it is available, then it is part of an ongoing session. Another related question which you didn't ask, but let me answer it, what about session timeout? So, typically any web app has a timeout. So, if you don't use this thing for say 20 minutes or 5 minutes or 2 minutes or whatever else, the session expires. So, what exactly happens is that the web server throws out the information about that particular session cookie. So, what will happen is it will still ask the browser, do you have this cookie user info? The browser will send the cookie value which it has back. And the web server will look it up in its database. It is not a permanent database, just a in-memory transient thing. It will look it up. And what happened is because of the timeout, it threw that information away. And now when it looks it up, it will say, no, I can't find it. So, it will say, sorry, you don't have an active session and it will proceed to the login page. So, that's how session timeouts are done. You can also from your servlet, you can explicitly invalidate a session. So, that is an API call for invalidating the session also. If you want to log out the user, at that point you will immediately invalidate the session so that the next time request that comes from the user, the session will no longer be valid. I didn't show that, but that is part of the API. Does that answer your question? Thank you, sir. Thank you. Bidala Vishwakarma College, Gujarat, if you have a question, please go ahead. Yes, sir. Can you just a little bit explain the life cycle of Java servlet in brief? Yeah. So, the life cycle of a servlet, this is something which I skipped for brevity. But what happens is, sorry, let me explain it intuitively. I am not getting into all the details, but intuition. So, first of all, when you have created a servlet and compiled it, you have to tell the web server about this. So, what you do is, you deploy this thing by either copying the files into the web server, the application server along with some other configuration files, web.xml and so on, and start the server. Or you can actually deploy on an already running server. There is a way to package all of these things into a single file called a var file, and you can just deploy it. At this point, the application server has access to all your code, and it knows the mappings between the URL and the specific servlet code. But at this point, it does not actually do anything with it. It is just ready to be run when a request comes in. Now, when a request comes in, the first time particular servlet is requested, the application server is going to run an init method, and that init method is useful for you to do some setup. So, that is something which I explained a few minutes back. We can use it to load some stuff into memory, etcetera, etcetera. And now that setup is complete. After that the method which was called get or post, whatever method was called, that is actually executed, and that returns something to the user. So, now further request can come, get, post, whatever. But you may also want to close that servlet eventually. So, there is a way to tell the application server to close this servlet and turn it off. So, usually that is done if there is a long period of inactivity when this thing is not getting used anymore. So, you might as well close it and release resources from the app server. Remember the init method would have done some loading or could have done some loading of data into memory. What you want is if that servlet has not been used a long time, maybe you want to close it and release those resources. So, there is a way to tell the thing servlet container to close down this servlet. I would not get into the details, but there are API tools for this. So, I think now let us get back to some new slides. Now, let us move on. The next topic is scripting. So far we have been writing programs in Java servlets. There are some overheads to this. You have to compile it, deploy it and so forth. And people found that writing scripts which are interpreted on the fly can be a lot more convenient. So, there is two kinds of scripting. One is called server side scripting. The other is called client side scripting. Servet side scripting actually came first and the initial versions of it actually combined HTML documents with executable code inside it. And there are many alternatives. There is JSP, PHP and many other alternatives for server side scripting. I think I have an example slide here in JSP. So, what happens is you write a HTML page. So, the assumption is the bulk of your work in design is going to be HTML design. And this can be done by somebody who is not a programmer. They can use tools for designing HTML pages and create a HTML page. So, all this body here HTML head, body, all this can be created by somebody who does not know programming at all. In fact, they do not need to know all that much of HTML for that matter because there are tools to create HTML. Now, there are certain parts of this page which are going to be filled with dynamically generated data. Those parts you do the following. For JSP you simply say less than percent up to percent greater than everything in between here in the context of Java server pages. So, JSP is actually Java code. So, what we have here is actual Java code which earlier we would have written inside the servlet. So, let me show this and then contrast it with the earlier servlet. So, we have HTML as usual. Now, here this is a very simple thing. It says if request dot parameter name equal to null it says out dot print line hello world otherwise out dot print line name get parameter name. So, there are a few things happening here. First of all the parameter the variables request, out, response they are all defined in a standard way. The request must be would be referred to as request here that is guaranteed. The response where object will be called response. There is already a print writer out open on response. So, all that is guaranteed at this point. So, this Java code simply does whatever it needs with these objects. Now, what actually happens with this? There is a compiler which takes this and generates a servlet out of it compiles the servlet and then it can deploy it. So, here we basically had just HTML tags with Java code. But, JSP also has some other tags which act as some kind of library. To contrast if you see our servlet here the HTML code had to be inside of Java code. We had say out dot print line blah blah blah this is quite tedious sometimes. So, it is much easier for many apps to flip it and do it differently. So, let me wrap up with this slide on PHP then we will have our visitors coming. So, PHP is another very widely used scripting language and Moodle is written entirely in PHP and many other very large projects are done in PHP. So, this also scripting language. So, you will see that you have HTML coming up as is. But, inside the HTML you will have PHP code written like this less than question mark PHP up to question mark greater than everything in between here is actually code written in PHP. Now, this is a code which is interpreted and by a PHP interpreter and this code is there is a language PHP is a language. So, it has something which you see here it has if statement it has echo which prints the thing to the output it has variables global variables which are preset. For example, dollar underscore request is a variable that stores all the request parameters that you bought. So, if you say dollar underscore request square bracket and then single code name single code close square bracket. What is that? This is actually equivalent to request dot get parameter name that is equivalent in servlets. Similarly, echo goes to the output there is an is set which said checks if it is defined or not and so forth. So, with that we will take a break


Hello, everybody. Thank you for coming to our presentation. So my name is Harris Khan. I am a software engineer at Bloomberg. And I'm here with my co-worker, Yal Lin, senior software engineer. And we are part of the workflow orchestration team. And today we're going to be talking about some of the growing pains associated with scaling to 10,000 workflows per week. So at Bloomberg, our team's mission is to maintain and provide a fully managed, general utility workflow orchestration platform for users. And this is so that they can orchestrate their tasks in a cloud-native environment. Ideally, we want to make sure that it's secure, reliable, and accessible for all of our internal users, despite what their skill level might be in Argo or Kubernetes. And as I mentioned before, we offer our users general utility compute, so that means that they can bring in their own containers so that they can orchestrate their tasks. And many users on our platform run a diverse array of jobs. Some of these jobs are something like AI model training, machine maintenance, and even financial analysis. And that's just the tip of the iceberg. Our platform, as you might guess, fits right on top of Argo workflows. And because of our user needs and because we're a fully managed platform, it's important that we give our users certain functional requirements that Argo workflows might not fulfill by itself. This could be, for example, network segmentation so that we could provide guarded traffic, isolate traffic and guard the production environment, approval guards, cross-owner liability, as well as the ability to allow our users to schedule their workflows and also have these workflows trigger based on events. And because we love our users so much, we also want to give them the right self-service tools so that they can observe their workflows and go under the hood if they need to debug their containers. Now, as our user base has grown significantly over the past couple months, we've noticed that many of our users have different SLA requirements. Now, one user might be running a maintenance job that would run at most once, whereas another user might want to run an analysis job that they need to run at least once and it might be persistent. So, these diverse SLA requirements bring us to our first growth pain, and that is tenant cluster isolation where it might be a good idea to have our tenants on different workload clusters so that we can adhere to these SLA requirements. Moving on, now because our user base has continued to grow and many of our users are running important jobs, high availability is extremely important for our platform. Additionally, many of our users are worried that cluster maintenance might impact their jobs and that's why this brings us to our second growth factor, which is data center resiliency.  You might ask yourself, is there something wrong with the whole system? Could it be that I'm under allocating resources? And this quick example highlights the importance and the need for our next growth factor, which is observability and troubleshooting. It's important that we empower users so that despite what their level is, that they can look at their workflows and also have the right tools so that they can debug anything that might come in their way and that also helps us as platform maintainers as well. Now, an example that actually combines the three growth factors together that we recently experienced was that we had a workflow cluster that during peak hours was going through a lot of timeouts and so we decided to research this, pull our sleeves up and we found that it could potentially be CPU throttling. We looked into whether it was a memory allocation issue. We even looked in and saw if it was a disk and IO issue. As it turns out, it was actually none of these and the real issue was that we were overloading our Kubernetes API server. And why is that? So because all of our tenants are all on one workload cluster, we just had way too many job runs and too many updates from our tenants and their workflows going straight towards the API server and this brings back that factor that I was talking about before which was tenant cluster isolation. Something like cluster sharding could potentially remediate this, right? If we have different clusters and on those clusters we have the workflows running instead of all of them being on just one workload cluster that could remediate some of the pressure that's going towards the Kubernetes server. Additionally, this brings back observability and troubleshooting because this example shows how important it is to be able to understand what's happening with tenant cluster activity. And as you just saw, these are the three main growth factors that we've been dealing with recently as our user base has considerably gained more. And firstly, we saw the observability and troubleshooting is extremely important not just for us as platform maintainers but also for our users so that they can manage and analyze their workflows in real time. Additionally, we saw because of high availability that data center resiliency is extremely important to us and it's only going to get more important. And lastly, we saw that tenant workload isolation is also just going to keep getting more important, not only for addressing our users' SLA requirements but also in situations like you saw before where we could use something like cluster sharding to alleviate some of the pressure on our API server. And now I'm going to pass it to Yao Lin who is going to dive deeper into these three topics and then also talk about some solutions we have in mind. Thanks, Harris. We're setting up the contest here and help us identify the three major solutions. Now let's take a journey to see how, like, things we can do to make these solutions come true. So let's start with something simple. Imagine you have a workflow cluster installing a standard way and run some typical tenant containers and for starter, you will have the tenant's logs and the metrics. So inside Bloomberg, we have our own dedicated platform to persist the log and metrics. That platform also comes with the integration with query and visualization functionalities. So it's our go-to place to put our logs and metrics. Then it becomes our responsibility to forward those tenants' indicators there. Also, user might want to know some system indicators so that we can figure out things in more detail. So it's also our responsibility to build up the dashboards as a template for tenants to look at. That includes an indicator from tube metrics, container metrics, workflow controller logs, and also something more. However, these standard things are just not sufficient to answer all of our questions. Let's look at the examples here. By default, the workflow controller does not help emit the metrics per namespace. And in order to do that, it has to be done by putting extra configuration into individual workflow spec. So how can we avoid that? Also, if specifically we want to capture a certain state of workflow apart, that is not considered standard in the general community. But we do need that. Then let's summarize our needs here. So firstly, we want custom metrics. So in one scenario, we want the metrics to be published with the tags we define without injecting anything into the workflow spec. And on the other hand, we also want to guard the metrics that comes from our system just in case that some metrics are published with crazy amount of time series. So from that, we also need specific loglines to help us identify a certain state of workflow or part. Oftentimes, those states are considered problematic. Let's take a real example. If a part is configured with a typo in the mount path, then that part is likely to be pending forever. And in our context here, we want to kill that part immediately if that state is reached. Let's say it stays for an hour. Then we can also think about that a little bit further. Can we avoid waking up our tenants during the midnight just to capture that issue? We can just leverage our system to automatically reconcile that kind of state. Then we first consider, can we just achieve that by putting proper configuration of our installation of the workflow controllers? Then it turns out it's not overly complicated and sometimes it requires some enhancement to be put in. And as we all know, the workflow controller is already complicated and busy at its own task, which is the orchestration itself. Those housekeeping work can be better implemented in a separate channel. So we did a little research at what's the difficulties implementing a controller by your own. So actually it's not that difficult. This is the typical implementation we took from the QBuilder website. Initially, you'll need to implement event filters. They call it predicates. And it can actually be implemented more like event handlers to publish the metrics. And also, once things reach the reconciler, then it's time for you to capture a certain state and take actions for those states if needed. And actually that works pretty surprisingly well and it was surprisingly easy to implement than we initially thought. Now, one problem solved. Now, let's look at the data center resiliency. It's from a more higher scope. We often mentioned that with the term multi-cluster federation. So it has been a long-standing topic and it's difficult. There's no one good solution for that. So there are many projects and many aspects you can try to get that solved. But it depends on the use case, the needs. There's just no straightforward answer. Projects will include like Kamada and OCM or something you develop in-house. But here, we're not just to compare and contrast each solution and try to teach you which is better. We want to highlight an important aspect in this approach is that you can't avoid to build a unified API to expose to our users. Like we mentioned earlier, what we offer is actually a general utility compute platform. Many of our users are not familiar with Kubernetes. That's an issue we often overlooked in our daily life because we are pretty familiar with Kubernetes. So that API needs to handle things in a more user-logical way. By doing that, it does not only bring benefits to our tenants, but also give us an action space to do the re-architecting if you are picking up new solutions for those federation or you want to switch your federations. Okay. And we arrived our third problem here, the tenant workload isolation. So the bottleneck of the timeout as we identified before is on the API server. Now let's think about how can we solve that? Can we solve that by adding more powerful hardware? Obviously no because the instance of the capacity of the API server is quite limited on one cluster. Or let's think about how can we change the way we deploy our workflow controller. So the workflow controller, in case you are not familiar with that, is basically the backbone of the orchestrating feature. So it can be installed in two ways. One is per cluster, and that orchestrates all the names based on this cluster. Or it can also be installed in a namespace the way which a controller only responsible for one namespace workload. But however that we researched and realized it doesn't really solve the problem because workflow controller itself is not the bottleneck but the API server. Then that leave us no choice except that we need to build smaller but more workload clusters. So that will require us to build more automation tools for these clusters. Otherwise it will just kill us by linearly increasing the clusters when our tenants namespace grows. So let's look at how we are going to chart the workload. So imagine in these hypothetical scenarios we have four namespaces and some namespaces are pretty heavy.  And there are more like to users so they probably run workflow once per day or once per hours. Then these tenant namespaces should be evenly distributed across all these clusters. Now, so you may ask two questions. So how can I easily manage such many workload clusters? And secondly, how can I identify which namespaces are lighter and which are heavier? So we can balance them in a more reasonable way and going forward if the usage pattern of the tenant namespace just changed is grow from a lighter user to a pro user. So it's not that trivial as it seems. Actually that ties back to our previous solutions. So with observability and troubleshooting it doesn't just solve the problem at the moment, but it also helps us going forward. It helps us better understand our tenant's profile and we can make informed decisions to how to place them and whether we need a rebalancing like a year from now. And then secondly, imagine we already made our Federation choice and we have a perfect API to guard ourselves to make such re-architecting or rebalancing without sacrificing their user experience. The user don't want to be interrupted for anything that is not obvious. Okay, so with these helpers we can finally achieve the tenant workload isolation in a convenient and comfortable way. I mean comfortable is more for our confidence. So as you might notice earlier we specifically skip the topic of how can we achieve multi-closure Federation. It's a very broad and difficult topic. Hope you all understand that and forgive us. But we do have another talk tomorrow. It's around noon I think. So on the platform engineering track we'll talk a bit more about how we get started with the multi-closure Federation and I hope it will be a helpful sharing experience for everyone. So, yeah. Thanks everyone for listening. Now we can have some communication session now. Thanks. So again there's Mike over there. There we go. Hello. Oops, sorry.  But why not? Because you can add more memory to it. You can add more like in-flight requests to it. It really depends on what scale you are but it didn't seem like 10,000 workloads per week is enough to justify many clusters but obviously I don't know enough about your workloads so I'm just curious to hear if you explored this topic more. Okay. Yes, so we really considered that. We can probably add more instance or more a resource allocation to the API server but the thing is we have so many tenants namespaces already and the workflow scale just keep growing. It triggers those timeouts at a one time and it's not happening all the time but we do need to think about how this solution would behave going forward. So we can definitely add more resource for now but it doesn't seem like a sustainable growth in the future. While we're unsure about how fast we can grow and so we figured combined with the different LSA requirements it's a really good chance to just isolate the tenants into different clusters. Okay. So I hope that answers your question. Sure. I have a question. You say you can share your clusters and then you have namespaces for each tenant. My question is if one of your tenants grows too big then you need to share it through multiple clusters. I don't know if you have faced this issue but I would be very interesting to know how you schedule this or how do you manage... Sorry, could you increase the volume a little bit? Sorry about that. Is it better? It's better now. Okay. So you can have you share your clusters and then you have tenants in different namespaces. Do you face the issue where one tenant then grows very big and then you need to share it through multiple clusters? Is the question clear or... Sorry. I'll let my tea out to take over that question. So you're right. We were talking about sharding of namespaces. Luckily we are not at the point where we need more than a cluster for a single tenant. So what this talk was mostly about is how can we ensure the service level for everyone who is participating on this shared platform and how can we make sure that individual tenants don't overload a particular namespace or particular controller by sharding them across multiple clusters. What you're saying is absolutely right but we're not at that scale yet. Great. Thank you very much. I have a question regarding observability. We are struggling with monitoring and using the observability with the workflows. For example, a job is stuck or it failed. The UI is pretty limited. You can't sort. The developers are complaining about it. In Prometheus, what we have is the monitoring without the specific job. Like we can see how many jobs failed but we don't see the specific job. So how do you do this? Observability with so many workflows running. Do you have some dashboards to expose or to share with us? It's really interesting. That's really case by case, depends on what aspect you're interested in. For example, if I just want to know the creation rate or the real-time counts of the workflow or part per cluster then metrics is just good enough without crazy cardinality of time series. However, if you want to look at it in a more troubleshooting aspect in such case you need more in-depth detail of individual workflow or part. In general, we think maybe loglines or even trace would help you better otherwise the metrics won't help as much like that. So the controller is designed in a general way that it can allow you to customize metrics and logs altogether. So you're using tracing to actually see where it fails? It can be captured by events coming in or also identified at the reconciliation phase depends on which kind of state that you want to track. Thank you. All right, awesome. Thank you.