This is covering the spread part of the Fandall podcast network We are already entering week number nine in the NFL which feels pretty wild to say and That's a that's sad because these are already almost halfway done at the season But I think entering week nine some pretty good numbers to bet and some fun teams to bet on and I feel pretty excited about For this week will break down which ones those are where I'm seeing value across week nine also take a look at game number 3 in the World Series for today welcome on into covering the spread That's right here on the Fandall podcast network and number fire calm My name is Jim Sannis. I am a senior writer and analyst for number fire calm here to take a look at week number nine The NFL and also break down world series game number three fine solo for today to break down all of those We'll have college football coming tomorrow with that fang We'll have our NFL week nine full preview coming up Thursday with Ryan Williams and our player prop breakdown With JJ Zacharyson coming up on Friday So a lot of good stuff and a lot of good guests across the week here on Covering the spread before we dive into all that though a reminder to make sure you are subscribed to covering the spread wherever you get Your podcast we of course are an apple podcast Spotify stitcher Google podcasts. You name it You could find us there and while you're there like what you hear leave us a rating and review as Well also over on the Fandall YouTube page after the fact as always NBA season is underway Now is the perfect time to download Fandall America's number one sports book because right now new customers getting no sweat first bet up to $1,000 at such a $1,000 back and free bets if your first bet doesn't win Fandall has all your favorite bets from the money line to point spread to player props You can even combine your bets for a chance at a bigger payout with a same game parlay Plus with live betting You'll get up to the odds on games that have already started Fandall sports book app is safe secure and super easy to use So download Fandall today to get your no sweat first bet up to $1,000 make every moment more this season with Fandall official sports book partner of the NBA must be 21 plus And in select states first online real money wager only refund Issued is not withdrawal with free bets that expire in 14 days restrictions apply see terms at sportsbook dot fandall calm gambling problem Call 1 800 gambler or was the fandall calm slash RG in Arizona 1 800 next step or Texan exceptify 3 3 4 2 in Connecticut 1 88 79 77 77 Or visit ccpg.org slash chat in Indiana 1 809 with it in Kansas 1 105 2 2 4700 with a KS gambling help calm Louisiana 1877 770 stop in New York 1 877 8 hope and wire text open Y in Tennessee call the red line at 1 800 8 8 9 9 7 8 9 In Wyoming 1 850 2 2 4700 or in West Virginia 1 800 gambler net so run down for a day We'll talk about week 9 right now in the NFL We'll go through World Series game 3 after that and then a recap last week show and break down what went well What did not go? Well on last week's show if you want to skip ahead to the World Series game 3 preview if you are trying to bet that before Those games that King gets underway There is a timestamp available in the description Over on number fire comm in the episode description wherever you get your podcasts Let's zero in an NFL week number 9 right now though And like I said some pretty fun teams to bet on here and teams that I'm excited to bet against as well The first one is one that I'm super into and that's the Jags money line at plus one of six against the Raiders I'm actually Kind of surprised we didn't see a bigger reaction to the Raiders flop Against the Saints last week my model likes a Jags quite a bit They are a team that are efficient early downs both on offense and a defense That's a pretty big portion of my 2022 only model and that's why that model likes them I think that maybe what we're seeing here is a reaction to some of the rough throws that Trevor Lawrence has you know He's had great moments, but he's also had some bad moments And we can have like this negative highlight bias in our minds And maybe we're getting a bit of that with Lawrence here and that's dragging the Jags down My traditional model the one that I like has the Jags when odds at 55 percent We're getting plus money here. So pretty good value there and again the 2022 only model is also higher on the Jags here It kind of hates the Raiders specifically their defense. So I feel good about betting on the Jags I feel good betting against the Raiders here. The scheme is in Jacksonville So I'll take the Jags money line at plus one of six my first bet of the week The second one is one that I was pretty surprised by because my traditional model Has a super high a prior on the Chargers They were among the best teams in that model preseason. They were a team I wanted from a like an ASC West perspective from an ASC perspective and that prior is still in there Now it has been tweaked because we're Sean Slater's injury enjoyed both his injury So the prior now is not as good as it was entering the year, but that prior is still in there and it was still very high but That model says I should take Atlanta on the money line plus 140 against the Chargers here And I honestly don't disagree the Chargers will not have Mike Williams here. They are coming off a buy Which helps they should get key to now and back to full health now But this team can't afford to lose juice. They can't afford to lose Big play ability and Mike Williams despite not being like fast has juice He has it that downfield ability that not a lot of guys in this offense have this Falcons defense is hideous They're really bad. They've got a lot of injuries in the secondary And they're they're they're rough, but they're offence is super efficient on early down I don't know how they're efficient, but but they are efficient my traditional model says I should bet the Falcons as it has this game being A toss-up so plus 140 is good there my 2022 only model has the Falcons favorite I will caveat this by saying that I built that other model the secondary model Because I was annoyed last year with how often my number said to bet the Chargers I thought that model is overrating them because they were this team that was Inefficient early downs they'd rely on Justin Herbert's late-down heroics to bail them out So I was like, okay I need to tweak some things to account for teams that are like this because it's not sustainable and the Chargers miss the playoff So I think that was you know indication that was the right way to go So this model was built specifically to work against the Chargers So it's not a shock that 2022 model says I should bet against them But when you pair that with the traditional model, which has a very high prior on the Chargers saying to bet against them I'm very okay going here So that's the Falcons money line plus 140 a mighty fine way to go for me The final one I'm locking in right now is the Colts plus five and a half That's on the road against in England and I thought Sam Elinger played decently well in his first start Based on the opponent when you adjust for the team they played They exceeded expectations when throwing an early downs in that game. That's when they did not do it Mount Ryan there about 0.04 above average with Sam Elinger. They were minus 0.04 with Matt Ryan So I think that's encouraging We've also seen New England really struggle with rushing quarterback Justin Fields skewered them They've had some games against the Marjax and what they've done really well now Elinger is not as fast as those guys So that could be a bit different but Elinger did run a lot in college. He ran six times in his debut He's not fast. So maybe that's a difference because like you look at New England's defense The lack of speed is kind of the main thing that sticks out. So maybe having Elinger be a runner but not a burner could change that math a bit but He is a skilled runner. I think he can do well here So I'm fine taking the Colts plus five and a half There is value in the money line as well But if I can navigate my way around Bill Belichick by taking The spread versus the money line, I will do that. So I'll take the Colts plus five and a half in this one here taking advantage of you know, potentially Under reaction to Elinger looking okay in his debut and potentially because of the the match up mismatch When they were running quarterback facing off against New England What I'm not betting right now, but made later on is Cincinnati They are seven and a half point favorites against the Panthers right now That is down from eight and a half before last night's game And I think it it's more likely to move towards the Panthers than towards the Bengals It might not cross seven But it's minus 115 on the Bengals Minus seven and a half right now. I think we can at least get that to come down I think if it's going to move it'll move that direction. So That might move. We also could get a better money line here on the Bengals side even taking out Jamar Chase and Punishing them quite a bit for how they played last night in the first game without him I have the Bengals favored by 9.5 points here So I could bet it now based on the value gap between my numbers Between what my model says and what the market is saying. I could bet that now But I think if it's going to move it's probably going to move towards Carolina I'm likely to add it later on this week. I kind of want to get a feel for the market first, but I want to see Where that goes. So basically what I'll be doing is just watching What the hold is on that the Bengals minus seven and a half it stayed pretty steady at minus 115 right now So maybe it doesn't move towards Carolina, but you know pj walker enthusiasm dj more enthusiasm Pessas around the Bengals. I think we might get a better number So holding off for right now, but very likely to add that one later on this week The one spot where I'm showing value, but not betting it is on the jets and this is I think just kind of a key overall discussion because My numbers say the jets should be 8.05 point underdogs in this game Whereas the spread is 2.5 and typically you get four points in your favor. You're going to take that But when you're betting a spread you're not betting based on the average you're betting based on the median the median expectation And is the median expectation that the jets will cover 12 and a half You know 53 of the time or whatever When I back test my model uh teams that are around this area They cover that range about 12 point uh about uh 48 percent of the time So 12 and a half points a team similar to the jets mismatched against the bills They cover a 12 and a half point spread about 48 percent of the time It's because when you fall behind Things can get out of hand very easily you're in a negative game script that can lead to really big losses You're in desperation mode for longer and I don't want to deal with that so Just because my numbers say the spread should be tighter doesn't mean I want to bet that Now you remember that I talked about the the Packers plus 10 and a half last week on this show And this is a very similar situation where they could fall behind I had more confidence in the Packers passing offense should they fall behind being able to claw to the right back and cover that number Then I do in the jets passing offense So that's the key difference in those two ones and also is a 7.2 point Spread by my numbers that one's a little bit different there different passing offenses. That's why I'm going to pass on this one and it's a different situation Then last week and the Packers did cover too of coming from behind to get that backdoor cover That was part of the thesis there. I'm going to pass on this one here with the jets despite showing value For the reasons listed above So to recap where I'm showing value this week I got the Jags plus 106 falcons plus 140 and the Colts plus five and a half on the spread I'm okay taking all those I'm going to wait and see on the Bengals against carolinix I think I can get a better number uh potentially later on this week But we'll hold off on that one to see Where stuff goes as a week goes along but keeping on that one for sure and likely to add it later on And I will not be adding the jets in any fashion against the bills for this week That wraps up our NFL week number nine first look I said that we'll circle back to week number nine on thursday with ryan williams to break down that and also Talk some player props with jj zack recent Let's dive now though into world series game number three because game three got postponed last night And we can actually talk about it here on the show because Tuesdays are more of a free form kind of show And I actually am showing value here on the astros money line. That's minus 126 at fandall You can get some slightly better numbers elsewhere My model puts the astros win odds at 58.3 percent. They're implied odds who take the minus 126 are 55.8 percent so About two and a half percentage points of value there and I'm very fine Taking that ranger suarez facing the astros and he's a lefty That's a very tough assignment because the active roster for the astros had a 132 w rc plus against lefties during the regular season That's very good and it's tough for suarez on the opposing side of lance mccullers He's looks really crisp in the postseason. I think that the the fun thing for me with the colors is that He is Using his slider a lot, but he's also not walking guys If you can get that combination out of lance mccullers Good things are probably going to happen. That's pretty tough to top. So astros minus 126 on the money line here I think that's a really good number and I'm willing to take that So I will take the astros minus 126 for game number three Now we do as of now know the starters for game four as well Let's just talk quickly about that uh for when markets open post game three My preliminary numbers view this game as being a toss-up in game four That's assuming the starters remain aeronola and christian javier I've got the fillies of 50.7 to win that game assuming nothing else changes too much now You can use that number as a baseline you'll have to tweak things around because Big shifts can happen if one team has an injury or has to burn through a lot a bunch of relievers for tonight That could change but as of right now, I've got 50.7 for the fillies in game four 58.6 Or 58.3 for the astros in game number three So use those as kind of your baseline to decide whether there is value there If you can get I mean if the astros wind up being like underdogs for game four based on Narrative based on the nola matchup and stuff like that then maybe you buy into the astros from both games So for right now, we'll take the astros for game three and see where things settle out in game number four Okay, let's now move into the recap portion of this podcast and go back through last week's show on the college football side of things We had austin swam of number fire on check out austin on twitter at a swing three find his work Over at number fire dot com and austin cleaned up this week. He nailed tcu west virginia. He had tcu minus seven and a half over 68 and a half They get a little lucky in getting up both those because um, he was talking to him about that this morning and Tcu one by ten total finished 72 neither those would have hit had tcu not scored a late touchdown that when they didn't really need it Trying kind of trying to burn clock, but I mean it was a three point game. You can kind of understand why they were Still pushing there.  They were only up by three points But you know, it still works So tcu winning by 10 getting the cover getting the over Hero ball stuff there to get austin both the wins there. He also had washington state plus seven They were facing utah. They lost that game by four so they covered in that one Finally, we had austin ed going head to head on kentucky versus tenancy austin had tenancy minus 12 and a half Ed had kentucky and austin also had the under at 62 and a half and ed Did get the closing line value second time that's happened this year because it closed 11 and a half and second time he's gone head to head against a guest on the show Got the clv But the other side won closed 11 and a half austin won both those. He won the Total is that game went I think under 50 almost or pretty close to it Did not get 62 and a half for sure and they won that game running away So austin four and oh on the week here on the show actually five and oh, sorry I forgot he had two totals and two spreads or two toes and three spreads So five and a week for austin again checking out on twitter at a swain three and find his college football betting work over at numberfire.com he does Betting guides for like the the one-off slates like uh twos or a thursday or friday So check it austin's working number fire. Give a follow on twitter At a swain three as well for player props We had jj. Zachary snod as always he went two for three on the yardage props The hits were david montgomery over seven and a half receiving yards, which he hit like two minutes into the game AJ brown over 66 and a half receiving yards, which he hit like two minutes into the game So both those hit pretty quickly the one miss was robert tonion Under 32 and a half receiving yards. He finished with 35 so pretty tight miss there, but Good week on the the yardage props for jj finished two and three or two and one The touchdown props were courtland siden plus 220 anytime and then just in fields under Under 0.5 passing touchdowns at plus 145 Neither are those hit but good call on the yardage props for jj He talked about unders on the jets backfield given they might be a committee with ty johnson working in None of those guys did anything unless you went with a michael carter receiving yardage prop He mentioned tony pollard as being a you know, some guy to buy high on In the betting markets that worked out pretty well. So could we go overall by jj? Even with the tight miss there on the tonion under 32 and a half Ryan williams check him out on twitter at ryanowesend or underscore w144 on spread bets this week But also did really well with props last night He had tyler boyd and amari cooper anytime touchdowns those were plus 145 and plus 170 respectively both those hit So good job by ryan there. He also had donovan people's jones over 43 and a half receiving yards He finished with 81. He had a super long catch right away so no hit for joe burrow 250 yards and two touchdowns Plus the bangles spread in the tyler boyd over 60 and a half receiving yards But another overall really good week from ryan check out him on twitter at ryanowesend or underscore w Also forgot to mention jj is on twitter at late round qb late round commas where you can find his work and the late round fantasy football podcast I have a super frustrating week because I have three bets and then one prop last night the prop did hit That was amari cooper over 52 and a half receiving yards. He finished with 131. So that was good I was one and two in the other bets the wind was the packers plus 10 and a half They lost by 10 so covered uh big counts good teams win great teams cover packers play great So i'm gonna buy my estimation The other two were money lines the bucks and the bangles Both those were about as frustrated as you could possibly get because the bucks were plus 102 when we discussed it on tuesday They closed it minus 126 on thursday night. So Awesome closing line down you will take that every single time And obviously they lost so that was a bummer Didn't feel like a good omen for the rest of the week Then the bangles were minus 180 when we spoke they were down to what minus 196 at one point And then the jamar chase injury got announced. I still had their win odds around I think like 65 or so percent post chase injury.  I had that feeling Once that jamar chase injury was announced. You're like, okay, here we go It's gonna be frustrating Monday night and it is exactly that way. So I think the process for both the bucks and the bangles was correct But not the right results and that's happened a lot this year. It is frustrating, but it happens. Um, so you know It's just annoying with the way that went but I think that with the way the numbers are moving I feel good about those bets long term closing long value should translate to win So I still feel okay about it, but definitely Not the results I wanted overall but a good week for the show with the austin sweep Good weeks for ryan and jj and ed For ryan and jj doing well on their bets as well So hopefully a profitable week for you if you're listening to the podcast here on covering the spread More to come throughout this week as I mentioned work back tomorrow talking about college football week number 10 with ed fang We'll get his breakdown of those numbers there. I'll have ryan williams back on on thursday to break down end of a week nine in full We'll have jj on on friday to break down player props for this week as well So don't forget to subscribe to covering the spread wherever you get your podcast and also subscribe To the fan dual youtube page if you've got any questions for me. I am on twitter at jim sonnis j i m s a n n e s you can also follow the fan dual podcast network at fan dual podcast big thank you Everyone for tuning in for today. Good luck. If you decide to bet on the asterisk week for game number three If your affiliates fan astros fan, etc. Just enjoy the game We'll talk to you once again tomorrow for some more college football discussion This has been covering the spread right here on the fan dual podcast network


Hello! If you are new here, my name is Jackie, I'm a soon-to-be-published author. If you are not new here, welcome back. It's great to see you again. So as I mentioned, I am a soon-to-be-published author. My first novel, Powerless, is going to be coming out on June 13th this year. I'm hoping there will be pre-order links ready by the time this video comes out. If there are, they will be in the description. If not, stay tuned for the next video. They'll be added then. So I wanted to do a video to explain why I decided to self-publish, because I was someone who never thought I would self-publish fiction. And there are a number of reasons why other authors might want to get traditionally published. It might be they're not sure how to produce a book, they don't have the budget to do it themselves. For me, the biggest pieces were validation and marketing support. So let's look at each of those. The biggest reason I wanted to get traditionally published was because I felt like if my book wasn't accepted by an agent or a publisher, then it wasn't good enough to get published. That was that. And if it wasn't good enough to get published, that was fine. It just meant I would need to write another book. And the truth is that there are other reasons beyond quality why a book is rejected. It could be that the agent or publisher doesn't know how to market it. It could be that there are similar books on an agent's or editor's list and they don't have space for another one that's like yours. It could be that they just have too many books at the moment so they're not taking queries or they don't have room for another client. And none of these reasons have anything to do with the quality of the book. So having this blanket belief that not getting a traditional publishing deal means my book's not good enough isn't actually true. Yet I spent most of the last three years believing that. So to give you some context I wrote the first draft of Powerless at the end of 2019. I revised it over the next year or so and I think it was April 2021 when I started sending out queries. Over the next year and a half I sent over 80 queries and this was to both agents and independent publishers. Of those 80 queries almost all of them either rejected me or just didn't respond. I did get one request from an agent who then rejected the book once she saw the full thing which was not a good day and I had one independent publisher who was interested in working together but I decided it didn't feel like a fit. Basically I'd been getting all of this feedback from the market that the book wasn't good enough and it shouldn't be published. Until August 2022 my thought process was this isn't the book for now and I love this book. I've done a lot of work on this book. I've had beta readers. I've had critiques. I've had a lot of people see it and give feedback. I still like it when I go back to it but clearly it's not good enough or not marketable or people don't have space for a book like this. So I'll just put it to the side and my plan was to put Powerless to the side and work on something else that was more marketable and then once I got the future agent or publisher I would say okay and how about this for book two or book three or book four because one of the things I noticed with like superhero books that were traditionally published is that unless they're tied to a property like DC or Marvel they don't tend to be an author's debut. Usually they've got a few books out already and then they do the superhero one. So I thought okay maybe like I've got this written now but it can be a later book and that was my plan until August when I actually won an award for this book. In fact do I have the medal? Yeah it's that one. So I um as part of my querying journey I entered Powerless in a bunch of competitions for unpublished novels thinking that it might help get the attention of an agent or publisher and one of these competitions was from a conference called Killer Nashville which is mostly for like crime and mystery type of books but they also allow books with elements of suspense so mine like I'm like well it has elements of suspense so I might as well submit it and actually won in the YA category so I had planned to put this book to the side and then I got this validation that I was looking for which was oh maybe maybe this is good enough and the reason it isn't getting picked up isn't because of the quality it's because of those other reasons I mentioned earlier it's because of the marketability or something else and what's funny is that after I won this competition I started getting other forms of validation not a contract obviously but I had that independent publisher who was interested in the book. It is currently shortlisted for another competition for unpublished books. I ended up working freelance with an editor from a company that only hires people with traditional publishing backgrounds and he thought it was in great shape and that it was something I should try publishing myself and getting that feedback from someone with the traditional publishing background was really encouraging for me and then the final piece of validation was I actually applied to join a writing retreat which is coming up in March and you needed to submit a 3000 word sample for that and what was interesting is the faculty who were reviewing these like samples for the program everyone on the faculty is someone I queried or someone from an agency I queried who rejected the book but I did the sample from powerless and I said and at this point I was like okay I think I'm going to self publish but I'm not quite sure so if I get this one thing if I get into this program then that's a sign and I got into the program so the first thing I was looking for from traditional publishing which was the validation is this good enough to publish I managed to get elsewhere I got through the competitions and through the editor and um through like getting into this program so it's like okay first checkbox done the next reason I was interested in working with a traditional publisher was for the marketing support now when it comes to producing a book I'm very comfortable with that I actually used to have my own self publishing company for entrepreneurs so that means I know how to publish a book like I have cover designers that I've worked with before I have editors I've worked with before I know how to set up a book as an e-book and print on demand so I didn't have a learning curve that I was worried about it was purely the marketing because the books I published in the past they weren't written to be sold if that makes sense so the way it worked was if you're an entrepreneur and you're writing a book as a business tool you're really planning to use that because of business card in that you will give the book away to free to someone with the hope that they become a $10,000 client so instead of like selling a book and hoping to make $20-25 a book you're giving the book away because it's part of a sales strategy so that meant my authors were never really worried about book sales so we never had to market the book as a book the book was like a brochure for their business it was a very different business model by contrast I'm now hoping to publish a book as part of the author business model which is about selling books the book is the product and I wasn't sure how to get people to buy my book so I knew how to produce a book I just wasn't sure how to market a book and I really thought like I know there's a limit to what traditional publishers do in terms of marketing especially for new unknown authors but I thought at least having someone to like ask is there something I should be doing would be helpful now then one of the independent publishers I queried in fact this was the one who was interested in working with me they asked me to submit a marketing plan as part of my query so what I ended up doing was I made a list of like over 300 different influences I wanted to reach out to I learned about Goodreads giveaways and amazon ads and looked at how you'd get a net galley account and all these different things I'd heard of as part of the book marketing process but because I was planning to traditionally publish I never really looked into it myself because I knew that the publisher would need to set up a lot of these accounts and what happened somewhat finally is by the time I finished the marketing plan I went oh this doesn't feel that complicated like maybe I could do this after all admittedly I have no idea if it's going to work I could just spend a whole lot of money and nothing happens but I felt like before I did that marketing plan I would have just been putting the book out there and maybe doing some Facebook ads and hoping it worked whereas now I'm like okay I've got this list of activities I'm going to do and maybe it'll work or maybe it won't but at least I feel like I have a starting point so that was the other reason I wanted to get traditionally published and then when I felt like I'd figured it out it's like oh well maybe I don't need to get traditionally published after all so I decided to self publish the book and there's still a part of me that goes oh maybe I should wait maybe I should just keep powerless in my back pocket and write something else and get that traditionally published but the more I think about it the less sense it makes to wait because ultimately I want to be a working author and I know that a big part of being a working author is having more books out because when someone finds one of your books they're more likely to go back to your backlist and that's where you start to make an income that only works if you have a backlist so if I publish powerless this year then I'm starting to build that backlist which is both terrifying and very exciting so I don't know if that was interesting but that is why I someone who had hoped that this book would be traditionally published and wanted to be traditionally published for three years decided to self publish and it's coming out on June 13th which is very exciting very scary if the pre-order is ready links are below if not they'll be ready next video so I will see you then


Every day I come to work super excited to find solutions. I know that the work that we are doing is making the world incrementally better. Nuclear energy can be extracted by putting atoms together or we can be extracted by taking atoms apart, which is what a nuclear reactor does. One of the advantages of nuclear energy is that it can provide steady power for a lot of people and it doesn't emit greenhouse gases. My favorite part of the job is working with a team of people to make the world better. I think it's really important to have fun and love what you do. That's the greatest thing in the world. My name is Rosara Hemsue. I am a Nuclear Fuel Scientist in Chalk River, Ontario.


from Las Vegas, it's theCUBE, covering AWS re-invent 2018.  Hey, welcome back everyone, live here in Las Vegas for AWS, Amazon Web Services re-invent 2018, CUBE coverage, got two sets here, three days of wall-to-wall coverage, my coach Dave Vellante, Dave, six years. Man, so much action going on. Unbelievable. A little few more people here than there was in 2013. It's almost as big as VMworld, VMworld. Our next guest, Mark Lomair, Senior Vice President General Manager of the Cloud Platform Business Unit from VMworld CUBE alumni, welcome back, good to see you. Right, yeah, thanks for coming on, Mark. So, like, joking aside around VMworld, this is a partnership that you had that's deep and meaningful, and it's been two years with that Ragu and Sanjay and you guys did the deal with Amazon. Both are involved, Pat and Andy. Now, with the cloud announcement on-premises, you have Outposts, which is two versions, one with the VMware component and one with Amazon Stack. And it's a hardware device. It's a appliance.  What's going on? Tell us what the announcement is and your role. So I think the first thing that's kind of interesting about this is it really is, from my perspective, and I think both companies perspective, the next big phase of the expansion of the partnership between the two companies. And from the very beginning, I think we've tried to be very customer-focused and very customer-driven. And if you think about what we did in the first phase, we took the core VMware set of enterprise-class capabilities and delivered them on the AWS public cloud. It's been going great, great customer traction, reaction, we're rolling that service out around the globe, as you heard from Pat and Andy this morning. So that's been incredible. And then two months ago at VMworld, we announced a new dimension to the partnership, which was bringing AWS services back onto VMware on-prem. That's RDS, that's RDS, yeah. RDS, absolutely. And we felt pretty positive about that, but to be honest, the customer feedback to that, in terms of the level of positivity that even took us by surprise. I know I want to toot our own horn, but we like to sometimes do hunkle-humble brags on theCUBE, Dave. Actually all the time. But we called this, we predicted that the world would polarize into two main personas, developers and operators. And if you look at all the successful large-scale things, Google is a great example, they got SREs, Site Reliability Engineers, they see operators, and then developers. So this is, you guys own the operator market, enterprise. So talk about this personas, I think this is now legitimized and it's changing the jobs of people on-premises because the whole trinity of infrastructure, storage, networking, can compute, that's never going away, it's changing. The changing is causing a ripple effect. Can you explain that? No, absolutely, right? So I think one thing we see from virtually all the customers we talk to is you've got this core IT operations team that has this set of skill sets, experiences that they've built up in their own data centers. And what they're hearing from the business though and the developers and everyone else is we want to have the flexibility to develop apps, deploy apps, run apps, wherever the business needs. Sometimes that'll be in the public cloud, sometimes that'll be in the data center, sometimes that'll be in the edge. Sometimes you have applications that actually span those different environments. But back on the IT side, you don't want to have different tools in each of those three different scenarios. You want to have a common infrastructure across those. And so that's one of the key sort of driving motivations behind the VMware strategy. And I think you're really sort of seeing that brought to life in the context of the partnership with AWS. So the other thing that we called, we said that AWS is going to have to go after hybrid because it's just too big of a market and customers want it, their customer focus. So now you see Outpost, which is AWS hardware. They emphasize it's the same exact hardware that they use in their data center. So talk about that a little bit, what your role is there.  So as Andy announced, AWS Outpost is an incredibly compelling concept. And it's this idea that AWS is delivering compute and racks of AWS compute and storage into the data center. It's based on AWS designed hardware and in fact the exact same AWS designed hardware that they run in their own public cloud. And then it gives customers the same APIs and control plane that they can take advantage of in the public cloud. So that's a very attractive sort of proposition. Now, if you sort of look at VMware, right? And where our partnership with AWS comes into this equation, what we're doing with them is we're effectively enabling two variants of a solutions on top of AWS Outpost. The first variant we call VMware Cloud on AWS Outposts. And the way to think about this is it's effectively exactly what we did with them and built with them with VMware Cloud and AWS in the public cloud, but now we're bringing that same thing back on prem. So it gives customers in their data center the full cloud experience. We manage the life cycle of the software for them. We're responsible for the SLA. You can scale the capacity up and down seamlessly. All those same benefits of VMware Cloud on AWS, now on prem. So we think this is going to be transformative for the data center, right? You think about being able to get the data center operators out of having to worry about the life cycle of either the hardware or the VMware software on top is going to be huge. Okay, so that's, that's very one, right? That's very important. That's the VMware version. Yeah, so that's VMware Cloud and AWS kind of the first on AWS Outposts, the first variant. By the way, just to wrap up on that one, we think that one's going to be particularly compelling to customers who have standardized on vSphere in their data center, right? Because it's the same vSphere stack because everything's the same. So we're really excited about that and the opportunity that represents for customers for us and for AWS. The second variant is VMware Cloud Foundation for EC2 on AWS Outposts. So the way to think about this is if you're a customer who has built your application on top of native EC2, right? Native AWS services. And now you want to extend that application into the data center, maybe the edge, for very specific use cases. Maybe it's low latency. Maybe it's a manufacturing floor. Maybe it's video processing close to the edge, right? You want to extend that same infrastructure, you know, into the data center. You're obviously going to want to continue to run those workloads on EC2, but also then these new requirements emerge when that's plunked down in the data center, right? And the people that are operating that, they're going to want to have a consistent network model that spans everything else in their data center and now this new Outposts environment. They're going to want to have a consistent security model, et cetera. And so what we've done with VMware Cloud Foundation for EC2 on Outposts is brought those VMware enterprise class capabilities around networking and security and storage to that environment. So the question is, can I get server lists with Outposts? So AWS's plan is to enable the vast majority of their native services that they make available on the public cloud on top of AWS Outposts on-prem. I don't know specifically on server lists, but that would be probably part of the business. Let's talk security, I have a security question for you. So you guys are in the virtual machine business, so with Lambda and EC2 compute, I can run VMware under the covers and put a security model around containers and maybe take away the ability to manage Kubernetes clusters. So how do you see that? Absolutely, so I think one of the interesting things about this solution we're creating with them is clearly it will be able to support Kubernetes applications running on top of it, both variants. But now you think about, to your point, security, networking and management, how do you handle those things? And so that's an area where we think we can bring a lot of value to bear. One example of this is NSX, right? So customers use NSX to secure their workloads on-prem today, do micro segmentation, secure networking traffic. We're bringing the full power of NSX to both of those variants. So now customers can have a single networking software layer and networking security that spans everything they've already gotten their data center, plus these new outpost environments. So that's a great example, and particularly, I think it's going to be particularly relevant as they start deploying applications in Kubernetes on top of it. So several years ago, we coined the term true private cloud, which is on-prem infrastructure that substantially tries to mimic the public cloud experience. Of course, what was missing out of that was really the public cloud through, they had Azure Stack and certainly Oracle's got some action, but this totally redefines that space, maybe it's true hybrid cloud. Well, the only way you got to change the title is actually it's cloud. Exactly, I love that way of thinking about it, which is the distinction between private cloud and public cloud has now completely gone away, right? There's one cloud. The data center is just a large edge. Yeah, a really large edge. And what we always said is true private cloud is like cable ready. It's going to be hybrid ready, well now it's ready. Yeah, absolutely. Big game changer. All right, I got to ask you some questions around competition and landscape, because if this trend continues, you're going to see new kinds of companies emerge out of the ecosystem. Right. AJ talked about the ecosystem evolving to be more service provider oriented. It used to be back on the tech days if you remember just a few short years ago that when you got venture funding, you had to build a platform, build moats. Jerry Chen talks about moats and competitive advantage. Build a platform. Now, if Amazon and VMware are now a platform, I can actually start a business and have a nice potential big business. Absolutely. By leveraging that as a platform. Absolutely. And competing against big companies, like for instance, I'll just throw one out there. Service Now. I decided I'm going to compete with Service Now. I'm going to be the best IT operations, ITIL, but I'm not going to have to build all the stuff they have. I'm just going to go pick one thing I want to differentiate on. I could do that. This is going to change the landscape. I absolutely agree with that. I mean, you think about this platform we're creating together between AWS and VMware. It's got the richest set of capabilities, services, et cetera that anyone can take advantage on top of it.  And if you look at the VMware DNA, back from the early days, I think we've done a pretty good job of always embracing the ecosystem. Embracing the technology vendors, the ISVs. AWS has done a tremendous job of this as well. And so I think, from my perspective, it's a great opportunity for that next startup that wants to build the next great service to lay out on top of this. That's really interesting.  Somebody's still going to write the app. But those guys, both of those guys are increasingly putting stuff on Amazon.  No, but it's a really good thought exercise is how does that evolve? Well, I bring it up because if you're vulnerable, if you're out in the Serengeti and you're wandering your heads down, you could get taken out. So it keeps everyone on their toes to create value. It creates more of a level playing field, right? I think it makes it easier for new entrants to come in and differentiate themselves, right? You can use the platform, so buy or build, level up. Absolutely. So it's certainly changed the investment strategy. We're going to have Pepper Jerry Chen on that when he comes on about that question. What else is happening with the announcement? What are the things that people don't know about or conversation you've been involved in that you'd like to share about Outpost? So I think, it's early obviously, we just announced it this morning, so we're still sort of getting the reactions, but so far from customers and analysts I've talked to, it's resonating really strongly, right? And it's this idea of, hey, public-private cloud distinction has gone away. There's now just sort of one cloud, there's this one platform that I can leverage across data center, you know, cloud and edge. And so we're really looking forward over the next year to executing and delivering this with AWS. Every customer I talked to yesterday and the day before at the analyst event basically said, look, I've got, I don't know, whatever, 30, 40, 50% of my workloads are technical debt, I'm not moving them. When we asked, are you interested in this? Every one of them, yeah, of course we're interested in this. It's exactly what we wanted. Well, so here's another interesting thing I heard from someone which I, to me, captured the essence of it, which is they said, hey, you know, 70% of my workloads are in my data center, 30% are in the cloud, but the cloud has this as-a-service model, this flexible consumption model, all these things that are so compelling. What you're doing with this is you're bringing all the things I love about the public cloud consumption model too, the heart of where all my workloads are actually running today, right? And so that, to me, was an interesting way I thought to capture a little bit of the value we're being able to deliver to customers. And when we cover this, it's going to be big news, it's going to continue to go. Hybrid cloud is now validated. You guys have done a great job helping AWS become more enterprise-capable and scaling. They're helping you with developers. It's great partnership. I think it points to co-creation, co-opetition, anytime you have co-creation and co-opetition, it's a rising tide. So it's a great market. It's a good time to be in the business. Congratulations. Yes, thank you. Great news coming out of AWS re-invent, obviously hybrid cloud on-premise stuff that we thought would never happen years ago. Your quote, Dave, today's article on SiliconANGLE.com. Stay with us for more breaking coverage. Jerry Chen coming up next from Greylock is going to break it down for us in a special analyst segment with Jerry Chen next. Stay with us.


Hey everybody, welcome back to Magic Pathodoxy. My name is David and this is a Magic Review. Hey, today we're going to look at the Mirage Deck from Daryl and Murphy's Magic. Alright, so the Mirage Deck. If you don't know what the Mirage Deck is, it's an amazing deck of cards. It allows you to do tricks very similar to a Spangali deck. I won't go into what a Spangali deck is, but it's basically a Spangali deck that uses the Ruffin Smooth principle, which would allow you to fan all your cards and your spectator would never see your force card until you did your secret move. Some of the features of this deck is you're able to immediately know any card a spectator picks. That's awesome. You can have a spectator cut to their own card in a very fair condition, and you can instantly change the entire deck into the selected card. And of course, when you purchase this, you're not only getting the deck, but you're also getting some instructions written up by Daryl. Now, I keep saying this deck is a Ruffin Smooth deck, but you could be saying it, David, I don't even know what Ruffin Smooth is. Teach me, oh genie. Alright, so you came to the right place. Ruffin Smooth is a principle that's been applied to card magic for a really long time. What it is, is it's a fluid, roughing fluid, that allows cards to stick together temporarily. Now you can stick them together face-to-face, back-to-back, back-to-face, or face-to-back. And they stick together just for a slight amount of time, but with a little bit of pressure, you can pop them apart and show two cards from one. This technique was first used by gamblers for a quick location for the ace of spades, and it was known in gambler supply houses as slick aces. It was their way of making cards slippery, more so than any other cards in the deck. A lot of different decks in magic use this principle. You have the new idea deck, the nudist deck, split deck, the delirium deck, the mirage deck, the invisible deck, and the Colorado deck. And if you'd like to learn more about this principle, there's plenty of stuff to read out there. Aside from just the instructions that you'll get from Daryl, there's the Ruffin Smooth principle that came out in Greater Magic Magazine in 1938. There's Ruffstuff by Joe Berg that came out in 1956. There's also Ruffin Smooth Possibilities. Now that was written by Tanhoc Chuan and came out in 1948. And of course, there is the classic Ruffin Leures by Al Dini, which came out in 1969. And of course, any book that has tricks for the Spangali deck would be great for the mirage deck. I would highly recommend the Encyclopedia of card tricks by Gene Huggard. Now, if you don't have a mirage deck, but you have a Spangali, and you've always kind of wanted to take the Spangali to the next level, then I would say mirage deck might be the deck for you. If you don't even have a Spangali deck, but you've always wanted one, maybe the mirage deck would be the alternative. Alright, so that's my review for the mirage deck. If you don't have your own, you can find it at your favorite Murphy's Magic dealer. Thanks, bye.


Assalamu alaikum. Welcome to the beliefs of Islam with me Hassan Hadi. In today's episode we will talk about Wahlat al Wujud, the mystical and philosophical word games. Now one of the problems which prevents any real dialogue and a criticism of the deviated forms of Tawheed which have crept into Muslims' scholastic circles is a problem of demarcation, definitional boundaries. It's commonly known that in advocating and organizing any dialogue and discussion or conversation about any issue in the world that definition is extremely important. And this concerns if definitions were never fixed or agreed upon then dialogue and discussion would be impossible. Now why is that? The matter is fairly simple. If every time we wish to debate an issue or discuss it in depth, the proposing site could merely redefine the word or term being debated in the first place then we would experience impossibility in reaching any conclusion and rationality would go down the drain. The proponents of Wahlat al Wujud likewise attempt to employ a very frustrating word game and process of sophistry in which they confuse the innocent believer who wishes to question the concept. They will say that the believer has not studied logic or philosophy for years or that he has not travelled with a mystical shape guiding him upon the varying stages of his spiritual journey. A response to this will respond that when the Holy Prophet, Allah's blessings and peace be upon him and upon his pure family, came to bring the doctrine of Tawheed to his nation, he did not require that they take a BA, MA, PhD or even an introductory course to their presets of philosophy. He simply brought them the truth which resonated with their intellects and was simple to understand according to common sense. The proponents of Wahlat al Wujud are hard pressed to define terms and often fluctuate between different terminologies designed to push away criticism. But largely they will opt to define their doctrine and their three broad categories, namely Pantheism, Panintheism and Existential or Ontological Modalism. In the next episode we will engage with the most common used definition namely Panintheism. What does the doctrine entail? The doctrine reduces Allah SWT to being the one who emanates existence as opposed to the one who creates existence out of nothing and it teaches in some extreme cases such as the case of particular heretical individuals such as Bayezid al-Bastami, who claimed that this universe is all but illusory and that nothing exists but God who claims in his poetry the following I am I, there is no God but I, so worship me and glory be to me, how great is my majesty as opposed to saying subhanallah, he says subhani, namely glory be to me. He goes on saying the obedience to me is greater than my obedience to thee I am the throne and the footstool, by my life my gripe is firmer than his I saw the Kaaba walking around me, Moses desired to see God I do not desire to see God, he desires to see me This is also seen in the heretical claims of another of the proponents of Wihdat al-Wujud namely Mansur al-Hallaj, a man who went around the Muslim world saying an al-Haq, namely I am the reality, I am God due to his belief that nothing existed but God himself Hallaj is often praised as a great mistake by some but what did the followers of the Ahlul Bayt, Allah's blessings and peace be upon them all say of him It's been reported in the books of occultation dealing with the history of the Ghaybah when Allah desired to unveil the affair of the Hallaj and manifest his humiliation and to disgrace him he thought that Abu Sahel, Ibn Ismail Ibn Ali and Nabakhti may Allah be pleased with him was a person that could be deceived by his hawks and taken by his fraud so he sent after him because of his sheer ignorance he assumed that Abu Sahel is like the other weaklings in the matter of faith, a wrecking that he could be drawn and tricked through his lunacies and that by commanding Abu Sahel's loyalty he will be able to draw yet more followers on the virtue of Abu Sahel's position in the eyes of the people and his respectability in knowledge and literature al-Ha'laj sent to him the following I am the representative of the patron of the age meaning al-Imam al-Mahdi may Allah hasten his reappearance through such a message he would first draw the ignorant people and then proceed to other claims he stated I have been ordered to correspond with you and avail you with the help you desire so your soul may find strength and you may not have doubts in the creed this demonstrates that not only did al-Ha'laj become condemned by the greatest scholars of Islam and the representatives of the Shi'a community but that you also claim to be direct special representative of the Imam of our time an entirely false claim it also reminds us of the necessity of taking knowledge from a trustworthy source now the question is do we want to take our Aqidah from a man denounced and condemned by the greatest of scholars? it has been narrated in al-Kafi from Imam Abu Ja'far al-Baqar Allah's blessings and peace be upon him who has said the following be aware of thinking about Allah's self if you would like to think about the greatness of Allah think about his great and wonderful creations this was for today until we meet next episode thank you very much indeed and assalamu alaikum warahmatullahi wabarakatuh


Suspense, and the producer of radio's outstanding theatre of thrills, the master of mystery and adventure, William M. Robson. Pampering with time has been an ambition of man, since he first realized how inexorably he is time's slave. At this time of the year, although we have even less time on our hands, time is much in our minds. We make a magic ritual of New Year's Eve when we suppose we can flush away all our past impurities and begin afresh at that magic hour of midnight on the 31st of December. But suppose we couldn't. Suppose the 31st of December we're not the end. Listen, listen then as Mr. Frank Lovejoy stars in the 32nd of December. And now, the 32nd of December, starring Mr. Frank Lovejoy, a tale well calculated to keep you in. Suspense. As far as I was concerned when I got up the morning of December 31st, it could stay 1958 forever. The only trouble is time doesn't work that way. Time is a downhill ride in a car with no brakes. You can't stop it even if your life depends on it. And mine did. Joe, your breakfast is getting cold. I'm coming, I'm coming. All I have time for is a cup of coffee anyway. What is this? Milk? Don't we ever have anything but milk to put in the coffee? You know we can't afford cream these days. We can hardly afford to eat. Molly, you'll be wearing mink yet. Just give me a little more time. Yeah, you've been saying that ever since you got married. Well, sooner or later, Molly, I'm going to make it. By the way, honey, let me have your ring. Why? Well, you said the diamond's loose. I'll drop it to the jewelers on my way to the office. Oh, we can't afford to get it fixed now. Molly, that's an expensive ring. We can't afford not to take care of it. Joe, have you been gambling again? Oh, now, Molly, I told you I'm all through with that.  And the cuff links I gave you on our first anniversary. I'm not going to pawn your engagement ring. Now let me have it. I'll pick it up on my way home tonight. Well, all right, but Joe... What? Remember, it's very precious, at least to me. Sure. Sure, I've been gambling again. I was in the whole bath. I've always wanted to pay off by midnight.  If I couldn't raise the dough on Molly's ring, I didn't know what I'd do. The pawn shop was like any other pawn shop.  One thing caught my eye as soon as I came in. In the front case, a watch, curiously ornate, obviously very old. It sort of glowed in the case. I couldn't take my eyes off it. You like to look at the watch? Oh, uh, no. No, it's very interesting, but, uh... How much can I get on this ring? On this I can lend you $150. $150? Had a guy I wanted off claimed it was worth more than a thousand. $150? I can probably get $500 for it easy. Then you would be foolish to accept my offer. That's the best you can do. $150. I'll take it. I will get the money. While I waited, I felt my eyes drawn to the antique watch again. I picked it up. It felt warm in my hand, almost as if it were alive. Its face was covered with all sorts of dials and figures. The date of the month, phase of the moon, even the signs of the zodiac. Some of the dials I couldn't read at all. They were inscribed with strange characters, like hieroglyphics or ancient Sanskrit. Suddenly I felt I had to have that watch. $120, $40, $45, $150. Can you tell me what all these dials mean? I can tell you only that this watch controls many kinds of time. A fellow who pawned it claimed it could make time pass us slowly or as rapidly as he desired. That's a pretty good trick. But only it's a... Time is different for each of us, is it not? What do you mean? To a man sitting on a hot stove, one second lasts forever. But to a man making love, forever is only a second. Yeah, I see what you mean. How much are you asking for the watch? $150, excuse me. Hello? Yes, one moment, please. Is your name Joe Adcock? Yeah, why? Yes, Mr. Adcock is here. Who is it? Who is calling? Hello? Hello? That is odd. Nobody knew I was coming here. Who was it? He did not identify himself. He just said I would not believe him. Then he hung up. It's funny. Say, now what about the guy who pawned this watch? Any chance of him wanting it back? No, Mr. Adcock. He will not return for it. He has no further use for the watch. Okay. Well, then I'll take it. I don't know why, but I've got to have it. I had no business buying the watch. It was a crazy thing to do. I hadn't walked more than a few steps from the pawn shop when I learned just how crazy. Hold it, Adcock. Well, who are you? Just one of the boys. What do you want? A little talk. Private. In the alley here. But I don't have any. In the alley. Ow, my arm. You've got the grandad, cock. I've got until midnight to get it. Yeah, that's right. The boss just wants me to make sure you don't forget. Like last time. Oh, I won't forget. I promise. I'll be waiting for you at midnight. Right here by the pawn shop. Oh, and one more thing. So what is it? Yes. That's just to make sure you don't forget. If you don't show up with the dough, there ain't going to be no new year for you.  Yes, I understand. Good. See you at midnight. I had to get back to 150. Maybe I could make a fast killing of the track with it or something. I had to get it back. Back so soon, Mr. Adcock? Yes, yes, I'm in a mistake. We all make mistakes. That is life. Look, I've got to have that money back. Here's your watch. My watch, Mr. Adcock? This is your watch. You bought it. But I don't want it. I want the money. A deal is a deal. But you don't understand. It is you who do not understand, Mr. Adcock. To sell the watch, you must find a buyer. I am not buying. Look, you've got to help me. Well, will you take the watch and pawn? Of course. That is my business. How much can I get for it? Five dollars. Five dollars? Just a few minutes ago, I paid 150 for it. It is unfortunate that I do not value it so highly now. Five dollars? No, thanks. Five dollars wouldn't help me. I had to have money. Big money. My only chance now was to try to borrow it. I know you've had an account here for years, Mr. Adcock. And of course, we like to do what we can for our regular customers. But unless you have some collateral. Well, what kind of collateral? Oh, stocks, bonds, real estate. If I had that kind of stuff, I wouldn't need the loan. Five hundred. Joe, you're crazy. A bartender, never been here. All right, all right, Harry. Make it a C-note. Anything. Well, what about the C-note you borrowed last August? Oh, I'll pay you back. Honest. Yeah, I've heard that last August. Oh, Harry, how long have you loaned me? Ten years, I guess. All right, ten years. Doesn't it count for anything? For a C-note, it don't. Oh, but, Harry... Not a dime. Not a lousy dime. Only one thing left to do. Molly, I want you to come home right now. Joe, aren't you at work? No, I'm home. What's the matter, you sick? I'm all right. Just come home and hurry. Joe, what's wrong? We've got to get out of town. Fast. It took only a few minutes to throw everything Molly and I owned in the suitcases. I kept looking at the watch, wondering when Molly was going to show up. The signal the correct time will be 2.30. 2.30? What's keeping her? Well, at least the watch is on time. I wonder when I ought to wind it. Might as well do it right now. If I can figure out which one of these knobs to use, try this one. What the devil? Where did the sun go? It was shining a minute ago. Now, it's snowing. Yesterday I did get the wrong knob. I moved it back to the 28th, so now I've got... Hey, wait a minute. The 28th? Well, Sunday, the day we had the big snowstorm. Could the watch have... Ah, it's impossible. I set it back to the 31st and I... What the... Now the sun is shining. Did the watch change the day or am I losing my mind? Maybe I could set it again, test it. Let me see. I... I was in that pawn shop just before 1 o'clock. I set the hour hand back to 12.45. There, now we'll see. Is this the 3rd Avenue pawn shop? Yes. Is Joe Adcock there? One moment, please. Is your name Joe Adcock? Mr. Adcock is here. Who is calling? You wouldn't believe me if I told you. I could hardly believe it myself. But there was no question about it. The watch did control time. Once I grasped that fact, I began to realize its implications. For the first time in my life, I could have all the time I needed. All the time I wanted. Joe, what's wrong? It's nothing, Molly. But you said we had to leave town. Did I? Well, that's all over now. Joe, what are you talking about? I'll probably lose my job. Don't get excited. Well, I might as well tell you the whole story. I lied to you about the gambling, Molly. I'm a thousand dollars in debt. I've got to pay off my midnight. But... You pawned my ring, didn't you? Don't worry. I'll get it back. You lied to me. I said I'll get it back. It's mine. I want my ring, Joe. All right, I'll get it. Now! Right now! I haven't got time now. I've got to get back to the bank before it closes.  Well, you quit nagging me about your blasted ring. Let me get back to the bank. We'll have enough money to buy you a dozen rings. Joe, what are you going to do? I'm going to rob the bank. What else? Robbing the bank would be as easy as taking pennies from a blind man. It was two minutes to three when I walked into the bank and headed for the vault. Oh, hello, Mr. Radcock. Back again, I see. Yeah, yeah, I've got to get into my safety deposit box. Certainly, go right ahead. Good. Nobody else in here. Now, I just turned the watch back to Sunday, the 28th. It worked. I'm locked in the vault and it's Sunday. Now, let's see whether you keep the ready cash. There it is. Dax up it from all mine. Well, that's plenty for now, enough to pay the mob and more. There's always more when this comes from. Now, reset the watch to December 31st. Perfect. The perfect crime. All I have to do is get out of here without letting them see the money. Mr. Radcock. Yes? Happy and prosperous new year to you, sir. Oh, thanks. Thanks a lot. Hey, Molly. Molly, it worked. We're rich. Have you been drinking? No, not a drop. Here, look at this. Go on.  They're real. Sure. These are $1,000 bills. Where did you get them? I robbed the bank. Oh, come on, Joe. I always told you I'd make it big someday. Well, today is the day.  We're going to celebrate New Year's Eve in style. Yeah, come on. Let's get out of this problem. It's almost midnight. I thought we were going to celebrate. You were going to take me to a nightclub. Yeah, but first, I've got to meet a guy at midnight. Come on. Ooh. A guy. I've got to pay off the gambling debt. Well, where are you meeting him?  The pawn shop? My ring. Joe, you forgot my ring. Oh, for Pete's sake. I'll get your lousy ring back. Just give me a little time. Oh, a little time.  Just give me a little time. All right. I'll give you all the time you want. All the rest of your life. I'm through with you, Joe. I just can't take it anymore. Molly, don't leave me. Molly, come back. Molly just disappeared. The street is deserted. Molly. Hey, where is everybody? I wonder if this crazy watch had anything to do with the 32nd. It should have clicked over to January 1st. Oh, no wonder everybody disappeared there. Isn't any 32nd of December. I'll just reset it. It's stuck. It won't budge. Oh, it's got to move. It's just... Oh, no. It can't be broken. I can't stay in the 32nd of December forever. I've got to fix it. I've got to get the back off. I've got to get at the works. I... there. But there's nothing inside. It's the 32nd of December, and it will always be the 32nd of December. Spence, in which Frank Lovejoy starred in William M. Robson's production of the 32nd of December, written by Morris Lee Green and William Walker. Supporting Frank Lovejoy in the 32nd of December with his own banks, Barney Phillips, Sam Pierce, and Normaldon. Listen. Listen again next week when we return with another tale well calculated to keep you in. Tonight, thrill with gun smoke on the CBS Radio Network.


Hi everybody, it's a minute early, but again, we're so excited. So we're going to get started. Thank you all for coming to our session today on debugging the routing tier. My name is Angela. I'm a software engineer at Pivotal working in the CF networking program. I'm Nithya. I'm also a software engineer at Pivotal in the networking program. So obviously we're talking about debugging the routing tier, but let's first start before we dive into the meat of the talk with a brief overview of what exactly we're planning on discussing for the next 30 minutes. We're going to start with a brief overview of what is the routing tier, what do we mean when we say the routing tier, what components make it up, before then looking and taking a deep dive into two case studies in which we as members of the networking program actually worked on in terms of debugging. So these are actual case studies from actual users where we really took a deep dive in to figure out what was going wrong when the problem manifests in the routing tier. And then we're going to finish it off with additional debugging tips. Our hope is through looking at these case studies and talking about debugging tips that everyone in this room leaves feeling empowered and able to, when encountering an issue that manifests in the routing tier, have the tools necessary to at least start the debugging process and sort of utilize it to hopefully figure out and fix the issue at hand. And with that, I'm going to hand it over to Cynthia to talk about what exactly is the routing tier. Cool. So what is the routing tier and how does it fit into the rest of your cloud foundry? We want to give you a brief overview of what it is so that we can look at the case studies and debugging tips. If we look at this diagram here, the gray box represents the system components of CF, like the API, Diego, UA and the routers. The components in that the gray box represents make it possible for you to CF push and run your applications. And then all of the colorful components are the components of the routing tier.  So if we look at just the left side of this diagram, we can see all the components that an HTTP request might hit before finally being routed to an HTTP application. The load balancer is your front facing part of your CF. It'll be the component that receives the request and it will forward it onto HA proxy. And the HA proxies would be configured to point to the go routers as its back ends. You tend to use HA proxy in a deployment if you need features offered by HA proxy that are not offered by your load balancer or your CF routers. For example, HA proxy allows you to define access control lists to block different kinds of requests for an extra layer of security. And then you have go router. Go router is a layer seven HTTP router that handles connections to the application back end. It has a series of handlers that will run and process your requests before it then makes a new request to the back end. It can also route you to other CF components like the API. So now that you have an overview of what are the components that make up the routing tier in Cloud Foundry, we'll talk about issues that people have encountered when running CF in production. We'll go through some case studies and show how to debug and also give some general debugging tips for common issues. So I'll give it back to Angela and we'll kick off the case studies. Great. Thanks, Nithya. So we're going to start with case study number one. Again, these are real problems that we had to slog through debugging. And so by going through them again, we really want to give sort of a framework and tools in order to hopefully help you debug in the future. So oftentimes, as members of the networking program, we get issues from users, from customers. Oftentimes, the initial statement isn't necessarily the most helpful. Being told something like the go router is broken or panicking right now. It's been prod. It's definitely scary, but it doesn't give us information on what exactly we should be debugging. So the first thing that you probably want to do when debugging the routing tier is to first state the problem in your own words. Maybe you're the one who encountered the issue, but formulating the problem in an actual problem statement makes it clear to you that what exactly you're trying to debug and if you're somebody who's getting an issue, like we were as members of the networking program, stating the problem makes sure that we have the same understanding of what's occurring as the user who's reporting the issue. So in this case, we formulated a problem statement. And the problem that was occurring was that the customer had two microservices deployed in their Cloud Foundry application. One microservice was externally facing and sending crowd requests to another microservice, which was acting as a back end. The microservice, that was the front end, would send a get request and then immediately follow up with a put request. The get request would always succeed, and the put would consistently error out. So this is a wall of text. And I know sometimes it's hard for me to actually internalize what it really means. So let's visualize what the statement is actually saying. So in this case, we're talking about the go router and two microservices, a front end back end. The get request comes in, hits the go router, it's forwarded to your front end application, and the front end wants to communicate to the back end. In this case, it was hairpinning back out and through the go router, and the get was being forwarded to the back end. The get would succeed, the information would be sent back, and the put request would be immediately following. And then what happened? We know that the put error now. Did the go router fail to respond? Was the error happening at that level? Or was the go router successfully connecting to the back end only for the back end to fail out? Who really knows, right? This is compounded by the fact that, as Nithi alluded to earlier, the go router front end and back end are only some of the components in your routing tier. When we zoom out from this, when we look at the entirety of your Cloud Foundry installation, you're probably going to also have an HA proxy and a load balancer. So instead of just having four connections to worry about, you now have a multitude more, a lot more places where the failure could actually be occurring. So the second thing that you wanna do after stating the problem in your own words and understanding what issue you're currently trying to debug is that you wanna level set on the architecture. How exactly have you set up the routing tier? In this case, the architecture was actually a pretty straightforward setup with a load balancer forwarding to an HA proxy to the go routers and then your applications. It's easy at this point to say, okay, I know what the topology looks like. I know what the problem is. Let's figure out exactly which connection is failing, but we're still in the information gathering phase. And so in addition to level setting on the architecture, I would strongly encourage at this point to also level set on the configuration, and that's what we did. When we say level set on the configuration, we were talking about gathering information about the load balancer, the HA proxy, the go router, things like the multitude of timeouts that are set on each of these levels, because oftentimes those in conjunction with one another could be what's actually causing the error. So after doing all of this, the last step is to gather additional information. You've know the architecture, you've been able to put all the configuration information next to each of those boxes, but there's probably more that you wanna gather. In this case, the initial problem statement we came up with was determined based on the application logs, where they saw in the app logs that there is an IO error on the put request for the front end application. So from there, it makes sense for us as people who are debugging this problem to then look at additional application logs. See if we can map this put request to any errors in the go router logs or any errors in the HA proxy logs.  Sometimes this will lead you to a root cause. In our case, there weren't any additional information to be found in the logs, unfortunately. And so this led us to the use of our first debugging tool, which is TCP dump, right? So what is TCP dump? TCP dump is a packet analyzer that you can use on the command line. There is no GUI, so it's sometimes hard to actually parse as a human, but it's really useful to run on remote servers to gather information, put it into a file, and then you're able to load that file into some other packet analyzer. That does have a GUI, it makes it easy and intuitive to read through packet traces. So we were able to run just a very straightforward TCP dump on all of the VMs that we had access to. So the Diego cells where your microservices were running, your HA proxy and your go router, and we just ran a TCP dump, writing it out to a pcap file and listening on the ETH0 interface for network traffic. Doing so, we then took all of those files and we piped them into our next tool that we use for debugging in this case, which is Wireshark. So Wireshark is an open source packet analyzer in this case with a GUI. You can use it to analyze local traffic in real time, but you can also load files into it and then debug in that GUI. And so that's what we did in this case. And it allows filtering and inspection of packets to make it easy to follow along and hopefully debug what's actually occurring with your network traffic. So what exactly does this look like? So here's an example of looking at a packet trace on Wireshark. If we're reading from left to right, we see the packet number, a timestamp, and then a source and destination address. We then see the type of traffic, the length of the packet, and then any additional information. This was a trace that we filtered of a connection between the Diego cell where the frontend application was running and the HA proxy. If we actually zoom in on this packet trace, we see that partway through this connection, there was a FINAC packet sent from the HA proxy to the Diego cell. Basically the HA proxy was saying, I wanna close this network connection to the Diego cell. And that's interesting because immediately after what we see is the Diego cell sending a myriad of data to the HA proxy. So it looks like the Diego cell isn't respecting the closed packet. What you would normally expect to happen is after a FINAC packet, after a closed packet being sent in one direction, the server on the other end should be sending a FINAC packet back to say, oh, I see you wanna close the connection. I'm going to close this connection too. But in this case, we didn't see that. Instead we see data, likely the put request being forwarded and then a bunch of red for the reset. So we see that the issue at hand is connection five between the frontend and HA proxy. This is where our problem is occurring. And so when you're debugging, you're usually not debugging in isolation. You're usually not the only one debugging as well. And so you're going to have information coming in from multiple sources. You're not living in a bubble. And so at the time that we had this realization, we got an interesting tidbit from the user who reported this issue. And they noted that disabling keepalize from the go router to the backend fix the problem. And we were sort of like, what does that even mean? So disabling keepalize from the go router to the backend was a change made to the red arrows here. And somehow this was fixing the problem, like what? How is something on connection four and seven, these keepalives fixing the error on connection five? So based on this, we decided to come up with a hypothesis and plan of attack. And our hypothesis was that some value was being propagated from the go router to the backends that would make the connection between the HA proxy and the frontend application fail. Now that is to say again that these red arrows, these red arrows here are somehow propagating information so that the arrow here, oh my God, I'm just dying, so that the connection would be failing there. And so disabling it made it better. But hypotheses don't just live alone. They also live with coming away to either prove or disprove them. And going back to all the information we had at hand, going back to this Wireshark output, we couldn't come up with a reason on why a value being propagated would either cause this error or fix this error. And so we decided instead to really try to view this as a red herring and again go back to the initial problem statement we had. Let's not look at what was a solution, but let's instead really focus on identifying the root cause. So doing so we decided to come up with a new hypothesis. We were repeating the step four and come up with one where hopefully we could valet or invalidate it. And so our hypothesis number two was that something about the HTTP client was causing the closed packet to be ignored. This really narrowed in on the connection that we were seeing fail and didn't really take into consideration any other components. So we really narrowed down in. And actually when we came up with a hypothesis we got another interesting tidbit of information that was sort of supporting our new hypothesis that if we waited five seconds between sending the get request and the put request, the put would always succeed. But when the put request was happening immediately after it would always fail. And so it seemed pretty close in line to our hypothesis that there was something about the HTTP client. So we actually looked at the application source code for the front end. It was a Spring Boot app it used HTTP get. The default HTTP client that you would assume does the right thing. But we took to Slack to ask our local Spring experts and we took to Stack Overflow. And what we found is that the default HTTP client actually doesn't respect closed packets from the server. It will just ignore it. And so in conjunction with that the default keep alive timeout is five seconds. And again, going back to the configuration information we gathered, we saw the HTTP keep alive timeout on the HA proxy was half a second. So the HA proxy after half a second would close the connection, but the default HTTP client wouldn't respect it. And for the next five seconds would try to reuse that connection which was causing the put to ARRL. Salt. So what lessons can we actually learn from this debugging exploration? One of the main things we took away was that clients can have configuration too. It's so easy to think about the routing tier as just the system components, but your application is an important part of that routing tier with configuration that is set. And so when you're talking about configuration together should always gather information about the HTTP client as well. Additionally, we also learned that we should probably be ignoring the red herrings and short term fixes. The HTTP keep alive from go routers to backends wasn't helping us with our root cause analysis. It sort of led us astray. And only after we figured out what the root cause actually was, did we then go back and try and figure out how setting this value could fix the problem in the short term, which was another interesting exploration in and of itself. But with that, I'm gonna hand it over to Nithya to talk about the second very interesting use case. Cool, cool. So let's read the problem statement for this one. The API becomes unresponsive when trying to CF login. Other requests succeed. And some of the go router instances have high memory usage. So first, let's visualize this. Even though we were told that the go router has high memory usage, let's remember that there are several components that the CF login request needs to travel through. In this case, here's a diagram of what the deployment architecture looks like. And requests travel into the load balancer through one of the HA proxy instances into one of the go routers before finally making it to the API. And then the response needs to go back through all of these components to get a response to the client. So now we can start to gather information. We'll try to start broad and gather clues and then zoom in as we eliminate possibilities. So here's a couple of places that you can start to look for information. Roughly ordered from broad to more focused. As you move from top to bottom, investigating various sources of information, you may find some indicators like specific error messages that allow you to skip relevant components. Right now, the only information we have relates to high memory usage and CF login requests hanging. So let's start broad and look at the VM vitals. So here's a snippet of some VM vitals. This is all stuff that you can get from Bosch that can tell you about the help of the VMs. And this snippet happens to be only from router instance zero. And this is one of the VMs that was experiencing the problem and the problem statement. So you can observe here that the memory usage percentage on router zero was pretty high, but the CPU usage is fairly low. Another interesting thing on this router is that the memory swap percentage is actually increasing over time. So based on what we've gathered so far, we see high memory on this router instance and that the memory swap percentage increases over time. So one hypothesis could be that go router isn't scaled enough and there aren't enough instances of go router to handle the load. But we also learned from poking around on these VMs that even though we see these symptoms occur on router instance zero, this wasn't the case for all of the router instances. It's just happening on a few of them. In fact, after restarting the routers with the high memory usage, the problem would return often on another router VM. And the routers that did experience these symptoms also still reported that they were healthy so there's no indication to the load balancer that it should redirect traffic elsewhere. So there's a couple of things that we've seen so far that tell us that horizontally scaling the go router isn't really gonna help us with this issue. One, the CPU usage is fairly low so the router isn't overwhelmed with large amounts of work. In fact, a majority of the CPU time was spent waiting. And the load balancer help check requests themselves are just fine and that indicates that only some of the requests are bottlenecking. So adding more go router instances won't help since traffic would still be going to the problematic VMs. So now we should try to zoom in further. Look at some logs, see if we can find anything useful. Looking at the go router error logs, one error sticks out. The go router is having some trouble making connections to other components because it's hitting the maximum number of open files. So now we have something to start digging into. What is causing us to hit this limit? Is the limit itself too low or which connections both incoming and outgoing are causing us to hit this limit? Let's look at the diagram again and try to help pinpoint where we think the problem is happening. So this is an architecture diagram of possible request paths in this deployment. Open files on the go router could be being caused by any one of these three red arrows, HAProxy to go router, go router to app backends or go router to other system components. So turns out there could actually be one more source of open files on the go router, which is if you have a route service and your request is going to a route service, the go router as part of handling that request will send a request to the route service and wait for that request to be processed before sending a response back to HAProxy. So HAProxy to go router, that arrow will stay open while processing is happening in a route service. So we wanna try to zoom into these red arrows where we can and gather some more information. The information that we were able to get about these connections is that the number of connections between HAProxy and the go router are growing, but not HAProxy, not go router to the backends. That's pretty helpful. It helps us narrow down to this highlighted arrow as a side that's growing. So now we can start to reason about hypotheses for why that highlighted arrow might grow. So we just talked about connections from the HAProxy to go router, stay open while go router is processing that request. And in the case of a route service, that connection will stay open while go router sends and has the route service processing the request. So a slow or misbehaving route service could cause connections from HAProxy to go router to stay open. And that could be a reason why this arrow is growing. So misbehaving route services are our next hypothesis. We ruled this out by killing route services that were slow to respond and seeing the problem of unclosed connections persist on the go router. So if you recall from before, it did seem like only some of the requests were bottlenecking and we've ruled out route services at this point. We need more information about what requests are actually going into the go router and the go routers access logs can give us that. So from the access logs, we actually saw many 404s but also that the 404 request time was much higher than that of other response codes. So our new hypothesis is that 404s are causing the connections to stay alive. And we have a lot of outside information at this point but all of our observations so far seem to be a symptom of like a deeper problem. So what we want to do is really dig into the 404s and see how go router itself is dealing with them. So to help us dig into what the go router is doing, we can profile the code. A good tool for doing that is peep rough.  Go router has a peep rough endpoint for collecting profile and trace data. And flame graphs are a way that you can visualize this profile data that contains stack traces that's collected by tools like peep rough. So we'll look at a flame graph of the profile data for go router while the issue was occurring. So this is that. I know you can't read the text but we'll talk about it. And first let's talk about how to read a flame graph. So the text in all of the little boxes are function names. When using CPU profiling, the profiler interrupts the program execution at specified intervals and logs the state of the program's call stack. The length of the boxes tells you how many samples during the profile were spent in this function while this function is executing. So you can very, very roughly think of it as time spent in this function. And generally you want to look at the wide boxes and the last couple of calls in the stack in these wide boxes which are towards the bottom. So there's a lot of samples spent in this stack. An interesting part about this stack is that this is a stack that calls to the logger. So there's a bottleneck in logging. We know that when profiling this code there were a lot of 404s and that the 404s likely resulted in logging. And further down the stack we see that during the right for the log it's also calling to a locking function. We finally found our bottleneck which is lock contention when writing to the disk. So it turns out writing to the disk was a bottleneck and lock contention when writing to the disk could be caused by any combo of many writes to the disk or an actual slow disk. And the router attempts to log route unknown for all 404s which is happening very frequently during this case when the problem manifested. So this could be what's causing the connections to persist because they're stuck waiting to write. And this was verified by isolating the go router VM a go router VM to an empty hypervisor with no other VMs and seeing the problem go away because there was no more storage contention. Yay. So here's what we can take away from this case. There were a lot of VM metrics that we looked at at the beginning but none of them really had to do with disk. So maybe looking at IO stat or something on the problem VM earlier on could have tipped us off in the right direction earlier. But also it's useful to start broad and gather as much information as you can at each step because then when you look at more granular data from like tools like Pprof you're able to have some context when looking at that. We knew a lot about what was going on in the system by the time we looked at the flame graph so it was like easy to tell what was going on. Cool, so now I'll give it back to Angela for some more general debugging tips. Great, thanks Cynthia. That's so fascinating. So now we're just going to go into some brief general debugging tips. One of the first things we like to look at when we were debugging issues in the routing tier is timeout configurations.  So load balancer, HAProxy, GoVouter, application, high to low. And you want to do this to make sure that you don't have any component further down in your network stack, closing connections prematurely and causing problems to manifest. The next thing we want to talk about is logging. So while this may seem sort of silly, one thing we always like to highlight is your application logs have timestamps too. So if you see an error that manifests in your application log, you can take that timestamp and look at the corresponding logs in your GoVouter or HAProxy and see what was happening at around the same time. We also want to note that we recently added support that for endpoint failure requests that occur in the access log that you can actually map them to a log message in your GoVouter logs as well by using the VCAP requests header ID. So you can gather more information about what exactly is happening with the endpoint failure by mapping the two logs. And lastly, some additional other tips are that when in doubt, you can always pull your load balancer out of the equation. You can go on to your network and ping the GoRouters directly. This also helps you if you're worried about individual routers by allowing you to test routers individually. And last but not least, we also recommend checking your certificates on each level. Certificates can be pretty hard to manage and so one in doubt, you might want to make sure that everyone's expecting the right certificates. And with that, we have some references if you want to look further into any of the tools we talked about in both case studies. Our slides aren't up yet, but we will definitely be posting them and you can click on the links there. We definitely ran over time as we expected. So thank you so much. We'll be outside the room if you want to talk to us further, but otherwise have a great rest of the summit.