Alright, my name is Chris. I'm one of the organizers of WordCamp Dayton. I use WordCamp in my business life. On behalf of my clients, I run my content marketing, web design, video production business on a WordCamp site and have been using WordCamp for about 10 years. None of that, however, makes me an expert. I would imagine, I don't know all of you in the room, but I would imagine that you are more expert in your fields than I am. So if you have questions, if you want to expand upon something I say, if you want to dispute something that I say, please jump in over the next half hour or so. But, before we get started, I'd like for some of you just to tell us what you do. If you are not a developer or a designer, what kind of businesses are you in, anybody? Okay, okay, so you're providing legal law information to lawyers?   Anybody else? Jackie. Financial literacy and education. Who's the target audience? No, mainly younger people, people that usually learn more about their finances. And one of the ways you communicate that information is on a website? Yeah, that's five years old, but I've been a publisher, so this is my way of reading it. Okay, excellent, excellent. Jackie is a publisher. She came here and the first thing she told us is she's in the financial literacy organization. I say no, first and foremost, you're a publisher, a communicator to get that information to people. Anybody else who's not in the, sir? Call center market. Call center market. What kinds of things do you call people in market? Okay, okay, how do people know to call your call center? Through the website. Through the website.  Look at this, look at this. You all came here thinking that you were in some niche businesses, right? Anybody else? Clean rooms, like for scientific instruments? Yeah. Okay, okay, and the target audience for that service or the actual, can you do the construction or the design? Both. Okay. A lot of my clients are B2B in pharma or in aerospace engineering. They have very demanding requirements for tolerances and cleanliness. They want information. So while the people I work for make all of this very sophisticated equipment, when I talk with them, they, you guys aren't designing machine tools and pharmaceutical diagnostic systems. You're publishing. You've got to share that information in a way the engineers can consume so that they spec your equipment.   Yeah. And you use WordPress already? Okay. We're going to talk a little bit about how WordPress is still true to its roots as a blogging platform. We've started. It's much more robust than that. Some of the things I'm going to talk about really go to the foundation of WordPress best as a blogging tool. Anybody else want to share what their business is? Define old vehicles. So those are basically one, two, four and eight horsepower vehicles? That's really bad dad humor. I'm sorry. All right. Well, I come from the traditional publishing world, newspapers and older media.  And after I started having to answer those kinds of comments a couple of times, it dawned on me that, yeah, I came from the publishing world, but that what all of us do every day or need to be doing is publishing and sharing our information. Because it doesn't matter how good we are at selling old vehicles or static free clean rooms or providing financial literacy information that we're going to have more success and the people we're trying to serve are going to be much happier and they're probably going to come back and pay us more if we meet their needs, we help them solve their problem by sharing what we know. So I start from, well, it looks like I'm not going to start at all, am I? I start from the premise that there are ways to use WordCrafts that move us from all of the other discussions that you've heard so far at WordCamp, which is about how to set up a WordCraft site, how to add functionality through plug-in, how to modify or create custom code to do things that don't exist yet, to, this is applied WordPress. How are we going to run our businesses? How are we going to make money? And importantly, how are we going to do it in a way that's easy? WordPress is supposed to be easy and on many levels it isn't, but there are so many other levels in which it really is easy. And here's why this is important. Most people, remember, I started out as a writer and editor and every time I hear myself saying what I'm about to say, I can't believe that a Word guy is saying this. People respond online and in print to what they see and not what they read. I can write a 3,000-word e-book, white paper, that beautifully explains the latest technology in static-free clean rooms, right?  I show them pictures of the design and the construction and the operation of a static-free clean room. They're going to respond. They're going to click on it. They're going to read it. Hopefully they're going to call. And they do. Why? More than half the people believe what they see. So what does that mean for the way we use our web sector? It took me a long time being a writer and a news reporter and later an editor to figure out. It's a lot more effective than show and not about. How is it effective? Nobody in here said that they run a cupcake bakery. Anybody run a cupcake bakery? Okay. If you show on your WordPress website this image up in the hero space on the homepage, somebody's going to stop and look at the kind of cupcakes you're offering.  You run a machine shop.   And you show how you make something, how your tools work, how you fix things. That's way more compelling than anything that I can write. If you're a DUI lawyer, just put your phone number in this photo on the top of your website, right? Everybody who's just been arrested for drunken driving, it's going to call you. So how do you do that visual presentation in WordPress? Well, many folks are brand new to WordPress, sadly not the 101 stuff. Okay. So the next couple of points are really for your benefit. For those of you who are more experienced with WordPress, bear with us. We're going to get to some other things that hopefully will be new and beneficial for you. But inside the WordPress dashboard, you learned yesterday that there's a media library and you can upload all kinds of image files, right? Photo files and JPEG and graphics files in the PNG format. You can upload PDFs, all kinds of visual assets. If you upload them in there, you're going to have a directory that looks like this. And I'm going to show you how I use this photo, which is a really unattractive sleeping guy photo on behalf of an insurance agent. This is a local insurance agent selling health insurance. So we upload the photo. The next step, this is all, for those of you who are new to WordPress, this is all onboard technology and for WordPress. You upload the photo. You have, for each image file, you have this level of information. And this is where paying attention to the capability that WordPress offers us for publishing is critical to your success in getting the attention of customers and providers. For each image, you want to have a file name. And we're going to talk about this file name in a second.  It's full of numbers and characters. It makes absolutely no sense. It's in there intentionally to show you something in a second. We also have something called alt text and we have a description. And we also have, in this view, we have a link to the actual, in this case, blog post on this insurance agent site where this is displayed with the word. Why is any of this important? Why do you want to pay attention to after you've uploaded your image? Well, one, this file name can convey information to Google about the topic and about the relevance of the photo. Google search can't see images. You can't see a picture when they're scanning sites. But what they can see is the text around them. So this file name really needs to be something that's in English in simple words like sick guy with flu. You're going to see this guy in a second. Not those characters that are generated when the photo was created by the camera. So change that when you're uploading it or change it here in the edit data coming. Change it to, in this case, sick guy with flu.jpeg. Alt text. Anybody not know what alt text is? Yeah. Yeah. If we go to edit more details, you're able to change it inside WordPress. Yeah. Alt text is alternative text. Really important for search. It won't be displayed, but Google can see it. And if you have put certain keywords in there, for example, flu, influenza, health insurance. This one says photo of man with flu illness, health insurance from... And then the name of the insurance agency, Neely and Wade Insurance, Winchester and Lexington, Kentucky. That information is first and foremost important for Google. And Google will use that information along with the words in the blog post to determine how relevant your information is to what the searcher, the customer, has typed in. And I'm going to show you how that works in a second. Does that make sense on what alt text is? Many people don't use alt text. This is critical to help Google find your information and put it in front of customers. So if we were live and I clicked on this link, that's actually the title of the blog article which we're going to see next. Actually we're not seeing that next. We're seeing Google's search results. So I typed in, get a flu shot, avoid winter illness, excuse me, and then Winchester, Kentucky. And I typed in Winchester, Kentucky because I was sitting in Cincinnati when I put this slide back together. But if I were in Winchester, Google would already know that I was in Winchester, Kentucky. And it would pull in as relevant information, information from websites that's near me. In this case, in Winchester, Kentucky, or in Dayton, Ohio, or wherever you're sitting when the search occurs. What did it show me? Well, it showed me information about flu shot, illness, and Winchester, Kentucky, the location. What's the first thing? There's really bad photo of a guy who's not feeling really well, right? That's sitting on my client's website. Underneath it, what does it say? Get a flu shot to avoid winter illness. That's the title from the blog post that Google read. Google matched up the words in the title. Google also doesn't display it and say it, but Google also matched up the words that were in the alternate text, the alt text block. It depends on the terms of service or the license that the photo provider granted to you. And that's really the point is if you're obtaining images online and you're using those from a free site and those that are providing a common use license, you have to really be aware of the terms of use. And some of them may very specifically say that you can't change the source where this came from or they may say that you can't change the file name. So you need to be aware of the term. If you're buying in that photo, and a lot of the photos I use came from Adobe Stock, which is a paid service. I think it costs me like $32 a month for almost unlimited access and their licensing is very liberal in terms of how I can reuse the images, including changing who it's attributed to and where we publish it. So it really depends. Now the other thing to notice here and this photo on my client's website, the URL for the website is right here. It's number one in Google search rank. You have to pay for that. Just based on the way I published the photo within Wordpress. How does that translate then to what the user is going to see? They click on that photo. Guess what? It takes them to the insurance website. This is a blog post using the post publishing tools that are standard inside Wordpress. Once you set it up like you were yesterday, you can set up a blog post like this. You can write to your heart's content. I'm a writer. I write to my heart's content. Always publish with a photo. Why? People are more likely, two thirds of them are more likely to click on and open something. Click on and follow the call to action button because of the image first. The image came up in Google search. Not the word. It doesn't happen every time, but it happens probably eight or nine times out of ten in Google search that the image will be displayed in Google search, not the words. That's really important to know. Every blog post also applies to things that you share on social platforms, but having an image in a strong image will get your readers to click through more than just what we write. Can I see a hand back here? In this case, I suspect, and Google doesn't say specifically what their criteria are in what order, but I suspect because in that alt text field, I had typed in flu and illness and health insurance, and then my search, and yeah, I already knew the keywords, but if somebody were searching for information about flu or they were searching for information about health insurance, they're going to type in those specific words. No, no, no, and we're going to get back to captions in a second, so hold that thought, okay? This is related in no small part to the alt text box, okay? It is located when you go to upload a photo as the photo comes into the WordPress directory, there will be fields that you can fill out there. I think they're on the right-hand side of the window. You can, the question was can you change the file name? You can change the file name at that point. You can add in the caption. We're going to talk about captions. You can add in the alt text. You can also add in a description. Yes. So again, hold the question about captions, but it's the alt text that is important to help influence or try to influence Google search rank because that description won't be seen publicly, but Google will see it. So whatever your keywords are about your product or service, importantly your location, what city is your business in, what cities describe the footprint for your business, how far out do you get in your car or truck to go take care of a customer? Listing that area, Dayton, Ohio, Winchester, Kentucky. That helps Google figure out that, oh, this person selling health insurance in Winchester is close to the searcher. If I hadn't typed in Winchester, Kentucky specifically, it would have given me search results for health insurance information in the Cincinnati area, because that's where I was when I typed it in.


We're playing football the analysts at the side of the season. We're not correct all the teams that were ranked highly have just been Falling off LSU fell off Alabama's fallen off the only team that stayed true is Clemson So let's take a look at recruiting see how we're looking and then hop into this game Mark Mays Looks like he may become a Spartan he's from Grand Blank, Michigan The problem is we are not the frontrunner for any wide receivers right now. Hey, we're the lead for James Patrick Let's go so let's hop into this game. They have a 91. This is what I mean. How are you oh and three like? What are you doing? This Spartans are going to kick. All right.  Let's go. Let's go. Let's go Henderson. Yes, sir He throws it away. That's a pun Radler.  Let's see if anybody's open. Oh, Kissinger. Oh, oh, that's contestant Not even contestant. I'm not gonna lie his white jersey blended in with the Spartan in the middle of the field I did not see that safety Yep, throw it throw it Damn Just Lord Bo-tae, you need that I got a clamp Howard. Oh, no, I'm off him. I'm off him That's not me. I tried playing defense by myself and I got in trouble right there This could be us so back to what I was We're gonna give it to you on the slip screen here. I believe in you, buddy I believe in you Elijah. Elijah Collins Jaden Reed could get there on this. Is he there?  This guy's got some wheels the pump thing Yo, we gotta try Jane Reed in the back man's own. You just got to go for it, man Rocky Lombardi didn't throw that interception Are we trying to get there? Nobody's getting there in time bridges is gonna break a tackle get that man down on the ground I need to instill the fear of God in him Is he kicked the field goal? Is this a pun? What do we got here? I'm here. I'm delighted playing football boys This is Big 10 Spartan football right now. Yep. Yep. Oh, no Spencer Radler. What a play. Oh No, wait, that's big Yep, let's do our study tackle Jones and that's a pun. All right after a huge Huge touchdown from the halfback. I think we can set up some play action. Let's see if Jane Reed gets open here Okay, hold those blocks. He's not but why oh New yard reception from Elijah Collins Elijah's back. Maybe you should get there Maybe no, but Rocky use those windows Rocky the QB scramble is elite and NCAA football. All right Just simple slants Hey, you got the ball. That's a pretty solid reception to 12 yards for Jane Reed Gillison big time take a point lead against the Sooners and Let's keep going I gotta get Rocky back in it cuz we started off not so hot. I'm liking the blitzes right now. They're pretty elite Okay, that's a drop and just like that the Sooners are punting once again, we got a shot to score again Who's gonna be there today? Okay, Jaden cutoff field cutoff field cutoff field. He might be there. He might be there. No Yeah, it's so hard to use your control the wide receivers in this game great block right there We need Jane Reed to cut up field cut up. Yes, sir Oh, he's always so slow after making one of those catches. He's so slow every time, but that's a huge conversion love that I'm going for it. Yeah, damn it. You cannot do contested catches in this On the injury How do you strain his peck? He didn't even go up for the ball another strained peck Boy, too. What's going on?  You're not you're not injured. I'm injuring you bro Look how hard we're hitting you galaxy brand second and 16. I might I just I might just found the hacks I might just found the NCAA hacks Holy shit that comes in so hot I might just found the hacks back in. Oh, maybe he's not hurt. Okay Reed big catch 21 yard reception PA deep out so I could hit Jaden on the deep out stop the clock or maybe haze gets over the top Total let's go see if it's there. See if it's there. See if it's there. It might not be No, seven. I think I get ball a half. I definitely should have scored many more times than I have We still maintain the lead though because we're playing such excellent defense So I'm over it.  Oh a user sack. Nothing is there, but Rocky is a shred actually read the read key here Does he bite? He does bite Rocky's got the ball And we're out in the open field for 12 yards. Okay. Oh, okay. That's a wide open Jaden reek of you spin Did he spins faster than he runs? All right. It's our first decent drive in a while We're going to Elijah Collins. I tried to spin. I did not get it off Flag down. We're just gonna lose five yards. I don't know third and 15. Are we really gonna be able to get this? It's disgusting. I had no business completing that Rocky Mabardi is out with the bruised knee The suitors have activated their clutch skill and it is fourth and inches. Can we get the stop is a wide open? Well, that's why don't for six. That's solid play. Damn. No blocks there, but can I make the throw? Rocky Lombardi moving left The perfect read every time get it into haze. Who's gonna break one tackle and then go down. We take that Oh, no, they're all over it. No block for me 350 pile is my sixth turnover. How did we go from beating Bama and overtime to barely squeaking one out? Right here. Well, I shouldn't even know over. I could still lose Get out of here. Let's see what they want to throw here. Oh, they're just gonna run it Okay, that's a turnover defense is the only reason I'm in this game Dude that slip screen man. I should have been running this a lot more I should have been using Elijah Collins a lot more.  Let's go 14 yard reception for jaden read Oh Nelson Mandela 13 yard reception jaden jaden Second inches. All right. All we gotta do is give jaden this little this little slant route. That's a touchdown No way he can guard that No way. Um, I'm literally such a bum. What five interceptions six interceptions Come on. He has one more interception now. Yes All I will say is there's a ranked team A win is a win the Spartans improved to four and all rocky like Barty was looking rocky out there We're playing Iowa. It's a big 10 matchup Not play like that again. We have to play perfect. I want to break this school record I want to break this school record so bad. I have to eclipse 400 passing yards and I want to do to get to Iowa for today's episode. I really hope you guys are enjoying Uh this series. I know I'm recording so much of this if everything worked to plan for hawaii This is posting once per week. So I'm doing exactly one per week I would do more than that if you guys really love it But I'm gonna record this game for a siren although I hope you guys enjoy it when I get back if you do love this series I'll post a lot more. All right. I love you guys. Thanks for watching as always. Peace out


A recombinant fully human IgG-1 bispecific antibody IBI-315 targeting both PD-1 and or 2 is developed to investigate its anti-tumor efficacy and underlying mechanism in her two positive gastric cancer. IBI-315 crosslinks the physical interaction between her two positive tumor cells and PD-1 positive T cells, leading to enhanced anti-tumor effects compared to each parent antibody or their combination, both in vitro and in vivo mouse tumor models reconstituted with human immune cells using patient-derived xenografts and organoids. IBI-315 also induces the recruitment and activation of immune cells and tumors through GSD-MB mediated pyroptosis, establishing a positive feedback loop of T cell activation and tumor cell killing. GSD-MB is found to be elevated in her two positive gastric cancer cells, providing a rationale for IBI-315's efficacy. IBI-315 is supported as a promising bispecific antibody-based immunotherapy approach for her two positive gastric cancer and preclinical studies. This article was authored by Wu Lin, Yingsi Zhang, Yan Yang, and others. We are article.tv, links in the description below.


Hello and welcome. This is Rod Davis and I'm sure glad you could join us. In this video we will show you how to use 30 boxes to send reminders to people attending your event. This is a two-step process and both steps are pretty quick and easy to do so let's begin. Go to 30 boxes and click on Settings. Go to the middle of the page where the line says send reminders by and now you must decide how you want to do that either by email or SMS text message. When you're comfortable and ready with your choice save the changes and now you've completed step one. Now go back to 30 boxes calendar page click on an event hover and click on the edit page and now for this event videos and YouTube we want to make sure our information is right so we checked the date confirmed that it begins on the 13th and ends on the 15th. However we've decided to move the start time up by one hour to start at two not three o'clock and we'll go till six. Now we must set the calendar for sending reminders. We have many options from five minutes all the way up to four weeks. We're going to choose one day. When that's set now we must include the person to whom this email will go. When we're set with that click on update event check the information on the page and when that's right just close it and you've completed the process as I said these two steps are straightforward quick and easy to do.


man Mr. Basil Chapman as we do each and every Tuesday at 20 past the hour. Don't forget folks that Basil does an outstanding show here every trading day. 10 to 11 Eastern standard time. Also is a great newsletter the opening call. Now it's very easy to get Basil's newsletter folks come over to our website at TFNN. You hit newsletters and then you're going to see it on the left hand side two down. You can get the opening call for one month for $149. You can get it for six months for $6.95 which is a savings of $199 dollars or $22% and you get it for one full year for $11.95 which is a savings of $593 of 33%. Now they all come with a 30 day money back guarantee folks and on top of that Basil has about 15 archives out there so you can understand exactly how he looks at the market each and every day and how he can ride that wave. Basil Chapman how are you doing? I'm doing well thank you Tom how are you? Good thank you good. So what do we got with this market here? So there are a couple of things that I'm looking at. Number one is if you're looking at the Dow chart on the left that's the dating the middle is the weekly and the monthly is on the right and we've got another couple of days to go to wrap up the month of March. So far the month of March has got this long-legged doji type candle we'll see where it closes but the weekly chart has thus far held this support level I call this inside track propalon zone it was a repellent zone for ages now it's been holding very nicely and we'll see what happens what I want you to do is to show you this I've discussed this with you before but I think it's worth going through it again. There's a particular technique that I use I call it the dark news cloud cover let me just see if I can get this place a little bit better than that okay there it is so I'm going to just shrink it a little bit so you can see so this chapter we've dark news cloud cover I use it for the Dow every time that I've noticed the market started to stall for a very long time there's been pretty much the same news but very often the market ignores that same news and another time it just takes it very seriously I call that when it makes highs I call it the internal high and the residual high think of it as an earthquake and the aftershock and I do the same thing at the bottoms and you can see that it's been going on for years now we've got these H type patterns at the bottom we look here it is back in 20 this is 2022 it makes an internal low balances up the bad news comes in again and it goes all the way down makes a residual low and it does that over and over so this is the longest that we had gone sideways this is from November of 2022 I drew in here dark news cloud DNCC for the dark news cloud cover and was filtering over the mark so it's like a dark cloud and that cloud can suddenly the sun can shine or it's just a heavy heavy downpour well it stayed in this range for a very long time even within that it made a little internal low and a residual low I was in December and then it was retested again a little later than that and it ran to the top now what we've got is this internal now I'm going to expand this again so that you can see it a little bit clearer now what I've said is there's a chance that this internal low that was made right here on the 15th of March at 31,429 and I'm using the Dow you know it's not all the charts have the same pattern but I'm using the Dow because it's something I follow every single day yeah um ran up and then it came back and it retested just three days ago higher than that at 32 at 31,805 so my contention has been that there's a chance that that low that was made in October is such a low with a huge rally that ran up to the highs that were made and this particular high was made on December the 13th and the Dow 34,712 and the other indices were very close to that date but every time the market rallies strongly we get this really bad news in this last instance it was the banks but my contention has been that we could have this rotational market that says that there's some strength enough strength to say that this October low so far is going to be is going to hold that's the way I'm looking at as it is right now so that every time there's a big rally that's when we get the bad news but we keep making higher lows and just recently we started to make low lows to the ones that we made in December and January but they are still when you think about the the market the seriousness of the news I'm kind of impressed so I just wanted to show you that there's one way that I'm looking at the market and I look at it as the internal low and we've just made a residual low if we take out this low that was made on the what did I say it was March the 13th I think it was all right here yes March the 15th I had 31,400 if we go below 31,200 all bets off because that will say whatever the news is now it's serious enough that we could go down towards the low of October all right so what we're just saying is because of the the news was so bad that the market still really held up right I'm saying two things one is that because we that October low was so serious and the spring to the upside was so powerful that now what we have is that all the lows that we seem to be making with all the bad news thus far as held very nicely above the October low so yes that's the one thing the other thing is that we've got a divergent in the indices themselves and that's also very fascinating because look he has this Dow chart holding above the Wiki chart above the inside track propellant zone if I go to the S&P it's a slightly different chart oops I got a type S&P right there there is so if I go to the S&P it's a little different it is holding but it hasn't held us as well as look at this this is fascinating the QQQ look at the QQQ is testing has tested the left left side low a high of 313.38 there's the Nasdaq ndx 100 that was the high of the 2nd of February we just went to that we're testing that and the Wiki chart is way above that inside track repellent which is now prop propellant zone so it's really fascinating to me to see how this is unfolding and you know I always look at the SMH's as a guide and the SMH's just make this little double top but they've run very nicely so they take a bit of a digestive phase so I'm looking at this and saying if the rotation continues and for subscribers we try to I'm trying to find areas that have held very well and that are almost into a certain extent independent of the overall market so we're looking at a market that says be very specific look at certain areas if they're holding well that's a really good sign and if they just I mean like the XLF this is it's you can't dismiss it this is very serious stuff with the financials you know taking a taking a dive like this but if you look at the dreaded H pattern in the monthly so far the XLF has held above the October low of 2959 but it does have this H pattern so I'm not being dismissive and I'm not being too sanguine by looking so positively at the market but I think for me there are some good signs and we try to do that for subscribers so that we can be under the radar and have some nice trades and folks it's very easy to get Bows's newsletter come over to our website at TFNN you're going to go to the newsletters you're going to see it on the left hand side you see that opening call you hit that button and you are off to the races Bows you have a great one safe one and of course we look for a show tomorrow morning thank you Tom same to you thank you stay right there folks who come right back we have the now industry's down 87 Nasdaq's off 83 S&P's off 14 and a half come right back


Welcome back to another part of STI disassembly. I guess that's what we're gonna call it. Now we are gonna disassemble and clean the coil overs. All right here you go. Contender number one front right side very very dirty no major corrosion on the outside. Here we got some adjustment for dampening or for race. These are pretty old they don't make them anymore which I just found out one hour ago. These are stands AL plus coil overs. All right let's clean this up. All right I was lying this is contender number three. You can here see number one and somewhere on the floor number two. Anyways I'm pretty sure I showed this before but as long as I can compress this spring by hand I don't need to worry about it popping off at high speeds. We'll take this top nut off with these things in order. Here's the top mount with adjustable camber. I checked for play here while the coil over was still on the car. Basically moving it back and forth. I got no play here. I'm gonna clean up the actual spring. We're gonna worry about it right now. I already measured it. It's eight inches long. 12 millimeters thick with five coils. You want to count the coils in between one two three four five. Five and a half maybe. All the springs are the same front and back. We're going softer overall but the back is also going to be softer than the front on the new setup. We've got some protection boots. Now I'm not going overboard. I'm not rebuilding these. I'm gonna do this quick. Should be a washer here. Help our spring and that's it. Alright so that was just a quick cleanup. It took no time but I had an issue with number one. The very first I started taking apart I wanted to let me show you. Since I'm taking the car for corner balancing I wanted to loosen this part the body of the coil over. Loosen it up inside the mouth. This whole thing should turn and basically adjusts the right height. Now this is crucial for corner balancing. You want to either lift the front or lower the back or whatever lift the front left corner. You know you gotta weight the car weight each corner then readjust. That's how you basically get 50-50% or at least close to it weight ratio between front and back and left to right. Now you can see there's an issue here. This was tough to take off. I had to use an air hammer to break this loose and you can see the threads inside there. They are damaged. Try and take a closer look. After much time but you know this actually that could come off as you can see. I then proceeded to remove this whole thing from the mount. That's why I put these nuts whatever you want to call these things together. Tighten them up against each other and then try and turn the whole thing. No luck there. I started heating this up. That's why you see this the paint being gone. Actually this is pretty tough paint. I'm surprised that this part actually stayed. Clean this up a little bit but I am gonna see you can still see a little bit of white here.  And then basically filed whatever I destroyed I filed down so I don't cut myself. I'm just gonna put it all back. Now the bad news is can't get those things out. I've tried with the one I didn't even bother trying the other three. I called stands they don't have a replacement they don't make these anymore. I think they're about 10 years old maybe. Maybe 8 maybe 10. Who knows maybe even over 10. I also spoke with the guys where I'm going to do the corner balancing and luckily for me which is good news they can adjust height by going off the imagine this being here by adjusting the helper spring up and down. Basically this seat where the spring will sit there's a little bit of play which they can adjust. I believe it's like half an inch in the front and give or take three quarters in the back. So the car was pretty close to where I wanted it to be. I don't want it too low. Too low is bad. Too high is also I mean it's too high is not for track uses for you know rally cross but I don't do any of that. So with this one I'm just gonna put it all back together wait for the springs grease them up then when I while I put this new springs on and that's pretty much it for car lovers who decided to show up at the party. It's the Swift's nice and shiny. Let's take some measurements. So these these two will go in the back.  These are gonna go to the front a little bit thicker and heavier .453 and the ones that were on the vehicle before .476 they're all the same height but these actually might sit lower we will see hmm yeah alright here you go so this is the rear right or is the rear left most of your it's the right I did not change the camber on the camber plates that's gonna stay the same had a short setback one of these decided to spin inside the camber plate so I just put a regular bolt no issues see the original one it was spinning inside here I don't know if you can see the little marks works like your regular lug nut stud so these teeth inside they worn out so luckily I was able to take this one out and that should work


Hello and welcome. My name is Shannon Kemp, and I'm the Chief Digital Manager of DataVersity. We'd like to thank you for joining today's DM Radio webinar all about the analytics. The revolution is underway, sponsored today by Looker. It is a deep dive in continuing conversation from a live DM Radio broadcast a few weeks ago, which if you missed it, you can listen to it on demand at dmradio.biz under podcast. Just a couple of points to get us started. There's a large number of people that attend these sessions. You will be muted during the webinar. For questions, we will be collecting them by the Q&A section in the bottom right-hand corner of your screen. Or if you like to tweet, we encourage you to share our highlights or questions via Twitter using hashtag DM Radio. Now let me turn the webinar over to Eric Kavanaugh, the host of DM Radio, to introduce today's webinar and today's speaker, Eric. Hello and welcome. All right, ladies and gentlemen, hello and welcome to the DM Radio deep dive. Yes, indeed. My name is Eric Kavanaugh. I'm going to talk all about analytics today. The revolution is underway. Here are our speakers. Good buddy of mine, Daniel Mintz, Chief Data Evangelist at Looker. This guy really knows his stuff and there's a slide about yours truly. And enough about us. Look at this. Oh, my goodness gracious. This is the MarTech 5000. About 10 years ago it was the MarTech 300 or so last year with the MarTech 4000. These are just marketing technologies used to automate marketing activities. 5,000 companies. Now, of course, we talk all about analytics on DM Radio and at Data Diversity. We're always trying to figure out how companies can do a better job of analyzing their data, understanding what does the customer want? What's the customer doing? How are sales? How is our marketing performing? Of course, this is just marketing companies, right? We're also, in the real world, trying to do financial assessments, trying to do projecting and forecasting, trying to understand the big picture in overall markets. There's a lot of data from a lot of systems that needs to be analyzed to do that. Well, if you just think about this for a second, 5,000 different companies doing different kinds of marketing automation, whether it's tracking impressions, whether it's tracking social media, whatever the case may be, that's a lot of moving parts. So in the old world of data warehousing, and we'll talk about this in a minute, there were some pretty effective ways of being able to marshal data into a data warehouse and then analyze that data and get some crystal clear view or relatively clear view. But the fact is that's getting harder and harder by the day. So I think that what we're seeing now is more of a transformational period of time where data warehousing is yielding to some new methods for being able to reach across multiple systems and find different ways to synthesize that information and to give that fairly clear view to the business about what is actually happening. Well, if you think about all the different data models that are in play here, I do a lot of marketing myself, and just between eye contact and constant contact, you've got wildly different data models. You have different mechanisms of action. You have different mechanisms for tracking, clicks, versus opens and so on and so forth. And let's face it, there are a lot of smart people out there who are always trying to prevent tracking or trying to come up with new ways to track, and there are lots of different ways to do that. So how can we solve this problem? We're going to learn about that today. And very quickly, just to let you know, DeepDot is all about the technology, really trying to understand what this stuff is, what it does, how it works, why it does things a certain way. Because you as the end users, you're the ones who have to figure this stuff out. You're the ones who have to answer to the business to explain what's really going on. And so you need to know what these technologies do and how they work. So this is just a marketing world. And then I'm going to show you a slide that I've actually pilfered from my friend, Rick Sherman, Accidental Architectures. So it's kind of hard to govern a situation like this. And this is an actual diagram from a customer that has been grayed out here a little bit so that we've hidden the names to protect the innocent, so to speak. You cannot govern this kind of environment, typically. And what we've done in the history of data management is, again, we pulled data, usually via ETL, into a data warehouse and then analyzed that data. Well, there are ways to achieve governance in the history of our business. You could do it at the source level, where the database is, where the data exists. You could do it at the access level. That's pretty hard to do, quite frankly. But if that's changing, but there are some new ways of solving some of these problems, that's what we're going to find out today from our good friend Daniel Mintz of Looker. So let's think about this. Can data be governed? Well, how can it be governed? Data warehousing has a lot of movement. We talked about that. ETL tends to be kind of opaque and fairly brittle, right? The extract transform load of days gone by. Data federation has been around for a long time, but really only recently has it been a viable mechanism for getting access for doing federated queries, for example. That's part and parcel to what we'll discuss today as well. So one of the trends that we're starting to see is just leave data where it is. You know, on DM radio over the years, and this goes back 10 years now, when I was fairly new to this industry, I would ask companies, when are we going to stop the madness of moving data around and around and around? Because, again, it's hard to tell what's going on when you do that much data movement. And I think a lot of the seasoned professionals out there on this call know, once an ETL process is in place, stopping it is kind of a difficult challenge. First of all, people move through organizations. They leave. Some of these environments are incredibly complex, where you'll have literally thousands of ETL scripts running. You have these batch windows that you have to hit. They're all kinds of technologies for expediting the ETL of that data. But again, you're just going around and around and around. When is the music going to stop? Someone's going to lose a chair, and we're all going to figure out what's really happening, right? So that's the musical chairs of data movement, I would say. So federated queries are coming. Modern analytics really needs to span lots of different data types to the point of this slide earlier. 5,000 health companies are not using anywhere near that many. I doubt anyone's using them all. But some big companies do use quite a few. You get 100, 200 different systems that have data that's important to understand and to analyze. So what's the key? You have to be able to reconcile the data from these different systems. And that's what we're going to learn about now from our good friend Daniel Mintz from Looker. And Daniel, welcome to the show. Thanks for doing the deep dive and show us what you got. Thanks, Eric. My pleasure.  I love that stuff. I love talking about this stuff in detail. And so, you know, I'm really happy to be here. And let me share my screen so you all can see what I see. So I'm, you know, in the spirit of doing a deep dive, can you guys see my screen now? Are we good? I can now.  Okay, great. So in the spirit of the deep dive, I'm going to keep the slides quite brief so I can show you the technology that drives Looker makes Looker work. So, you know, I think to Eric, that was a great setup. I think the reality is just about everybody's analytic tools are outdated because the sort of underlying needs are moving so fast, you know, and I think the reality of most BI tools, most business intelligence tools, most analytic tools is that they were architected for a very different world. They couldn't possibly have been architected for this world when no one really saw this complexity coming. You know, and I think the choices that a lot of those tools made were great choices given the constraints of the day that they were built, but, you know, that architecture doesn't necessarily fit what's going on today. So, you know, what, you know, that core change, I think the thing that you most need to be aware of is that the driving constraint that drove the way that everything from business objects to Tableau to quick click to MicroStrategy were built was that back in the day, you know, up until maybe, I don't know, 7, 8, 10 years ago, databases were incredibly expensive and they were quite slow.  And that, you know, that was in a world of much smaller data than the data today.  And so, you know, that was the world that these things were architected for, but that is not the world of today. Databases today are incredibly fast. They're almost unthinkably fast. They're, they cost pennies.  So that world that drove the development of those technologies is not today's world. And so that means that we need new technologies that can fully grapple with and take advantage of these new sort of underlying data engines. You know, and I think that starts with the Hadoop Revolution, you know, 10-plus years ago and continues through with Amazon Redshift and, you know, Google BigQuery, you know, Snowflake, Vertica, now there's, you know, Spark and Impala and Hive and, you know, there are a ton of these data engines out there, databases, data warehouses, but the reality is all of them share one key characteristic, which is that they're cheap and fast. And so what does it look like to sort of architect a system on top of one of these databases that fully leverages all of that power? And, you know, I think when you look across the spectrum, what you see is sort of two main responses to these databases. When you look at most of the solutions that were architected in these last 10 years, one is to say, well, I guess we can just write SQL against this database. You know, that'll work, that's great, no problem. They all more or less speak SQL and that gives us direct access to all that power. Or we can sort of hook a black box up to it and, you know, it'll magically transform your data and take it from that messy MarTech slide that Eric showed to a beautiful clean dashboard. But I'm here to sort of argue that neither of those is actually an adequate response because when you go with the SQL response, what happens is only the analysts who speak SQL can access the data. And so everybody else is stuck waiting in line for access to that data. That doesn't make the analyst very happy because they spend all day writing and rewriting versions of the same query and it certainly doesn't make the business folks very happy because they have to wait in line and wait in line and wait in line and eventually they just stop asking because they know they're not going to get the data in a timely manner that they need to make a better decision. So why bother? On the other hand, if you've got that black box, it seems fine. You've got access to the data probably, you know, directly without having to go through the analyst. But what happens is because it's a black box you can't really understand precisely how the data is being transformed, precisely how it's being shaped and that is all well and good until it's not, right? Until you get into a meeting and you say, oh, sales are off and somebody else says, no, they're not. They're down. And the third person says, no, they're flat. And because it's a black box, you can't really interrogate the data. You can't understand why you're getting different answers. And it might be because you're pointed at different data sources. It might be because you're using different business logic. But whatever it is, you can't figure it out because it's a black box. And so, you know, I don't think that either of those responses, both of which are trying to leverage this new technology are adequate.  You know, it's everywhere. It's truly ubiquitous. It's quite functional. It's proven. It's been around for 40 years. It really runs the world in a lot of ways. And, you know, despite Hadoop and Java's sort of attempt to displace it, I think SQL is very much making a comeback as we see with all of the SQL on Hadoop implementations and then the fact that all of the sort of newest MPP databases are using some version of SQL. But as somebody who really loves SQL, I'm also comfortable saying that it is quite terrible in a lot of ways. You know, it's kind of a right only language. I know that when I write SQL, if I come back to it a week or two later and try to make sense of my own SQL, I often can't, so I start from scratch. You know, it's not easy to learn. It's very easy to write bad SQL, even if you're really good at SQL. You know, I always think back to my first job, writing SQL, where there was an orders table and there was a field in the orders table called status. And if you wanted to access the right orders, you needed to say status equals completed. And if you forgot to do that, you'd get all the charged backs and the failed credit card transactions. And so it was just really easy to forget that little where clause. And what that meant was, you know, you might run a query, forget that where clause and think, my God, we had an amazing day yesterday, only to realize, of course, you were counting all the failed credit card transactions and be very sad when you fixed it. But, you know, the point is simply that it's easy to write bad SQL, even if you're good at it. And it's certainly not business friendly. You know, as anybody who's tried to say, well, just everybody at our company will learn SQL that hits a brick wall pretty quickly. And so the perspective that Looker comes at this from is, you know, that we want all of that power, that flexibility and the ability to interrogate the data and the analytics and the business logic that SQL gives us, but we want it without the black box. And so the sort of key insight that Looker came up with is this thing that we call LookML. It's really the core secret sauce, we're not so secret sauce, I guess, at the heart of Looker. And what we realized, what Lloyd, our founder, who's been in the data world for a really long time, he was a languages and database architect at Borland and was the chief architect on Netscape Navigator Gold. So he's been around for a long time. But what he realized is, you know, we want to put data in the hands of everyday business users, but we want to do it in a way that leverages the analyst's knowledge about what the data means. And we want to take the analyst out of that role of having to rewrite every little SQL query. So what he realized is that we can actually reduce any query to four key components, right? One is sort of what table are we looking at and what other tables join to it and how. The second is what fields do we need to select. The third is how are we going to filter the data. And the fourth is how are we going to sort the data. And if you have those four things, you really can construct sort of any query, right? And, you know, I think base view just means, you know, if you've got an orders table, it's always going to join to the user table using user ID. It's always going to join to the order details table using order ID. And so we know that we should be able to write that once and then leverage that. And, you know, and we can sort of go from there to construct any query. And once we realize we can do that, we don't have to have a person writing that SQL every single time. They can sort of put that knowledge about how the data is structured into the software once and then let the software do it, take it from there. And what that gives us, you know, is the power of the flexibility and the provenness of SQL but with little things like version control and collaboration and extensibility and modularity. So, you know, that idea, LookML, is really at the heart of Looker. And don't worry, I won't just tell you about it. I will actually show you how it works because I know as an analyst myself, I'm very skeptical of people just telling me about, you know, magical things that'll make my life easier. So I'm certainly not going to do that. But before I do that, let me just show you one last thing, which is just sort of how Looker uses LookML and how it's architected. So, you know, as Eric said, people have data coming in from a million places. Most of Looker's customers have, you know, SaaS apps that they're collecting data from, a transactional database and ERP, web analytics. And as Eric said, you know, it's a lot simpler to sort of federate that data or dump it all into one place than it ever was before. You don't have to do that heavyweight ETL. And so Looker takes advantage of that by, you know, we have lots of partners who help folks dump that data into one database, any SQL database or a few databases.  And it uses that agile modeling layer that's built on LookML to write the correct SQL, send it to the database and get the results back. And because Looker's a data platform, it also does some key things like, you know, version control that modeling layer. It manages all your connections. It manages your users and security. And once you've got that sort of model of what your data looks like in Looker, you can access it in a variety of ways. So most of our customers will use our web interface to sort of self-service exploration and visualization. You know, we use D3 libraries to drive our visualization. They can export the data if they want to. They can schedule delivery so they can get it by email or a web hook or push it to an S3 bucket or an FTP server. They can embed that data in Salesforce or an iframe or via JavaScript. And, you know, we have a full restful API so you can do all the stuff you could do manually, programmatically through the API. And, you know, the key idea here is because all of these operations are happening through this platform and accessing the database not raw, but through this modeling layer, it means that you're always going to get the save answer to your business question no matter how you ask it. And that idea of trust is really sort of critical and we think too often missing from the world of data. So enough talking and telling you about Looker. Let me actually show you how this works. So this, you know, Looker runs entirely in your browser. I don't normally get to demo the sort of innards of Looker so I'm very excited to get to do that. So let me show you actually how LookML works. So to make this sort of simple and straightforward, I'm going to use a really simple data source. It is a table of names that the Social Security Administration maintains that shows, you know, how many people of each name were born in different states from 1910 to 2013. And so the first thing that you would do in Looker is you would connect it to your database. In this case, I'm going to use the BigQuery database. And Looker will then, you know, read the table schema and construct this very basic model on top of it. This is LookML that we're looking at right here. And, you know, here we have our five fields, name, gender, state, year, and population. And we'll also build a real simple count called, or a real simple measure called count. And, you know, this is not terribly interesting, I'll admit. But, you know, I think the key idea here is we can explore this. So what we're looking at here is very much what an analyst or a developer would look at. And what that allows Looker to present to business users is a much friendlier interface that looks like this. So I'm, you know, picking dimensions and measures. And Looker then is constructing SQL to send off to the database, and I can then run that SQL, get my results, and display my results here. So here's, you know, there were 103 Arlene's born, who are female, great, not very interesting. I will readily admit. And, you know, the key thing to know here is that the SQL that's being produced is dynamic. So if I add state, Looker's going to add state. If I add count, Looker's going to add account. And, you know, all of this is very readable. It is not a scary machine generated SQL that's impossible to parse. This is just, you know, pretty straightforward. But I will admit not terribly interesting. So let's go back to the code here. And we're going to go to a separate file. And one of the key concepts of Looker is, and LookML is reusability and extensibility. So I had defined those six fields in my last file. I don't want to have to rewrite all that. So I'm going to just say, you know, extend name step zero. And I'm going to just pick up those six definitions, not have to rewrite them. I just get them for free. And then I'm going to continue. And because I want to be able to make changes to these files, rather than just looking at them, I'm going to switch into developer mode. So this is, you know, this key idea of version control, which engineers are quite familiar with. Analysts, unfortunately, have not mostly benefited from that knowledge that, hey, it's a good idea to keep track of everything we've done. So I am now in developer mode. Looker uses git to version control everything that you do in LookML. So I'm on my personal branch. Everything that I do in here now will affect me and no one else, which is really nice because it means I can mess around, I can break stuff and not have to worry about breaking anybody else's stuff. So I've got those six basic fields. I'm going to add this new measure called name count. And it's a type count distinct. So I'm going to count the name field, count how many distinct names. And I'm also going to create a total population measure, which is a sum of population. So it's still not super interesting, but let me, let's explore this. And we'll see now that I've got these new fields. Here's my name count and my total population. So let's look at, you know, how many names were in use by per year. And again, Looker here is writing the sequel, very straightforward sequel. You know, let's take years and count how many distinct names were in use. We can sort this and we can visualize it. So let's see, oh, that's interesting. So there are a lot more names in use today or in 2013 at least than there were in say 1910. Well, you know, we could do more here.  So we can add gender to this table and Looker will add that gender field. But it would be nice to pivot gender, you know, so that we don't have it like that. So I'm going to do that. And normally you would not want to write pivots in sequel because, you know, it's kind of nasty to write pivots in sequel. But luckily you're not writing the sequel. Looker is writing the sequel. So Looker will take care of writing that pivot. I admit it's a little bit gnarlier, but you're probably glad now that you're not writing it. And now I'm going to run this query. And now we'll be able to see is it mostly girls or boys who are driving the rise in the number of distinct names that are in use. We can visualize this. And what do you know, it's girls, mostly who are driving it. Boys are certainly up as well, but girls, more distinct names in use, right? So, you know, we're, I wouldn't say that this is groundbreaking discoveries, but we're certainly starting to learn things from a very simple table, you know, by writing some nice simple look at them. So let's jump back to the code and go further. So let's jump to name step two. So again, I don't want to have to rewrite everything I've already written. So I'm just going to inherit that by extending the stuff I've already done. And, you know, maybe I want to take that year field and I want to get a decade from it. Well, you know, that's pretty straightforward to do in sequel, right? I can take the year, I can divide it by 10, take the floor and then multiply it by 10. That's a pretty simple sequel operation. And because LookML is built right on top of sequel, it's not trying to replace it. I can actually just write that directly in the LookML and that gives me decade. I can also do things like case statements. Like I might want to take the states that I have in the data and, you know, make regions. So I can say, well, you know, if the state is any of these, then let's call that west. And if it's any of these, let's call it southwest and so on and so forth. And so I can now explore this and maybe we'll use Eric's name here. So we can say, you know, let's filter to Eric and let's look at, you know, by region and by year. You know, we'll pivot region. How many Erics were born in each region of the U.S.? And now we can look at the sequel that Looker is writing. And, okay, this is definitely not sequel that you would want to write by hand anymore, right? And so now we can visualize this and we can see, let's look at a line graph and we can see, oh, okay. So Eric was not really a name in widespread usage in the earliest part of the 20th century. But come the 1970s and 1980s, Eric, I don't want to, you know, make a guess about what year you were born. I don't want to date you. But, you know, we can see when it rose and that it's been tapering off ever since and that it, you know, kind of got up to its highest in the Midwest. So maybe Eric was born in 1970 in Kansas. I don't know. But, you know, we're starting to understand a little bit about this data and we're doing it all via this sequel, which is really nice. And the thing about being in developer mode here is I can make changes that, as I said, only affect me. So let's say that I decide, you know, Utah really isn't a Western state. I want Utah to be a Southwest state. I can add Utah there. I can save this and now I can go back to here. And when I rerun this query, and I'll show you before I run it, right now Utah is showing up as a Western state. But let me just refresh this window. And if I look at the sequel, Utah is gone and there it is as a Southwestern state. So this ability to sort of interrogate what's going on with the data to, you know, to change it on the fly and maintain agility I think is really critical to being able to sort of learn what's going on with your data for real. And so that's very much what LookML allows you to do. And we can keep going and, you know, let's say we want to create a population, a male population measure so we can say, well, I want to measure called male population that sums the population field but uses this filter where the field gender is a value M, right? And so that gives us a male population field. And then we don't have to rewrite that logic to make use of it. So let's say we also want to have a percentage male field. We can define that using fields that have already been defined. So this male population here is just referring to this measure that I defined here. And if I make any changes to this, this definition, it will flow through to this one. And that idea of not repeating yourself of reusability, you know, is something that's core to modern software development but is not really core to sequel. But it is core to LookML. And so, you know, I can then, I can do the same for Northeast population. I can do the same for before 1940 population. And then I can leverage all these on the front end. You know, and Looker makes it really easy to write LookML because it's got this IDE that I'm in right here. And so I can, you know, if I wanted to define a new measure, you know, I said, you know, let's create a measure called female population. Sorry, WebEx is making my computer a wee bit slow, as you may see. And down the left-hand side there are those versions because you talked about version control. So those are different views. That's a good question. So those are different views that are showing because of the way that I'm doing this by just stepping through. Often this, all of that logic would be in one file or a couple of files. But here, we've broken it out. But I'll show you sort of what you can do with views because it's not just about referencing in a table that exists as a physical table in your database. You can go further than that. But let's say I've got this, you know, this male population. I type some, or excuse me, I type type. And then Looker will tell me, the IDE will tell me, you know, oh, yes, I can make a sum or some distinct. And, you know, I want my SQL to be, to reference that population field that I created way back when. And so Looker is giving me all my options at sort of auto completing, which is very nice and makes it a lot easier to write. Look them out. You know, this is a proper IDE. It's a proper language. And so it should have a development environment that makes this easy. So, you know, when I've defined my filters, I'll, oops, very hard to say. And those are basically guardrails, too, right? Absolutely. They keep you on track and they show you what's possible with that particular type at that time, right?  Don't do that. And so that, you know, that error checking is great. It makes it much easier not to make those mistakes. So now I can say, you know, gender and value female. And now, you know, just by doing that, I have this, oops, let's put it inside the quotes rather than outside the quotes. Now I have this new measure called female population. And if I save this or female poolation, let's fix that. There we go. And so if I save that and go back to my Explorer, immediately I have, there's a female population available to me. And Looker knows that the way to define that is as a, where gender equals F. And it's even doing the upper to make sure that there's no problems with, you know, oh, it's a lowercase F. So Looker creates those guardrails, makes it much easier. I don't have to worry that the SQL is written correctly because I know that it's doing it. And as a business user, I don't have to worry about this at all. And for lots of business users, that SQL tab isn't even available, right? And so that's really nice because it means I don't have to worry about it. But if I, you know, I'm an analyst and I'm saying, you know, that female, that data doesn't look quite right. Interrogating that field and understanding how it's being calculated is as easy as a click. I click that button, takes me directly to the Look ML that defines it and I can figure out exactly what's called. Oh, wow. And so, you know, this, we can see that there's our baby boom in the 40s and 50s, right?  But, you know, this idea that I think when you look at, you know, sort of computer programming languages, general purpose programming languages, there's been enormous growth, right? We're not still mostly writing C. You know, sometimes you do need to write C, but most of the time you can write Java or Python or Ruby or whatever, you know, you want. And those things are, they're sort of higher level languages that take care of a lot of the low level stuff for you. So you can focus on writing, you know, a good program, something that does what you need it to do, not worry about garbage collection like you would have to in C. But for some reason in Data World, we've gotten stuck and we're still mostly writing SQL. And SQL is great. It's powerful, but it's pretty low level. And so what that means is we're mostly still worrying about, oh, did I remember to include the status field or did I forget that? When in fact that's something that you should be able to sort of outsource to a computer and say, hey, by default, I want to say status equals completed and I should be able to take that off. But, you know, I don't want to have to worry that I have to remember it every single time. Yeah, that's a really good point you just made there about SQL being a very low level language. If you think about Python, for example, these are higher level languages, meta languages basically that are then generating code themselves that go down to the C level of whatever the case may be. And this is, I think this is an interesting step in the right direction, creating a meta language for being able to optimize. And that's one of the things my good buddy Mark Madsen said on the webcast a couple of years ago. If you're not using one of these higher level languages, you can't optimize very well, right? That's right, yeah. And so, you know, as an analyst, you know, if I'm dealing with something slightly more complicated than a five field table, you know, there are lots of those optimizations that I might want to actually live right in the sort of model, the data model, you know, things that I know about ways that join should be done, stuff like that, that I don't want to have to transmit that knowledge person to person to my whole organization or to everybody who's writing SQL because that's really inefficient. And so, if I can put it in software, that scales that knowledge very quickly.  And, you know, to go back to your question about sort of what's going on down the left side here, you know, in LookML, there are really two main kinds of files. There's also dashboard files, which is a third kind, which is that you can actually use code to define a dashboard, but let's not go into that yet. So the, you know, what I was showing you mostly, these are called view files. So what this is, is it either takes a table exactly as it exists in the database, which is what this does, this popular names table, and then it defines dimensions and measures based on that. Or you can actually create what we call a derived table. So I can, rather than referencing a table directly, I can say, you know, I want a cohort, a concept of cohort. And so I'm going to create a derived table, the definition of which is take each year, state and gender, and tell me how many people were born in that year of that gender in that state. And then I can build dimensions and measures directly off of that. And so, you know, that becomes very powerful because you can start doing transformations. You know, it's not only I have a user's table, I might want to have a user fact table, which is not, you know, data that should be represented directly in the database necessarily, but I can derive from that data. And not only can you define these drive tables, but you can also persist them. Looker will persist them back into a scratch scheme in the database. So again, that core concept of leveraging the power of the underlying database, you know, rather than pulling them into our own proprietary SQL engine or data engine, you know, I don't really want to compete with Google and Amazon and who can build the fastest data warehouse. I'm really happy to let them have that fight because they are both amazing at it and only drive each other to be better. I want to leverage what they're doing. And so that's how Looker is architected to leave the data in these databases because they're so powerful. And so that's the view file, right? It defines individual fields. And the other type of file, the other main type of file is a model. And that's that idea of, well, how do the tables relate to each other? And so, you know, I can define joins here. So I can say, all right, that cohort table that I just created, that cohort view that I just created, I want to join it back onto the main table. And I want to do it where state equals state and year equals year and gender equals gender. And I can tell it's a many to one relationship. And what that lets me do then is I can explore this data. And from the user's perspective, there's no difference between the derived tables that I am calculating on the fly and the ones that are actually in the database. So I can say, you know, let's see, how many of the boys, you know, born in each year were Daniels, right? And so I'm just picking and choosing on the fly. This is not a query I think I've ever run before, but that's okay. Looker knows how to construct this equal. It writes it. I can sort it. And I can see, you know, here are our peaks percentage of boys born in any given year that were Daniels, right?  And just to show you a little bit more, you know, I'm intentionally using a very sort of simple data set because it lets me really show off the power of LookML, but just to jump over to one of the demo, larger demo data sets that we use regularly, you know, I can then take all of this and build up, you know, a business pulse, let's say, that's a full-fledged dashboard leveraging all this data. But again, each of these tiles is running a query against our database. And so what that means is I can always drill down to real-level detail.   But, you know, or I want to look this user up and I can do all of this because I'm sitting directly on top of the database. I can see what her lifetime spend is. I can see, you know, what she's ordered. And let's say, you know, that lifetime spend seems weird. Maybe I don't trust it. I want to know how that's calculated. Well, it's a sale price. So I can, again, jump right into the LookML, interrogate it, understand exactly, you know, what's being used to do that. Oh, okay. It's a measure of type sum in U.S. dollars. And it's using the sale price. Well, okay, I want to see how sale price is defined. All right, let's jump to sale price. Oops, let's go the other way. So there's sale price. Oh, okay, sale price is a field directly in the table. So that's where sale price is coming from. You know, and this idea of reusability. Here's my dimension sale price. I want to calculate a gross margin while gross margin is sale price minus cost. Great. I define that. I define each of those each time, you know, or more complex measures like, you know, let's say I want to look at, you know, shipping time. Well, I can take the, you know, I can date, if the shipping date and the delivery date and, you know, get the number of days or I want to look at days to process. And I know that depending on where that order is in status, it's going to be a different calculation. So, you know, if it's still processing, I want to know the difference between now and when it was created. If it's been shipped or completed or returned, I want to know the difference between when it was shipped and when it was created. If it was canceled, then I don't care about it.  That's really the core of LookML. Again, you're also, you're kind of speaking to the data governance side of the equation here, which we talked about at the top of the hour. Being able to understand where information comes from, how are these fields calculated, having the ability to drill down from a dashboard all the way through to the code for how these calculations are being done. That's how you do governance, right? Well, that's at least how you understand lineage and how you can solve problems. And because you've got this marshaling area, then you can solve a problem once and haven't solved instead of having to try to fix something with like a data quality tool or, for example, multiple times, right? That's absolutely right. Right. And, you know, and I think people get into trouble because they wrap up the business logic and the data into one sort of inextricable package. And that is fine for now, but then when you need to go take those two things apart because the business logic changed, now you're in trouble, right? And so by removing the actual business logic from the data and saying, we will leave the data raw, but we will put a very lightweight agile layer of business logic on top of it that stays separate. It means that I keep that agility. I can make changes to the business logic on the fly, have them reflected, but not mess up that raw data because that raw data is important that it stay raw, right? Because it means that I can understand exactly what's going on with it. Yeah, this kind of gets into another one of the issues that we wanted to talk about on the show today, which is the old ways of doing data warehousing. We have to remember there were a whole set of different constraints, mainly the pipes were small, the processors were slow, storage was expensive. So we made decisions based upon those constraints to strip out context to get just the meat, if you will, or the, you know, the tiny little thread of data from a source system into the warehouse, normalize it, then be able to analyze it. And what you're talking about now is not stripping out that context, leaving it where it is, such that someone can, like an auditor, for example, or even an employee who comes in kind of in the middle of things, can go through the system and see, all right, well, what was the actual raw data? That enables transparency. That enables, I think, an element of robustness that we have not really seen in the data warehousing era. What do you think? Yeah, absolutely.  It's instead that that the previous solutions were built in a world where this simply wasn't possible. Right. I don't think that Looker works 10 years ago, because the databases weren't up to the challenge. Right. You know, a lot of the DBA's job was protecting the data warehouse from the employees. It was about how do we cube this data? How do we, you know, pre-summarize it so that people aren't hitting the raw data, because if they do, they'll take down the warehouse. And that's simply not true anymore. You know, I think, you know, when you watch a Google or run a query on a petabyte of data and it returns in, you know, in seconds, that's a very different world than the world of, you know, Hyperion and Oracle and Teradata. Right.  But it does mean that you need to rethink some of the decisions that you made because those constraints that drove those decisions are not there anymore. That's right. So, I mean, I can keep poking around. I mean, I don't know if there are questions from the audience. I love talking about this stuff. But, you know, I feel like I feel very privileged to get to talk to technical folks and get to show off the behind the scenes stuff. I love this stuff. I'm happy to talk about it all day. But, you know, I don't know. Yeah, maybe if you want to go back to the diagram that kind of shows the big picture. Yeah, sure. You just said there's a second note.  But I think what happened with that idea of a data lake was that it was a good idea, maybe, but it also was like, in some respects, I think it was IT kicking the can down the road and saying, oh yeah, just dump it in the data lake and we'll deal with it later. We'll give it meaning later. But that rarely happened. And so I think the promise of having all your data available in one place often didn't deliver. But I think these days it's a lot easier, right? You can, in fact, get meaning out of that data. It doesn't have to be transformed ahead of time. You know, it does let you sort of clean up the data swamp because the databases are incredibly powerful, incredibly cheap, and also can deal with all kinds of data that in the past were not okay, right? You know, you look at Snowflake or BigQuery or Spark or Redshift and they have the ability to deal with semi-structured data. They have the ability to deal with, you know, with very flat wide tables. They have the ability to deal with all these things that weren't okay in the past because the database couldn't deal with them. And so, you know, I think that means that things that used to be in that data lake, in that data swamp, and, you know, we're going to stay there and never be used, now can be used, right? I mean, I think I talked about the Google Analytics data and how it comes into BigQuery when Google types it in raw. It's deeply nested, right? Well, who, you know, nested data in a relational database? Well, yeah, BigQuery has nesting. That's part of BigQuery's architecture, and so they can nest data. And so you can have, you know, a session event that has a bunch of page views and click events nested inside of it. And, you know, and that's fine because BigQuery can handle it and because Looker knows how to handle that. And so I can, you know, for example, go to our blocks directory and I can show you the sort of pre-built analytics solutions that Looker uses to deal with that. So, you know, I can go in, I think it's an analytic block. Let's see. So if we look for Google, it's a source block. So let's, you know, here's the GA Google Analytics Premium by Google Block. So what this is, is it's, you know, we saw all these customers using this data source. We knew that it was not easy to make sense of. And so we wrote the code that makes sense of it, built these dashboards, and now we can make this available for free, right? This is just code that lives in GitHub.  You don't have to write this. We've already dealt with it, right? And so when you get Looker and you have this GA data, you don't have to start from zero. You start from 90% of the way there and 95% of the way there. But again, because it's just code, you can then customize it and do what you need to with it. But we've already calculated all this stuff. We've already built these dashboards, so you're starting from nearly done, right? And that's one of the really nice things about Look ML as well, right, is because it's reusable, it's not just that you can reuse your own code, you can use other people's code, too. That's a really good point. Yeah, and we have a good question from the audience. An attendee is asking, can you explain how to join different data sources like MS Dynamics, SQL Server, et cetera, for business users to analyze? Yeah, absolutely. So we kind of handle that in two different ways. So one way to jump over to the sort of admin panel. So Looker supports, I believe it's now 35 different dialects of SQL. So if I wanted to create a new connection, you know, I'd open up the new connection dialogue, and here are the 35 different dialects of SQL that Looker supports. So everything from, you know, Apache Spark and Redshift to SQL Server 2005 and DB2. And so you can create those different connections and build different models on top of those, and then build dashboards where, you know, one tile is pointing at SQL Server data, and the one right next to it is pointing at BigQuery data, and that's no problem. But in the most recent release, Looker 5, we've gone further, and now you can actually join that data on the front end. So you could have data that lives in two different places, two different databases, run those queries on two different things. I'm trying to think if I have a good example here. I'm not sure that I do. Let me see if I can do it in demo where demo go. Here we go. And so let's say that I, you know, I'm exploring data here. I've got this here, and I can then, as a business user, without having to write any code, I can, oh, this may not be on Looker 5, bummer. Okay, this is not on Looker 5, but I think this is, let's see. I can, if I switch out of development mode. Oh, no, I can't do it. Sorry, I lied. That's okay. But look at the latest release, which neither of these instances is on, unfortunately, allows you to merge those datasets. So what that means is I can run a query on, let's say, Google Analytics data in my BigQuery database and a query on sales in my SQL Server database, you know, and see, I want to see total sales by day, and I want to see, you know, website visits by day. Those live in two totally different databases. As a business user, I can then merge those two datasets and build, you know, visualizations and dashboards and calculations based on those two measures, and Looker will infer the join and say, well, you've both these are grouped by day, so, you know, obviously you want to join those by day, and it'll take care of that for you. So it's a great question. And, you know, I think part of our approach is like there are some things that need to be done in the model and should be done in the model, but some things like that, where it's an ad hoc, you know, join across databases, that probably shouldn't be modeled. It's, but it's something that a business user should be able to do on their own without having to go into the code. Yeah, I know that's, that was one of my other questions, really, is the, you know, separating out the business view versus the developer view, because these are very different worlds, and what you're talking about is the ability to allow business users to point to all kinds of different data sources, and that's why I had that mark text slide at the top of the hour here, is to show, you know, even if you have 20 of those different systems, they're all going to have a slightly different data model, they're all going to have a different API these days, and you need some way, someone to basically handle some of that pain for you, such that you're not trying to manage APIs across multiple different systems, you've got this platform that sits on top of all these different environments and allows you to pull it in. And to me, that's the transformation that's taking place, and it's a very different world. You know, if you think about the mindset of what the IT people would do, of what the data warehousing team would do, it's a different set of challenges now, it's a different set of processes, and you kind of have to let go of the old constraints and the old ways of thinking about things in order to take advantage of this stuff, right? Yeah, absolutely. I mean, as a business user, I frankly shouldn't have to think about whether a piece of data came from MailChimp or NetSuite or our transactional database. I've got better things to worry about, and that should not be one of the things that I'm thinking about. So, you know, I think to your point of federation and virtualization and a single platform, a single place where you go, you shouldn't have to worry about that because the data should just be there, right? You should just be able to search and say, oh, I want this field, or I want this report, I want this dashboard, and not have to worry about the fact that this tile came from one source and this other tile came from another source. And I think that's what a real data platform like Looker gives you. Yeah, that's a good point. And, you know, API management is the one that I'm very curious about, but we have another good question from the audience. Let's see. Can I use the view created in Looker as a source to any other BI tool like Tableau or ClipView? How does that work? Yeah, so we, you know, as shown on this diagram, so we have a full set of RESTful APIs. So really anything that you can do through the web interface of Looker, you can also access through REST API. And we have plenty of folks who are, you know, either piping into another BI tool or maybe even are piping it into a full embedded experience. So let me see if I can pull this up. So we have a, you know, we have a full line of embedded analytics called Powered by Looker that are all running on this same platform. Let's see if this wants to load. Yeah, and that's actually a good subtopic to talk about here very quickly is embedded analytics, right? Because again, at the end of the day, end users have a certain amount of projects and a certain amount of tasks that they can accomplish in any given day. And a lot of people don't like bouncing around from system to system. You want to be able to work within the usual environment that you have. And so I think what I really like about that is you're able to facilitate that kind of thing. So can you talk a little bit about and I'll go ahead and throw up this. Yeah, I'm going to, I will just switch in apps. I'm going to share Chrome, which I know fashionably will load in as far as seems very unhappy. So let me load this up. So this is, this is all powered by Looker. So this is Looker too. But obviously it looks very different than Looker. And, you know, this is using a mix of the API and, and iframes to embed Looker in an entirely different experience. So this is, you know, here's an iframe, but I can also, you know, create a totally custom visualization using D3, a totally custom filter set, you know, and I can say, oh, I want to add the West Coast. I do that and the visualization updates. And so this is all accessing Looker, but doing it through the API where, you know, I've built some custom filters. It sends that off and sends that West region to Looker, get through an API call, gets the data back and visualizes it here in a custom visualization. So, you know, I can take men out of the equation. And so, you know, all of this is, is happening through that same platform. And I think that, that approach of like a single platform through which you can do really anything you need to, whether it's accessing it through our BI tool, through a different BI tool, through a whole different application is really core to the way that we come at this problem. When you also have kind of touched on one of the key components I think of future efficacy and data management and analytics at large is separation of concerns, right? By leaving the data where it is, by having a marshaling area in that modeling layer that you talked about by having version control, et cetera, you're enabling in users to slice and dice and play around and do all kinds of different things without breaking anything and without jeopardizing what someone else has or what someone else wants, you basically enable the agility and the latitude that business users want, right? Absolutely. I mean, we have customers and I've done projects actually where we will write scripts, Python scripts or Ruby scripts to generate LookML and then a whole Dev workflow where you have a Dev staging server, you prep stuff, you run an impact analysis to see which looks and dashboards will be updated, and that's all seamless. It's all very much a sort of modern development workflow that's enabled by the fact that we're code, that it's Git, all these things that developers have come to rely on and analysts I think can really benefit from. Yeah, I like that you mentioned GitHub too and the work that you guys have done, right? Because the last thing you want and you talked about this earlier is you don't want to reinvent the wheel. And so when you start thinking about how that applies to the world of analytics, especially in this wildly heterogeneous world that we have, being able to find the chunk of code that gets you 90% of the way there, that's a tremendous enabling component and it also, I think, probably keeps developers pretty happy, right? Because no one wants to reinvent the wheel, it takes a lot of time to be able to get that 90% done. That's the speed of business these days, that's the speed that analytics needs to be at if you're going to stay alive, right? Absolutely, and I think 90% is great, but I think where developers have historically gotten tripped up, understandably, is you say, I can get you 90% of the way there, but it's a black box and you'll never get 100% of the way there because you can't tweak. So we said, no, no, that's not okay. We appreciate the developers' concerns. We're going to get you 90% of the way there, but you're just going to have the code so you can go in and you can finish that last 10%. Yeah, that's a really good point. That's really good stuff. And so I'm just kind of curious to know, what do you find to be the most surprising when you go out there and start working with new companies? What shocks them the most or surprises them the most about what they're able to do?  I love people who love SQL or love building tools and seeing that there's a different way. I love seeing business users. I have to say, we think of our users in mainly three camps, the sort of analysts who speak SQL and they're happy because Looker is doing that for them for the most part and so they don't have to spend their days doing the same SQL queries over and over. Explorers, people who live in Excel and historically have waited in line for data polls from the analysts and consumers, people who want a dashboard or a report scheduled to them. And it's that middle group, those explorers, who really just are gaga about Looker because all of a sudden they're not stuck in Excel. They're in a place where they can ask a question, get the data back instantly, ask the follow-up question, get that data back, ask the follow-up question, and just, you know, and they're the ones who have that gut level understanding what the data means and, you know, I just see over and over how the discoveries they're making are driving their businesses forward. I love it. Well, Shannon, I'm going to bring you back in. We just burned through a whole hour with a great demo and some exploration of the new way of doing analytics. I have to say, very good stuff, Daniel. Thank you for your time. My pleasure. Thanks for having me. Yes, thank you, Daniel, so much for this great presentation. And Eric, thank you so much. So excited to be producing our very first EM Radio deep dive webinar. It's very exciting. And thanks to Looker for sponsoring today's webinar. And thanks all of our attendees for being so engaged in everything we do. We really appreciate your time and energy. So just a reminder, I will send a follow-up email by end of day Friday for this webinar with links to the slides, links to the recording of this session as well. I hope everyone has a great day. Thank you so much for joining us, and we hope you'll join in to listen to EM Radio at 3 p.m. on Thursdays. You can check it out at dmradio.biz. Thanks all.