Live from New York, it's theCUBE. Covering Big Data New York City 2016. Brought to you by headline sponsors, Cisco, IBM, NVIDIA, and our ecosystem sponsors. Now, here are your hosts, Dave Vellante and Peter Burris. We're back in the Big Apple. This is theCUBE, the worldwide leader in live tech coverage. We're here at Big Data NYC. Big Data Week is part of Strata plus Hadoop World. Sean Connelly is here as the Vice President of Strategy at Hortonworks, longtime friend in KubeLum. Great to see you again. Thanks for having me. We're back at the same venue last year, always a pleasure. Yeah, it's good. We're growing, I guess the event's growing. We haven't been over there yet, but some of our guys have, but what's it like over there? It feels the same. Some of the different use cases I think last year was streaming, we're hearing more machine learning and things like that as far as use cases. So, similar vibe. Yeah, so things are evolving, right? How's Hortonworks evolving? So, we continue to report our quarterly earnings as the only publicly traded company in this space. Things from a business perspective are doing well. Our connected data platforms strategy, which we unveiled at the beginning of this year, just re-round data emotion and data at rest and enabling these new gen transformational applications continues to play out. The data and motion piece is sort of decoupled and unrelated to a Hadoop platform. It's really about acquiring and handling the FedEx for data delivery type notions, data logistics, secure transmission. That's based on the Apache NIFI tech that was originally built sort of at the NSA over the past eight years. So, really a nice robust piece of technology that we've pushed out to the edge in our latest release. So, you can really skin these down and does secure site to site transmission, a lot of sophisticated capabilities there. So, we're seeing a lot of uptake in that sort of architectural vision, the products are maturing, both on-prem and in the cloud. Things are pretty exciting. Well, this cloud thing seems pretty real. You get a lot of traction, right? Everybody kind of knew it was coming, but what are you seeing? Yeah, so it was, I guess I started the journey back in 2009 when I was at spring source and Paul Moritz was CEO of VMware. And that was pre sort of cloud at that time. We were talking about this notion of platform as a service and things like that. And that resonated really well with folks back then, but their main ask was how do you solve the data problem? How do you actually get the data to the apps that need it? Fast forward to 2016, I think. It's been a lot of open source innovation, a lot of commercial innovation, the rise of cloud for providing a fast path to value, booting up these use cases. It's a fascinating transition to watch. Many of our customers are, people use the word hybrid. What that means to me is they'll have data center workloads or multi data center workloads. They also have cloud workloads, sometimes even multi cloud workloads. And that inherent nature of the beast is why I use sort of the term of connected data architecture is you need an architecture that inherently is built to span that fact. And that's just increasing. That's just the world we live in today. But the fact is because there are speed of light issues, there's data fidelity issues, there's other types of things. How are you starting to see those practical and very physical reality start to impact the whole concept of design as it pertains to data? As it pertains to analytics, as it pertains to the infrastructure associated with the two? Yep, so at Hadoop Summit that we had last June, there were really some really good sessions that were there, folks like Comcast, Ford, Schlumberger talked about this, connected data architecture reality, right? If you look at like, I like to use the connected car ecosystem as a good example, because there were insurance providers and others that were sort of speaking on behalf of that. Where you have the cars and other data that's inherently born up there. And there's a slug of use cases that are around edge analytics, streaming analytics, time series analytics. And we're seeing that and I think the cloud lends itself really well for those types of use cases. But we also see manufacturing line data for the cars where you want to get a 360 degree review of operational issues and dovetail that with manufacturing line elements. And that's inherently what we've seen is what your classic sort of on-prem data lake in quotes has been used for. So you can get that 360 degree operational intelligence type analytics to come out of that, right? So that type of use case, whether you apply it to oil and gas and having the sensors on the oil rigs in the Schlumberger example, that pattern is repeating itself across different industries. British Gas in Europe talks about how they're fundamentally changing the nature of their relationship with their customer because of the smart meters and their connectivity in the homes and they can deliver better value there. So that's inherently a connected data realm. There's cloud use cases and in the data center use cases. And so I see these use cases, there will be use case specific and applications that are sprinkled across that fabric, if you will, right? And that's really what we're seeing. At our panel last year here in this venue, we were talking about a lot of things. One was the market, the sort of ebbs and flows you just mentioned. You guys are the only public player, talons joining that crew. Excellent. You've seen some. We need more. We need more. We've seen some M&A, platform taken out. I don't know if that was, I don't know the specifics of that deal. It might have been an AccuHire, I might not, I don't know. And a Datamere did a raise. So you're seeing these rip currents in all directions. What are you seeing in the marketplace? A lot of funding early on, a lot of players, a lot of innovation. And now it's like, okay, the music at some point is going to stop. What's your take?  We reiterated that guidance. We had a little over 62 million in billings for the quarter. So the business is pretty robust and growing. It's a, we're only five years into this. I mean, we're just five years old. So it's a very fast pace of billing's growth. That's almost a 250 million run rate for exiting that quarter annual run rate. So we see a lot of the use cases really continuing to move on. I think what our customers ask us is they're on a digital transformation journey and they want the industry to start talking about those types of business value drivers. So I think we should expect to see a transition from the piece parts animals in the zoo and what's the right open source piece of technology and more why should you care as a business? How is this transforming what you do? How does this open up new lines of business? We started seeing that at Hadoop Summit when I think about two dozen customers were sharing very rich stories. So that's where things are. But I think running a company is you have to, you have to run it with a certain sense of rigor and that was one of the reasons why we chose to go public, right? So we, by the way, we totally agree that customers want to stop talking about digital business in platitudes and start actually identifying specifically what is it about it that's new and different and find ways of doing it. Sure. Coming back to the issue however of how you go about making some of those transformations relevant, there is clearly a knowledge gap about what digital business is, what it isn't, certainly. But there's also a fair amount of skills that have yet to be developed that are required for a lot of the use cases that companies are pursuing, not just in terms of implementing the technology appropriately but actually constructing and conceptualizing the use cases. Sure. So that suggests that there's two paths forward. There's a path forward where we can do a better job of diffusing knowledge through people and there's a path forward where we can do a better job of building software that's easier to use. And there's both. How do you see this playing out over the course of the next few years? Yeah, and I think in any new area as technology is emerging, like one of the things I use is Apache Software Foundation. Literally every other week there's a new data related Apache project that lands. So it could be really confusing but it's exhilarating from the fact of I participate in that and I try and figure out what ones we can harness in a consumable platform whether it's on-prem or cloud or what have you. What use cases can it light up? So I think you have both of those vectors and it really depends on, I like to use the classic software adoption curve. You have a lot of the left side of the chasm folks where a lot of this new stuff is going to be sharper edges and they're always going to be trailblazers, right? But we are also seeing a lot of, some of these advanced analytics, some of these new solutions are automating the pipeline. So you can actually let the infrastructure and these engines do more of the thinking for you so you get your models output. Even the point where you run multimodal simulation in parallel and out pops the best fit. That's where things will head, right? I think it's just a matter of the technology maturing, making sure we address things like security, metadata management, governance and those illities that the enterprise expects and then really forcing ourselves to simplify and automate as much as possible, right? And that was one of the reasons on that last one why in October 2011 we basically chose Teradata and Microsoft as key partners. Teradata because in 2011, clearly, right? They're, you know, they're Teradata, right? Microsoft because it simplifies technologies and brings them to billions of users, right? And so we need to do both. You need to harden it for the most rigorous, large enterprises, but you need to simplify it for the meat of the market adopters, right? The early majority and late majority. You have to do both. You're sitting across from a CEO and you have to say, these are the three things you need to do to enact this digital transformation. What are the three things you're telling them? So, you know, I think they need as a business to identify how do they want to leverage data as capital and what pockets of value do they want to go chase? Number one. Number two, how is their business being impacted by the fact that you have the rise of IoT and an inherently increasingly connected society and infrastructure? How is that impacting them? And number three is how do they evolve what they're used to doing, right? The new practices. Exactly. Because that's really in many respects, I like to say there's a difference between invention and innovation. Invention is the engineering act. Innovation is a social act. It's adopting those new practices that actually allow you to enact the invention and generate value. Exactly. Now, in our space, we, I think we have a very compelling, you know, renovate value prop, which is a cost savings where you can drive costs out. But the innovate use cases are the ones, it was like if all you're going to do is renovate, then you will fail. You will stall, right? Because it's not about cost savings. It's about how do you actually transform your business. And in the case of like the British Gas example, I use that as how they engage that end consumer is fundamentally changing, right? And so that's the question I put back in those conversations is how do you want to evolve your business and how do you leverage data as capital? Because the beauty of data as capital is you can actually generate multiple lines of interest off of a single data set, because you can derive different insights off of that. So it's not like a dollar, right? And single compound, it's multiple compound annual interest rate on that. But they have to chase the right use cases. Although we've also learned from great design that if you do the right thing better, you get rid of a lot of waste. And so coming back to your point, doing the right thing better often leads to cost savings. Yes, exactly. One inherently can drive the other. But if you're just driving it, then you're not going to transform your business. You're just going to continue to do the same or the wrong things worse. Exactly. Or want these cheaper. And that's, you know, that's difficult for enterprises because there's a certain way to do data management inherently inside in a highly structured manner. But I do think the rise of, like IOT I don't see as a market. I see it as infinite slices of prosciutto, right? It's a very thinly sliced set of market opportunities, right? But it's forcing people to think about different use cases and how that might impact their business. We see this set of capabilities, which leads to the prosciutto. Exactly. And it come up with a really nice sandwich. That's my Italian. Let's keep going. Good, hey, I'm loving it. I'm getting a little hungry. You have always made a big deal out of your partnerships, not being Barney deals, but being deep integration relationships. So you mentioned two here, Teradata and Microsoft. As the cloud becomes more prevalent, as things evolve and machine learning becomes the hot buzzword, et cetera. How have you evolved those relationships, specifically in terms of the integration work that you've done? Have you kept up that engineering ethos? And that was the thing, like with Microsoft, we could spend a lot of sweat equity on the Azure HD Insight Service, but if you look at that ecosystem, they have Azure Machine Learning, right? They have a whole raft of services, right, that you can apply to the data when it's in the cloud, right? So how that piece integrates with the broader ecosystem of services is a lot of engineering work as well. I've always said there's work to be done in our green box, but the other half of the work is how it plums into the rest. And so if you look at the AWS ecosystem, how do you optimize for S3 as the storage tier and ephemeral workloads, where HDFS is maybe a caching mechanism, but it's not your primary storage, right? It brings up really interesting integration modes and how you actually bring your value out into really interesting use cases, right? So I think it's opened up a lot of areas where we can drive a lot more integration, drive the open source tech in a way that's relevant for those use cases. All right, we gotta go, but Summit in Tokyo, is it next month? Yes, end of October. It's our first time, so primarily summits have been US and Europe. We had Melbourne, end of August, and we have Tokyo, end of October. I'll be, they're bringing the right hander out of retirement, so I'll be on stage in Tokyo. I've usually been behind the scenes on the last one. Throwing the slurv. Yeah, exactly, so I'm looking forward to it. It'll be exciting. All right, good, and then 17. You're going to start again in the spring. You're in Munich, right? We were in Dublin last year. You're moving to Munich this year. Hopefully the Cube will be back in Munich, all right? We love you guys. Let's make it happen. You guys do a good job. Good stuff in Europe, so thanks again for coming with us. Thanks for having me. Always a pleasure. All right, keep it right there. We'll be back right after this short break. This is theCUBE, we're live from New York City.


My current identity with Jesus is being seated because in 1 John it says as He is, so are we in this world. It doesn't say as He was, as He is, so are we in this world. What is Jesus right now? He's not on a cross. He's not roaming on the earth. In newness of life, He is seated at the right hand of God above principality, above powers. He is at the place of rest. And the Bible says as a Christian, you are not just identifying with Jesus with His death, burial, resurrection. You are identifying with Jesus also with Him being seated in the heavenly places. Come on, somebody.


Hello everybody, this is me again, Falstow from Cybertrainversity. We just got a very big, big request regarding about the NASDAQ TotalView, and you've probably seen the first video, it actually was, it's actually been a very popular video, didn't know it was gonna be as popular, and basically came out with one part of it, and now I want to come out with the second part of it. I want to explain to you the importance of the book viewer. Now, for some of you probably don't know what the book viewer is, it's basically, I kind of call it my version of a level 3 of trading, and in the book viewer, you're going to notice that there is some very important features on it that's going to help you, you know, kind of follow the money, because that's how trading works. Now, I'm a day trader, and day trader is what we look at, and remember I've been doing this for 25 years, we all look at following the money, finding where the dominated market makers and everything else, and what happened over the years, a lot of ECNs, which is what a book viewer is, it's stands for electronic communication network. Basically, it's where everyone can put their orders, you can put your orders out there. So I kind of went over a little bit of an introductory version of it in the first video, and it's been over, you know, I think over a year now, maybe more, that people kept requesting. Where's the second one? So I want to do a second one, want to go over it and show you a little bit more about it, a little more detail on it. So basically, if you notice here, this is actually the home page of NASDAQ's website, and you can see there you have all the features right here on the left-hand side. Now, I'm just going to go ahead and log in, okay, and you can see right here, he has a little bit of a description, exactly if you want to read more about it, what exactly it is, and all I could tell you is this guy is that the book viewer is, you know, the exchange, these ECNs make up close to almost 70% of the volume. Now, I know everyone is looking for free stuff, and I'll be honest with you guys, you can't be trading on free stuff. Free stuff is, the reason why it's free, because that's all it's worth. Now, the NASDAQ book viewer for non-professional, it's cheap, it's like $15 a month, and you know, and by the way, I'm not getting promoted by NASDAQ, I'm nothing to do with NASDAQ, but I'm just here to try to tell you where to find level three, because that's one of the biggest things we teach at Cybertry University. So you can actually go to NASDAQ's website, buy it, $15, a non-professional.  So what's going to happen is, where'd it go? There we go. Let me just log out and log back in again. All right, we click launch over here on the bottom right-hand corner. You see it right here. We're going to click launch, and what that's going to do, it's going to open up a browser, okay? It's a totally separate window. Now, I'm going to exit out of this because we don't want to get distracted, and basically right here, you're looking at the NASDAQ book viewer. So I want to just tell you how you're supposed to customize it, because let me just show you what happens. If you click over here, let me expand it. I don't like that. Okay. Let me bring it over here, and if you click on select columns, if I put all, if I check all these boxes, you're going to notice it's going to pick up all these windows. I mean, like all this stuff, it's going to tell you the time, the market maker, the market value, the total, the shares, but this is all just overkill, and this is why a lot of people get confused when they look at trading, and that's why a lot of people use charts because they look at these numbers, and they're like, what the hell is all this stuff? So what I'm going to do is I'm going to click over here. I'm going to show you how I customize it. First of all, I don't care about what time was the last time there was a new post put on the book viewer. I really don't care about the NASDAQ because it's all NASDAQ, you know, so I'm going to uncheck that one. Market value of buys and sells, that doesn't really is important to me, and I think that's about it. Let me just, I think I got everything. Let me click apply. Okay, so now you got three columns, which is realistically what you need. Now, what you're seeing right here is that you're seeing, you're seeing the levels right here. You're seeing like these, as of right now, like looking, we're looking at NASDAQ. Let me look at something a little bit slower for you. Let me be JD. You know, stock JD. Okay, so in the stock JD, right now, it's trading at 29.07. And if you look over here on the left, these are the buyers and these are the sellers.  This is exactly what's happening on the market right now. And you could see that they're about roughly, I don't know, one, two, three, four, five, six people that are looking to buy it at 29.08, and you can see it's changing. There's several people here buying it at 29.07, probably like 15 people. And these are the basically, this is what you have as in the amount of shares that look gonna be bought and the bid. Now, what I do is this.  So if I go out there, I will go out there. So I'm gonna uncheck this box right here. And what I'm doing is I'm aggregating the orders. What that's doing is it's taking all 10 orders.  It's really the three ones right there. Here we go. Click OK. Click on Com. All right. So basically what I care about, I don't care about the 13 buyers out there looking to buy it at 28.08, which is if I unaggregate that again, that's what it looks like. OK, because what happens, I lose the depth underneath it. And it's not how many orders that make the stock go up and go down. It's the amount of shares. Remember, one thing is very important. How stocks go up and go down is supply and demand. So right here, you have a lot of supply and demand. And then what we're looking for is on the shares. And that is what makes makes a support and resistance levels. So one thing that I came up with a word, I kind of invented this word about like almost like 20 years ago, watching a show called a movie, I'm sorry, called the Titanic, had the Titanic sink, the most unsinkable ship, it got sunk by a iceberg. So I came out with this word icebergs. And what I teach here with my traders is we try to find these iceberg orders and these iceberg orders are what we're looking at over here on the book viewer. We're looking for those big block orders. Because remember, when you look at a chart, which I'm going to make another video, it's going to come up next right after this. And when you look at a chart, you want to see where we're basically looking for support and resistance levels. What really makes support and resistance levels buyers and sellers? So when you look at here on TotalView, you're noticing, like, for example, sellers, you got 3,000 shares, 3,000, 2,700, 1,700, made up 12 orders, 12 different people out there. So, you know, but that isn't really, you know, it's a lot of shares, but you know, really is a lot of shares. The nine different orders out there of the person that's trying to sell 16,000 shares at $29.19, or the guy that's looking to sell this 34 orders of 20,000 shares at $29.50, or how about this one? The two really big orders are down here, $29.29 and $29.30, 13,000 shares and 62 different orders out there making 42. That, ladies and gentlemen, is what you call a iceberg order. Now, once again, how do stocks go up and go down? Supply and demand. So what do we look at on TotalView? We look at on the book viewer, we're looking for big, big iceberg orders. We're looking for, you know, things that are going to prevent the stock from going to higher or things that are going to help support it from not going any lower. So there is your basic explanation of what is the book viewer, what we're seeing. Now, if you want to subscribe to me, go down to the bottom, click Subscribe. I'll send you another alert on this because I'm going to get in more detail about the book viewer and I'm going to compare it with other platforms specifically like the TradeStation platform, which has a better book viewer, which is more of an in-depth level three. And I'm going to show you how to apply it towards a chart and see how these big iceberg orders are, how they affect the actual chart itself. All right, so once again, if you enjoyed this video, click that you like it, share with your friends and look for the next one that's coming up. Thanks, everyone.


Out of all the bars out there, Polybar is my favorite one, and it's not even really a close competition. Polybar is the bar that I use with basically any window manager that I use. Even the window managers that don't really support Polybar, I try to use Polybar there because it's just really good. Now, I know that other people will argue that other bars are better, but I don't really care about that. Polybar is the one that I like the most, and it's the one that I've spent the most time learning how to customize. So what I thought I would do today is talk about five hacks that I've learned over the last few years that allow me to take my Polybar usage to the next level. So let's go ahead and just jump right on in because these are kind of cool. The first one on the list is the include file option that the config file gives you inside Polybar. And what this basically allows you to do is link to other files outside of your configuration file. And why this is good is it means that you can create files that contain parts of your config, but that aren't actually included inside of the config. So for example, I have a theme file that I link to through the include file options. So if I go to that, that has all of my color variables. I leave them all there, and that allows me to easily change what theme I'm using by just changing that particular file instead of having to change the entire configuration file, which is kind of cool. I also have a file where all of my modules are stored so I can go to that file. And this is just all of my modules. The other good thing about this is that it allows you to kind of be a little bit more organized in your configuration file. You can have just your bars in one place, your theme in another place, your modules in another place. And it kind of makes it so that your configuration file isn't so damn long, because some configuration files can be very long, especially if you're using a lot of modules. I've seen configuration files run up to 2,000, almost 3,000 lines, and while that doesn't necessarily mean that your poly bar is going to run slower or anything, it just makes it kind of hard to scroll through when you're trying to find stuff. So by separating things out using include-file, you can have your configuration file be a little bit cleaner. Okay, so the next one is color variables. Now basically what this is good for is it allows you to have variables set in one place and then you can just call those variables wherever you want to use them. So here's how you set variables. You can do this inside your configuration file really easy, just like this underneath a colors banner. And you just name the variable, hit equals, and then the hashtag or the hex of the color that you want to call or assign to that variable. And then when you want to call that variable, no matter where that's at, whether it's for a background or a foreground or for a text color, whatever it happens to be, you call it just like this. You do dollar sign, squiggle bracket, colors, dot, and then the name of the variable. So in this case, sign, and then you close the squiggle bracket. That's how you call the color. And this means that you don't have to always have to know what that particular hex value is. You just have to know what it's called. So if you know that you want to use the sign color, you just use colors that sign instead of knowing that it's pound, whatever it is, you know what I mean? You don't have to type those every single time. You just type in colors dot sign or colors dot green colors dot whatever, you know, whatever you've named that particular variable, you can then call that variable here without having to use the hex code over and over and over again. So that will save you a lot of time. Okay. The third one on the list is per module fonts. Now in your configuration file, somewhere you will have a few lines that look like this here right here. These lines here. And if you've ever wondered why you have multiple lines like this, you might not know that you can actually use these in spots wherever you want.  If you have a situation where you want to use one of these specific fonts, you can do so by just calling content dash font equals four. Now this may be a little bit different depending on where you are in terms of the configuration file. So in this case, it's content dash font equals four. So this is the fourth font. If you were going to do this in a situation where the object that you're trying to modify is called format, you do format dash font equals four. So in this situation here where the output of the module is format, you do something like this. You do format dash font equals four or whatever the number is. Now remember, you started at zero, that font dash zero is actually font number one. So this is calling the fourth font, not font dash three. Okay, just keep that in mind. And if you're in a situation where your font's not actually getting picked up, make sure you're calling it the right thing. So like I said, it could be either content dash font equals whatever or format dash font equals whatever. It really depends on what this here is. So sometimes they use format, sometimes they use content. Just know that that could be different depending on which module you're using. That tip is really good for if you want to use specific icons in your bar from different fonts. You want to use some from nerd fonts, you want to use some from font awesome. You could do both. You just have to specify that within the module. Okay, so the next one on the list is kind of nerdy. So one of the things that you might struggle with as you're doing your rice, if you are trying to get the spacing between your modules correct. Now there are several ways you can actually do this. The first way is format dash padding. So this one like the one we just talked about where you do per module fonts. It can be either content dash padding or format dash padding or a couple of other things. It really depends on what module you're in, but you can assign specific padding just for that particular module in almost every module that is included with Polybar. So you can change that to whatever integer you want. So it can be one, two, three, four, whatever. That will create actual padding around both sides of the module. So just keep that in mind. Now if that doesn't work, you can also do just for the prefix. So if you want to create space just around the icon. So that's what this look line looks like format dash prefix dash padding equals one that creates padding just around the icon. Now if neither of those work and you want to get a little bit more nerdy about it wherever the module actually tells what to output. So in this case, a lot of times you'll see this type of thing here percent time percent, whatever percent output percent, whatever it happens to be. If you want to create space between or around the actual output of the module, you can do something like this. So you do percent squiggly bracket capital T three and then squiggly bracket. And then you have to end that and surround the output with percent squiggly bracket T minus squiggly bracket. So why that works, I have no clue. It has something to do with the way Polybar reads the output. I'm sure there's some technological stuff that surrounds that. Absolutely that somebody else could explain to you. But this is the way you can put some space around that output. And you can control how much space by changing this number here. So you can use whatever integer you want there and the higher you go, the more space you'll have around the output itself. Now remember that this is just the output. It doesn't have anything to do with the icon. It will leave the icon in the same place. There's actually a fourth way that you can put some space in between the icon and whatever comes next. And that's simply by wherever the prefix is. So in this case, the icon is almost always called the prefix. If you put a space just inside of the parentheses, wherever you've put the icon, that will actually give you a space afterwards. Or you can put space before it by doing the same thing. That is not the best way of doing it. But if all else fails, putting some space inside of those quotation marks will give you some space before and after before or after the icon itself. Okay, so the last hack on the list is adding transparency to Polybar. Now there's a couple of ways you can do this. You can mess around with your compositor. If you use something like PyCom, you can use that to add transparency to Polybar. It doesn't always work. So it's kind of finicky. And I've had it break Polybar many times. So it's not the best way of doing it. Polybar does actually support transparency by itself though. But there's not an actual opacity variable that you can set somewhere in the configuration file. Instead, you just have to use the Pacific hex code for the transparency that you want to use. So in this case, what I want to do here is show you by adding transparency to the bar that I'm using right now. And you do that by adding two letters to the front of your hex code. So in this case, for the background, I want to make the background transparent. So I'm going to use AA. And then I'm going to write this. Now, if I reload my one dark rice here and do this, you'll be able to see now that my Polybar is actually transparent. So if I change to a different workspace, you can see that it has some transparency. Now, it's not completely transparent. So how would you get it to be completely transparent? The answer to that question is that you increase the value of that initial two letters. So BB is more transparent than AA. CC is more transparent than BB. Same, you know, just keeps going on and on. Now, the thing is, is that by the time you get to ZZ, you're still not fully transparent. Instead, what you actually want to get fully transparent is 00. And you save that. And then if I reload my one dark configuration file now again, you'll see now that this is fully transparent. Now, it's not the best thing in this current situation because it doesn't really allow the text to show up. But if you want your Polybar to have transparency and you want different levels of transparency, that's how you do it. You use AA, BB and so on and so forth to get to varying levels of transparency.  There's no background there whatsoever. So that is transparency. So those are the five little tweaks to Polybar that I find very useful. Honestly, the one that I like out of all those is the include file because I have somewhat of an obsession with keeping my configuration file as clean as possible. I like to have them organized in such a way where I can kind of know where everything's at and I don't have to scroll for 10,000 lines. That's my favorite one out of all of them. I hardly ever use transparency on my bar for whatever reason. I just kind of can't stand it. But I know a lot of people like that transparent bar looks. So if that's something that you like, maybe that can help you. So I hope one of these at least was something that you didn't know. If you have other tweaks to Polybar that you're interested in learning, let me know in the comment section below. Maybe I'll make a video about it someday. You can follow me on Twitter at Linuxcast. You can follow me on Macedon or Odyssey. Those links will be in the video description. You can support me on Patreon at patreon.com slash the Linuxcast. I don't know why that went really fast here or why everything's all kind of like stretched out there. I changed the graphic earlier today and things are just kind of all over the place. So I apologize for that. Anyways, thanks to everybody who supports me on Patreon YouTube. I really truly do appreciate it. I will fix this graphic so it doesn't look like it was stretched a lot. I don't know why that's so... Look at the logo there. Ooh, that's really stretched. Anyways, thanks for watching. I'll see you next time.


it's teeny with colored valley cooks. Hope you're having a great day. We are about to fry some steak. It's tenderized steak and I'm gonna make it into fingers. We're gonna fry up a little okra and have some corn on the cob. I'm gonna use some flour, salt and pepper and a little bit of roasted garlic powder. So we're just gonna start off with some flour in my bowl. I'm gonna go ahead and get the okra started. This is frozen okra and I'm just gonna throw it down into the flour and I've already busted it up on the counter to break it apart. Put some pepper in it, some salt and I'm just gonna make a mess. That's what I'm gonna do and I'm just gonna mix it up in this flour a little bit. Now it's gonna thaw just a little bit before I fry it and that flour will be stuck on there even better. Now what we're gonna do is we're gonna take two of these. I am going to use an egg wash for my meat and we're gonna cut this meat into strips. I'm gonna add just a hint of buttermilk in there. Here's whole buttermilk. It doesn't matter just use what you got. If you don't have buttermilk use regular milk. Just a little bit so it takes. Now what we're gonna do is we're gonna put some flour in here. It's self-rising because it's a little crunchier than plain flour. If you've got self-rising use it. If you don't, don't worry about it. Just use plain flour and I'm gonna put these over here for a sec and what we're gonna do is we're gonna cut these in strips. So I'm gonna cut this into strips. Nana was making this the other night when Chris called and he was like I want you to make me some like that. That's okay. So I'm gonna cut them into fingers and these are gonna be steak fingers. I turned them around because if I cut them the other way they'd be extremely long fingers with me. We're just gonna season them. Then we're gonna dip them in the egg wash and in the flour and we're gonna get over here and fry them in a skillet. All right I'll use some garlic powder. You can use garlic salt whatever you got. I really like the taste of this garlic powder. Oh my goodness. I really like the taste of this garlic powder. It is really wanting to come out of there fast. I don't want too much on it because Chris is not that crazy about it. All right so then we're gonna do pepper. We're also gonna while my hands are dry I'm gonna salt and pepper this okra. Good. Now I'm gonna pick up my meat and put it over here in my egg wash and buttermilk and just coat it good. Now I'm gonna dip them in the flour and I'm afraid I don't have enough. I'm gonna get a little bit more. You can always use the flour that's left over the same night in gravy if you want to use the drippings for gravy but I'm not making gravy tonight. So you're just gonna take each of these and you're gonna get them in this flour and you're gonna coat them good and go ahead and batter all your meat before you get started so that you don't have them all going into the skillet at different times and then you can't time how long you've had them in there because you know if you're a good cook you might can do that but to be on the safe side and to make it easier on everybody it's just better if you just wait get it get it get them all battered and and then drop them. So if you're in a hurry for supper you can always make these. We're gonna drop our okra before we drop the meat because it's gonna take it longer. So after you batter these and you get your okra good and coated we can go over here and start making sure we got some preheated skillets before we drop everything. And I didn't put much on the oak or a matter of fact I didn't put anything on it but salt and pepper. I'm gonna put I'm gonna pick it up and put it in here with this leftover wash and use the rest of it on my okra and then I'll put it back in here in the fire. I don't have to get every one of them as long as I get a little bit of it and be double coated for me. I know we're just gonna move it around and what's left in my dish here just like that. I think it's ready to draw. So we're gonna get over here get our skillets. We're having a fried supper tonight. I guess what over here that I used to fry up some stuff the other night. So I've got this skillet heating up it's got a lot of oil in it. I'm gonna put some of this oil into this skillet for the okra. Like I said this is some oil that was left over after cooking one evening and it was just used for veggies so I was gonna reuse it anyway. Still got some drippings down in the bottom but since I'm not making gravy tonight I'm not worried about that. We'll be frying our okra in this skillet on the hottest I've got and we'll be frying our steak fingers in this skillet and I've already got my corn ready in the microwave. While that oil is getting hot I'm gonna scrape off my counter and put up my flour. Make a habit out of making two fried foods at one time. I typically only fry one thing but tonight that's just what I grabbed and so we're gonna make it happen. Not quite hot enough for me so I'm gonna check on see how hot the okra skillet is. Okay the okra skillet is hotter and that's one reason I got this skillet is because it is a high-conductor material compared to cast iron so I wanted to start using it for stuff that I wanted to fry quick like okra, squash and stuff like that. You can tell it's gotten quicker, hot quicker and it'll also get more uniform heat underneath it as well. Just a cheap aluminum pan really. That's all you need to fry stuff. Now the cast iron is fine for the steak but it just takes longer to fry up pretty over than it will for us to fry up the steak. Put the okra on, the meat on when it's done. I'm gonna put a lid on this to make it hotter. It's gonna make it hotter for my wifey. And we're gonna get right here and start the steak frying. I got a lot of oil in here so it's almost gonna be like a steak frying. I'm gonna get about two more pieces in there and then I'm gonna set a timer for this meat. I don't want overcook it so I won't put time on it for three minutes and then I'll flip it over. Alright well that's doing good and we got a couple of minutes. We're gonna clean up. I try to clean as I go and that way I don't have so much to do at the surface. I love my dishwasher. I use it too. I'll turn the back part. I just put it all in here. I ain't gotta worry about it. Santas. Put it for the next time I cook. Now I don't put my large knives, my nice knives in the dishwasher. I do clean those in this water. I have to eat. And I'm not putting my nice non-stick skillet in there. It's still out from this one. There you go. Soak it in the kitchen while you're waiting on something else. That way it's a heart on you. When it's done, you clean out the circle. If you've never had one of these grubbies, they're so nice. I love mine. You can get stuff out of me, you know me? Without it getting all stuck in there and it just rinses right out. And it's just the best thing since I don't know what. I know it's time to flip this. There it goes. That's what's great about using your timer when you're cooking is the fact that you can walk off and leave it and not have to worry about overdoing it. I'm going to take the lid off of this over here and we're going to flip these pieces of meat. The only thing I don't like about this cast iron, it does not get hot enough that it gets my meat and stuff brown before it's done. I mean, it doesn't get brown enough and then it makes you feel like you didn't fry it long enough. Alright, we're going to turn the timer back on for three more minutes. I'll get it right in a minute. We're going to get over here. I'm going to see how our okra is doing. Now you don't want to flip your okra until it's time to flip it. And it ain't time yet. It's got to be brown and it ain't even close to being brown. So if you've got a gas stove like me, you just got to have patience and sit there and wait on it. The only reason I'm doing that is to try to get it harder. So we've still got a few more minutes. So now I think I'll run me some good dish water. I've gotten rid of most of all the dookies stuff that we used to bread everything with. Now I can run some clean water without getting it all nasty with the power. Now I used to have a double sink. When I had a double sink, I always had water in when I started cooking in one side. And now it's a little different because I only have one sink. So sometimes what I do is I use a big bowl and I just keep my dish water in a bowl. The steak's about ready. 12 seconds. So I've got me a plate right here and we're going to put it up on this plate. It's got pretty brown. Looks pretty good. Okra over here. Let's drop some more. Let me check on my okra first. I'm going to get them all in here so I don't have to do another bag. I hope it's getting brown finally. Now somebody said they had some of these and they love them. And if somebody said they had some, they didn't last long. So I'm not going to put mine in the dishwasher for sure. I'll see if it'll last a little longer. But I mean they're not really expensive so you're going to get what you pay for. So sometimes you better off just buying a cheaper one. And using it for half a year or the full year is not thinking it's going to last forever. Now our steak's ready. This is our second bag. I hope y'all got to see me bring up the okra if you didn't. I'm sorry. You can just see it plated. I'm going to turn off my camera by accident. I'm going to turn that off. I'm going to bring y'all over here. Let's y'all see what we've put together. So we've got steak fingers. Next time I'm going to get the corn. Corn was in the microwave. So I'm going to flip it over and let it hide right on that side a little bit. Butter it. And we're going to have supper. I just put a little water down in there and put it on in the microwave for 10 minutes and let that be that so that we would have a starch for supper. They're crunchy and delicious.  One more thing before I go. I don't typically do that with my okra where I bread it and then toss it again and then bread it. Y'all this okra is so crunchy. It's crazy. Some people like to put their okra in ranch dressing. If you like crunchy okra, this is the way to do it. I hope y'all have enjoyed watching me make steak fries tonight. Y'all have a blessed night. We'll see you next time. On Collard Valley Cooks. Where we cook, like mama did. Bye y'all. Love ya.


Ever heard the old phrase strike when the iron is hot? Well, it's never been hotter than now. All this month at Appalachian Wireless, you can get the Samsung GS6 or the GS6 Edge for just one penny when you send them for service. The Galaxy S6, normally $49.99, now just a penny. The Galaxy S6 Edge, normally $99.99, now just a penny. Strike now while supplies last. Better service, bigger savings, serving you for the last 25 years at Appalachian Wireless. Memories are precious, and after a house catches on fire, memories are usually all that's left. After the Bailey family's home was destroyed in a fire a little over a month ago, the family is still going through heartache. On two separate occasions, the few things that were salvageable from the fire were stolen. The belongings that I got, probably, as you can see, ain't even worth picking up on the way really, but it's my stuff. Chainsaws, a trailer, a bike, a wedding arch built by hand, an air conditioning unit, and much more were taken from the property. After the first theft occurred, Bailey is doing everything he can to prevent it from happening again. I'm actually getting ready to pull a camper in here and live every night away from my family just to keep these off my grounds. Well, there's no power here yet. I've got numerous trail cams. Now after yesterday's theft, the trail camera was helpful. I noticed stuff missing. I run and checked my trail cams, and I had them on the camera. They're last in place, they're truck, them. According to Bailey, the alleged thieves are from Louisville. If you have any information regarding the case, contact the Pike County Sheriff's Department. Reporting in Hatfield for EKB News, I'm Shelby Steele.


Hi, so one thing that I want to emphasize that we talked about the previous slide was also regarding this variable argument list variable length argument list. So once you want to actually supply an argument list with a variable number of arguments then we can use this standard of args keyword this keyword actually describes this is already set in the in the language for a variable length of arguments, so it is read as a list essentially and then essentially now you can go through the list to understand of each of the arguments and then parse them separately, so here this is the example that we saw previously, so here the proc name is some which actually returns the sum of set of integers and then we do not specify like all the integers separately just specify args as the keyword, so inside this proc we said basically the s to 0 and then we can actually parse this args as a list, so for each I $ args we just increment s with whatever the value of $ I so and then we return that the sum basically yes, so here simple example some 1 2 3 4 5 the answer will be 15 because every time it is implemented by that much, so it is 1 plus 2 plus 3 plus 4 plus 5 if you say some 10 2015 then you the answer will be 45 and then if you just say some without any arguments then it returns the 0 itself and that is why 0 here, so this kind of using a variable length is a very useful because now we can extend this concept to many other things, so let us see one way to extend this concept, so oftentimes you see in procedures you do not want like positional arguments and you want non positional arguments what do I mean by that, so a positional argument for example for this proc, proc name foo we have an argument 1 argument 2 and it needs to be exactly specified when we call this procedure, if you miss it then it won't be proper for example in this one it is actually like I purposefully wrote this way, so I hope you remember this format actually when you specify a argument and another value inside the braces that is actually the default if you do not specify then that is what it takes the value of, so here say like I mean arg 1, arg 2 you need to specify exactly in this order otherwise the this function will fail, so now let us look at the non positional argument, non positional argument we can say like I mean the same thing like in any order only thing is we prepend with arg 1 dash arg 1 and then give the arg 1 and the share 2 give the arg 2 you can write like foo arg dash arg 2 and then something some value and dash arg 1 value 2 this is also possible because now it does not matter where you specify these values since you are prepending with the arg it knows like what exactly that to put in, so how do we write these kind of procedure this is one of the curious examples essentially like I mean what you will be seeing more and more in real world problems, so the way to do this this kind of procedure is as follows, so here a simple example the same procedures some in the keyword arguments now this is as you know it is a list and this list is essentially like now we should be like this basically like arg 1 or 2 all these things are there, so I am assuming that you will be specifying like dash 1 and the first number and then dash 2 second number things like that now you can actually inside the program you can look for those keywords and then you can mark those things exactly as here it is a simple increment of s with whatever the next value is but this could be a complex program right here and then once you write this program here and then same thing for each of these dollar values like if it is to then do something three then do something things like that once you have that and then return actually now you do not have to specify like I mean if we have three numbers you can specify in any order dash 1 and then first number dash 2 second number dash 3 third number this is one way to specify or you can just say like dash 3 the first number dash 2 second number and then dash 1 the third number so basically like in this kind of a method actually the procedure call itself or the way that you specify the arguments does not matter you can get actually the results with any kind of order that so that is mainly like I mean one of the things with this positional and non positional so you can use this array concept to convert the positional arguments into non positional arguments okay and one more thing is here instead of using if you can also use the switch command I hope you remember the switch command the switch command is essentially also like doing similar kind of thing where you can use like it is equivalent to multiple if command so another application for these kind of this arcs concept is you can use this to also extend the procedure to add documentation for example the help commands and also the manual pages you can easily extend and add those commands into the into your tickle procedures so again I think these are like very very very useful and the helpful way to do this basically some tickle environments provide like libraries that already contain these extensions to add the documentation the help commands for example in the synopsis tickle environment you get like a couple of things one is the parse proc arguments and also procedure or proc attributes so once you set that proc attributes that pretty much you can use it for describing your help commands and manual pages and then the proc that that one is also like fairly simple to use essentially the way to use will be just give like there are like few fields that you describe on the procedure attributes which can be considered as attributes and then that is what will be used to process or to define that attributes so mainly like I mean you can specify the procedure the it is the the command it is also called like define proc attributes and you can specify your procedure name followed by dash info and then that info will have so basically like the define procedure attributes and then it will specify you can specify the procedure name and then you can specify dash info and then you can specify a string with actually contains the information to display and then you can also like do some command groups and these command groups can be the arguments that you are defining and then here you can also define arguments and then this one will be like and what kind of arguments you have that is args and then basically like I mean what is the help command that will show and then what kind of type of argument it is and then this you can describe for all of them and then once you have this actually this is a group so once you define this whole thing this can be used as the documentation so once anyone like I mean wants to write the write and the help procedure or any type of arguments or any type of help procedure or the manner of pages they can use this command to describe them and then it will be it will be together with the procedure usually you have the procedure you write the procedure basically body and then at the end you will add the procedure attributes and then once you have the attributes then now the tickle interpreter can actually take the whole thing and then pass it and then if you are just calling the procedure that shall it will display the help information from the different walk attributes so I think this is this is another way like I mean another e learning thing so I want to also like give you the basic rules in tickle and then basically like I mean this will give you a good the framework when you start doing your typical program so rule number one this we saw earlier white space separates command name and each of the arguments so when we do the commands essentially like its command then followed by white space then R1 space R2 etc etc so this is one thing that I want you to understand and then the the other thing is also like I mean new lines and the semicolon separate the most so you have command one which is all of these arguments and then command two will be in the next line or you can say command one and then semicolon and then command two so now the question is if one of these arguments itself has a blank space then how do we or a new line how do we how do you write that so in that case essentially like I mean we need to use the grouping so the grouping is essentially through the quotes or through the braces so now let us see like I mean how back is done so that comes to the tickle rule number two the rule number two is on grouping so number one is this curly braces this prevents all substitutions by tickle interpreter so these two are very important prevents substitutions and tickle interpreter so as you recall the way that tickle is done is we have the tickle interpreter and then followed by parser so all the commands first go through the tickle interpreter it is interpreted into like multiple words and then that is sent to the parser and then the parser actually understands what the command is and then what is needed for that command so one thing to notice essentially like this once you start the group with the brace it groups all characters until a matching another brace is found and it also like prevents all the substitutions so like now let us look at this particular command while we started the brace as you know like the while has some two arguments this is argument one argument two the one is usually a condition and then argue two is the body so this condition we say basically expression $I plus $J less than 10 then do this while this is less than 10 is doing this body do you think this program will work a why or why not so here you look at this one basically there is a command substituting right here and since we are using the curly brace this prevents all the commands of situation so that means that once this is passed to the while while while is passed into the tickle interpreter it does not return anything it does return to both things so this will not work you need to actually like do this separately and then put it inside so that is one of the rules so now let us go to rule number three rule number three is essentially use the codes for weak grouping here substitutions are allowed by the tickle interpreter it groups all characters until a matching code is found one thing to note is there is no nesting of code so you cannot say like code and start something like I mean some $X plus then you can another start and then Y and then in this this does not work because up to here it is taken as one and then this code and code is taken and so your dollar Y is left with nothing so the nesting does not work in these kind of rules so this is another heating that I want you to keep in mind now let us look at the next rule the next rule is the backslash substitution this is used to code special characters essentially so here you can see one interesting program while foo you have a command or one or two return and here you see that basically like the new line is actually escaped with this this backslash so backslash and then the new line so what do you think this will happen so this when it executes this command this this backslash and the new line is replaced with the black space so this is as good as saying command or one or two so that is how this will work and then you can see that actually like for the when we start the curly braces we don't use escape new line essentially the reason for this is once you start the braces the command interpreter groups everything include inside that inside the two braces are basically like everything until the matching basis form so that means that basically these are automatically grouped into a single argument so we don't have to really do that and then here the tricky part is basically like the command interpreter me group everything and then sense it to the parser and then the parser first of all understands the command and basically like that it knows that it has two arguments complete that command and then it also sends this thing back to the interpreter which is basically a return to return the value so this is the the backslash substitution now the rule number 5 is the variable substitution we saw this also like I mean the first lecture of the second lecture actually the dollar causes the variable substitution and here the dollar and the variable name are replaced by the value of variable so whenever you say like dollar X and then it it finds what is the value of this X and then it replaces dollar X with the actual value and then finally the rule number 6 is the command substitution rule here essentially we use the square brackets to delimit the command one thing to note in command substitution is nesting of commands are okay and then everything including the square brackets is replaced by the command return value so this is another key thing key learning from this one so you can use this kind of method to actually do the command substitution and then the command replacement so in summary essentially like I mean you need to understand these six rules so in this module actually we went through quite a bit of tickling mainly we started describing the procedures I think you have the basic understanding of the procedure where we define the keyword proc and then we used the procedure name followed by the list of arguments and then then the procedure body so there are three params for the proc command itself and then once the procedure is defined then they just behave like built-in commands for example you can say like sub 1 3 will return value 2 and again or sub 1 of 35 this is the sub 1 is the procedure name and then the 3 is the argument here and then sub 1 of 3 returns to does it basically like subtract 3 from whatever I mean 1 from that argument value then the other thing that we also saw was the arguments can have the default values for example here decrement x and then y y is the another argument so usually like x-y but the default value of that y is 1 so if you don't specify only like decrement 5 then the answer will be 4 say decrement sorry DCR 5 4 then the answer is 1 so because like the default value for the second operator is one in this particular proc so this way like you can define multiple default conditions so this is the first thing that we saw here we saw like a quick example of the problem and how we can it will work or not work and then we started defining the scope because we need to set the scope and then if you use the variable inside a procedure you need to have explicitly the scope from outside so the way to give the scope to the variable is by using this keyword global and then the global needs to be specified inside the procedure in order to get the transfer from outside into into the procedure one thing to note is if you don't set this x and you are just using the global X it still does not work you need to the global itself does not set anything or X so that is another key thing so you need to have that variable set outside then you can use global to transfer that value into the procedure so then essentially so that that is what is shown here essentially so here the just by specifying like $1 does not mean that basically like it will get transferred you need to make sure that it is defined somewhere else and then you can use that inside this and then there are two other commands essentially like a poor and level they can they help you to pass some the bad the names by reference so here one quick example is implement one name up for one one name and this is war so what you can do is basically like now and then the and then we are actually like set the war to $ war plus one so now what happens is actually like and you can actually communicate this back to another place where this war is getting called and then this one here denotes the level basically up to there you can actually like send to send this variable so here war is only sent to the procedure that is outside of this and then if you want it to be even higher then you need to increment this one to two and things like that so that's the level naming essentially and then up level is similar kind of thing only for used for sending scripts from one level to the next level so and then we saw this variable length procedure and then we also noted like how we can use this for the both you know defining the positional arguments as well as non-positional arguments so how do we do this this is something that we saw and in this simple example actually go into more details so and then then we also like had some simple examples to remove those things and we saw like how we can document these procedures and then we also covered some little bit of error handling as to what kind of what is the error info and things like that essentially so we can use this error info to and then we can keep track of what is going on this again so with that I am also like I want to give you like some coding guidelines as to what you can do so here a couple of things that you want to make sure one is always use comments to match closing braces so because the braces are quite important so like when you close any brace make sure that you put that command out there so that whoever is reading they know that they have to close the comments the other one is need to add you can add the echo commands wherever possible so this also helps to provide some feedback and that by that people will understand what you are trying to do and what is actually printed out in those commands in the commands then make sure that you test your code in small chunks and then always use this error info that is what we saw in the debugging procedure and then finally we also saw like the six rules for effective tickle coding the rule number one is to understand the concept of white space which separate command name and all the arguments and then the new lines and the cosmic column separate commands so this is a very simple one just understand this one and then the rule number two is that grouping essentially the curly braces which prevents all the substitutions by tickle interpreter so here the keeping is also this tickle interpreter that I mentioned and then for the soft grouping essentially use the quotes or soft grouping this actually substitutes all the variables essentially and but there is no nesting of the quotes also the rule number five is to use the backslash substitution so how that works that's the keeping here you can review this one and then actually sorry this is the rule number four and then rule number five is the variable substitution which is by using the dollar here the variable is whenever we specify the variable name with the dollar that variable name is replaced by the value of the variable and then finally the last rule is the command substitution which is using the square brackets and the square brackets delimit the command here we can nest multiple commands essentially that we can start like this it's here and then blah blah blah and then start another one who and then who to and then close all of them so this is allowed so I think this basically as most of the basic tickle programming is all covered in these modules we will look at some of the advanced concepts from tickle in the next lecture and then after that we will start looking into tk as the next one okay thank you very much bye.


Welcome back to Kids Fun Science. My name is Ken. Today's experiment is moon sand. As always adult supervision is required. What you need for this experiment is flour, baby oil, a tub, and some measuring cups. First you're going to take eight cups of flour and you're going to dump those into your tub or your bowl. Then we're going to add one and a half cups of baby oil and just pour that on top of the flour. And one more step and then we're going to mix with our hands until all the clumps are out. Fast forward this to get to the good part and once all the clumps are out you can add scent or food coloring and and then you're ready to play with your moon sand. You can make different shapes, mold different things. A good thing is it's never going to dry out. It's always going to be there so go ahead and put it in a ziplock and you can use it again. Nice fun texture to play with and a kid favorite. So I hope you enjoyed this video and remember to like and to subscribe. Thanks for watching.


Then, we will see what is the impact of tax on price and quantity. In this case, we will take the case of the unit tax, which is generally the tax per unit of output sold and we will see how it generally affects the price and quantity. And whenever there is a imposition of tax, who generally takes the tax burden, whether it is the buyers, whether it is the seller that will analyze or that will see through the graphical representation. So, in this case specifically we are talking about the unit tax, which is that is tax per unit of output sold. So, now let us see different cases and different scenario, how the tax burden gets shared between the supplier and the buyer. D0 is the demand curve, S0 is the supply curve. There is imposition of tax and the imposition of tax will represent through the decrease in the supply and that leads to decrease in the supply from S0 to S1. Now, this is the equilibrium quantity, this is the equilibrium price. Now, there is imposition of tax and that leads to change in the supply from S0 to S1 and here we are representing the amount of tax through the change in the supply. So, this is the total amount of tax being imposed. When the supply moves from S0 to S1, the equilibrium point change from E1 to E2. In this case also the price and quantity changes, quantity is Q1 and price is P1. What is the total amount of tax? This is the total amount of tax. So, in this case, now who share the taxes over here? Initially, demand curve is D0, supply curve is S0, equilibrium quantity is Q0, equilibrium price is P0. Imposition of tax that leads to shift of the supply curve from S0 to S1 and the difference between two supply curve gives us the tax which is equal to P0 t. Now, this P0 t, who is paying how much of this P0 t? Due to change in the supply, now the producer has increased the price from P0 to P1. So, this P1 and P0 is paid by the consumer in term of increase in the price and the rest of the amount of tax that is P1 by t that has to paid by the supplier because this part of tax is not being covered by increase in the price, so a supplier or seller. So, imposition of tax is there that leads to shift in the S that is decreasing the quantity increasing the price, but the increase in the price is not equal to the amount of tax being imposed. So, there is some more amount left from the tax amount that is P1 by P1 and t. So, this tax is the tax burden is shared by both the consumer and the producer. P0 P1 is paid by the consumer in term of increase in the price and P1 t is paid by the buyer paid by the seller or paid by the supplier because partly it has to be shared for both the producer and the consumer. So, in case of unit tax imposed if the both the demand and supply curve they are maintaining their original slope in this case or the original relationship in this case the partly it has been paid by the consumer in term of increase in the price and partly it has been paid by the producer. Now, we will introduce the concept of elasticity of demand and elasticity of supply to this supply and demand curve and then we will see how the tax gets shared between the consumer and the supplier. What happens when there is a perfectly inelastic demand curve? What happens when there is a perfectly inelastic supply curve? What happens when there is a perfectly elastic and perfectly elastic demand curve and perfectly elastic supply curve? So, first we will take a case of a perfectly elastic demand curve.  It is parallel to the horizontal axis. So, this is the demand curve. Now, this is the supply curve, this is the quantity. Now, there is a imposition of tax that leads to shift in the supply curve curve from S 0 to S 1. Now, what is the amount of tax? The amount of tax is this much. Now, who is paying the tax over here? It is not that because price remain constant or very small change in the price, the quantity demanded changes. So, there is if you look at there is no change in the quantity demanded and if there is no change in the quantity demanded, the tax amount cannot be or may be if there is a possibility to increase the price that is not possible here. And that is the reason if you look at even if the quantity demanded is changing, what is the change in the price? May be the change in the price is this much. So, now, who is paying the tax over here? Whatever may be the price because any small change in the price that leads to change in the greater change in the quantity demanded. And that is the reason the in this case the entire tax is paid by the supplier. So, in case of perfectly elastic demand curve, the entire tax is paid by supplier because for any small change in the price, the quantity demanded generally changes in a very quantity demanded changes drastically because this is the case of a perfectly elastic demand curve. The consumer is more sensitive in this case that is the reason the entire tax burden is paid by supplier because they are not able to transfer the tax burden in term of increase in the price. Because if they will increase the price that will lead to shift in the quantity demanded and in term of that also they are going to lose profit if there is no sale of the product or if the quantity demanded decreases. Then we will see the second case that is the perfectly elastic demand curve. So, in case of perfectly in elastic demand curve, demand curve takes a shape which is parallel to price axis. So, this is your demand curve. Now, this is Q 0, this is S 0, this is P 0, P 0 is equilibrium price, Q 0 is equilibrium quantity. Now, imposition of tax S 1, this is the total amount of tax, this is the new price P 1. Now, what is the situation over here? Demand curve is perfectly in elastic, whatever may be the change in the price it is not going to change the quantity demanded that gives us the flexibility for the producer to shift the entire tax burden to the consumer. So, this is the total amount of tax and if you look at the increase in the price is just equal to the increase in the tax that is P 1, P 0 is equal to the total tax. So, in this case the producer has shifted the entire tax burden to the consumer in term of increase in the price and we can interpret here is that in case of in elastic demand, perfectly in elastic demand the consumer pays the entire tax burden because there is no change in the quantity demanded even if there is a change in the price and that gives the liberty to producer to shift the entire tax burden to the consumer. So, in case of perfectly elastic supply the entire tax burden paid by the perfectly elastic demand, the entire tax burden is paid by the supplier. In case of in elastic demand, the perfectly in elastic demand, the entire tax burden is paid by the consumer. Now, we will see what happens in case of perfectly elastic supply and perfectly in elastic supply.  Imposition of tax moves S 0 to S 1 and there is a same imposition of increase in the price that is P 0 by P 1. So, in this case the amount of tax is getting transferred to the consumer in term of increase in price because P 1, P 0 is just equal to the tax and the entire tax burden is paid by the buyers because the tax total tax amount is shifted to consumer in term of increase in price. So, perfectly elastic supply curve the tax is paid by the buyers. Then we will see the case of the perfectly inelastic supply curve. So, in case of perfectly inelastic supply curve, supply curve takes a value that is parallel to the price axis. It means whatever may be the change in the supply it is not going to, whatever may be the change in the price it is not going to change the quantity supply. So, in this case no effect on perfectly inelastic supply. There is no effect on price and quantity because imposition of tax will not lead to any change in the supply curve. Rather, but when there is a imposition of tax generally that reduces the profit of the seller. So, in case of inelastic supply curve there is no effect on price and quantity demanded that is the reason the consumer is not getting affected, but there is some influence on the seller that is in term of change in the price or in term of may be change reduce quantity and that leads to reduce profit for the seller. So, when there is a imposition of tax that leads to the fact that the tax burden get equally share between the buyers and seller, but when we introduce the concept of elasticity, if the buyer is more sensitive then it is the tax burden is more on seller, if the buyer is less sensitive tax burden is more on buyer. Similarly, if the supplier is more sensitive tax burden is more on consumer, if the supplier is less sensitive generally that reduces the profit of the seller. Now, we will say that specific two cases like sell tax and excise tax how that leads to change in the price or quantity demanded or how it affects generally the sellers and consumer. So, if you summarize the previous analysis of imposition of unit tax, if the demand curve is perfectly elastic price increases by the full amount of the tax and supplier remain unchanged the entire tax is borne by the consumer, if the supply curve is perfectly inelastic there will be no increase in the price or decrease in the supply the whole of the tax is borne by the supplier, if the demand curve is perfectly elastic the price does not rise at all and the whole tax is borne by the seller, if the supply curve is perfectly elastic the price rise by the full amount of tax and the entire tax borne by the consumer. But given the supply schedule the greater the elasticity of demand for the good less will be the tax burden on the consumer, given the demand schedule the greater is the elasticity of supply the greater will be the tax burden borne by the buyer. Then we will introduce two new taxes sell tax and excise tax in order to understand what is the impact on price and quantity. So, sell tax is the tax imposed on consumer paid directly to the government does not affect the price consumers pay price plus sales taxes. So, tax is not the part of the price less desirable to buy the tax good or service at every given price demand shift downward and to the left because there is a decrease in the demand when there is a imposition of tax. So, this is the effect of sell tax on demand, suppose a new law require 0.25 dollar sell tax per cup of coffee. So, if you look at the demand schedule on the left hand side of the graph when the price is changing by 0.50 to 0.75 to 1 if you look at there is a difference in the quantity before tax and after tax that leads to shift in the demand curve from D to D to D dash. So, it means the effect of sell tax reduces the demand. Then the government imposes tax on producer in case of excise tax the government imposes tax on producer. Producer pay the tax directly to the government price does not change, but the cost changes because they are paying a tax to E less desirable to produce taxed good or service at every given price supply shift to the left and upward. So, if you look at due to imposition of excise tax that leads to decrease in the supply and that lead to shift in the supply curve from S to S dash. So, if you look at in this case suppose there is excise tax of 0.25 per cup of coffee that leads to change in the quantity supply that is imposition of tax before and after and that leads to decrease in the quantity supply and graphically the change in the quantity supply is represented from the movement from S to S dash. So, irrespective of whether it is sell tax whether it is excise tax it generally reduces the demand and supply in case of sell tax that reduces the demand in case of excise tax that reduces the supply. So, what is the effect of sell tax? Sell tax suppose this XC power item cause equilibrium price to fall by the same amount less than XC power item. Price to supply are not same as price to the demander because price plus sell tax is the price to the buyers. And what is the effect of excise tax? Excise tax per item curges the equilibrium price to increase by some amount less than XC power item. Price to the supplier that is price minus excise tax is not same as the price to the demand. So, in case of sell tax the price to the consumer is on a higher side and in case of excise tax the price generally what is part of the cost also in the due course of time generally they shift it to the consumer, but initially when they are paying the excise tax whatever the price for them that is cost of production for tax that is not equal to the market price what the consumer they pay for it. So, generally in case of imposition of sell tax reduces the equilibrium price, but in case of imposition of excise tax it reduces the equilibrium price. So, when you compare two cases maybe there are two type of incidents one is economic incident second one is the legal incident. The division of a tax burden according to who actually pay the tax that is on the basis of the economic incident and legal incident is the division of tax burden according to the according to who is required under the law to pay the tax. So, one is legally and another is the actually who is paying more. So, the economic incidents of tax independent of its legal incident. Now, this is the graphical representation of sales tax and the excise tax how it affects the demand. So, initially if you look at the first graph left hand top graph the imposition of tax leads to leads to decrease in the demand from D to D des that leads to increase in the price from P F to P G. So, the price to supplier is P F whereas, the price to consumer is P C which includes the price plus the tax and in the right hand side if you look at the top one then imposition of excise tax leads to shift the or decrease the supply from S to S test and that leads to two type of price one is the price to supplier and second one is the price to demand. So, in this both in both the cases if you look at the price is changing. So, in the left hand side if you look at that may be the graph which is just below may be a less clutter version of the panel A. In this case the new supply the new demand and may be the original supply gives us the change in the price and similarly in the right hand panel the lower graph if you look at its again the change in the supply and change in the demand and exactly whatever the change in the price. So, excise tax influence the producers and generally sale tax influence the buying behavior of the consumer whereas, excise tax influence the selling behavior of the producer. Then we will discuss about two specific case where the price is decided by the government where the price is decided by legally in case of the imbalances and what happens to the situation. So, consumer if you look at always like the prices to be lower than the actual equilibrium price and when the outcomes of the unregulated market act against the interest of the public people seek legislation that allow the government authority to control the existing price structure of the market. Then it happens that they form the collude they make a joint collusion and they decide the price. In this case generally the interest of public generally the government comes into picture and they fix up a price. This type of interference on the part of government with the help of laws of supply and demand is totally different from the case of the imposition of tax. This is not the case of taxes and government control of price inevitably prevent the market system from performing its function of rationing goods and services. So, two type of cases one is price ceiling and it is a type of price ceiling that government authority sometimes use for rental housing and the specific case here is the rent control. Prevent housing market for reaching equilibrium only when the rents are set below the market equilibrium rent and the typical example is the after the end of World War II when there was a sharp increase in the price of the rent or the serve increase in the housing price or the demand for the housing many cities instituted the rent control to prevent the spectacular increase in the rent that were anticipated because there was a increase in the demand and that also leads to the increase in the rent and many cases they practice this rent control. Generally, how this can be applicable in case of in case of controlling the rent to a level which is below the equilibrium rate. So, typically rent control limit increase in the monthly rental rates or the established rule used to determine the fair monthly rent for housing of varying kind of quality rent generally lower than that would prevail in the equilibrium in the competitive market. Many supporter of rent control believes that this control benefit lower income people would otherwise have to pay higher percentage as their as of their income as rent. Now, how it works generally if you look at this is the supply of housing this is the demand for housing price is nothing, but the rent suppose this price in this case is 1000 rupees and the quantity is may be suppose 8000 unit. Now, if the rent looks higher generally the public seeks the legislation from the government to charge a lower price. So, in this case if the government fix up a rent which is equal to rupees 500 now what would be the outcome the demand would be more and the supply would be less. So, suppose this is 10000 units because of decrease in the rent that leads to increase in the demand for housing to 1000 unit, but the supply of housing will reduces to 6000 unit. So, this leads to shortage. So, whenever there is a rent control and the rent is set much below the equilibrium rent in this case the demand for housing is more than supply of housing which leads to shortage. Then in this case what is the way out because rent was on a higher side that is the reason the public comes to the government support to fix up the rent. And if the rent is lower than the equilibrium rent generally people they prefer a high demand for housing and the supply is there reduces the supply. So, in this case may be one possible solution is to follow a non rationing rent control and what is the non rationing rent control or non rationing or the non price may be a solution the non price solution is to that first come first serve basis. So, at a specific price even if it is 6000 or even if the rent is 500 only people will up to 8000 they will be entertained not more beyond 10000. So, the in this case the surplus can be captured on the basis of the first come first serve. So, it is only the 8000 units of housing available at a price of 500 and they should the supplier will only there is binding on the supplier also to supply at least 8000 unit of the housing at the rent of 500. The second case what will deal here is the opposite of price ceiling is price floor. So, now what is price floor? So, this effect of rent control is if selling on rent is below the market equilibrium rent this inevitably result in the shortage of the rental housing what we checked in the previous graph. Rent control do not make rentor house less expensive to the tenant landlord respond to the reduction in the possible gain by decreasing the quantity and often the quality of the rental houses supplied. Results is shortage of housing and then we will take the second case that is price floor opposite to the price ceiling this the minimum price that has to be given or that has to be given by the supplier. Now, what is the typical example here? The typical example is the minimum wage the producer has to pay wage which is at least minimum that is set by the law. So, to commonly use price floor are minimum wages and the agricultural price support minimum wages prohibit employees from paying less than the stipulated wage and agricultural price support generally guarantee farmers a minimum price of their crops when price floor are set above the market equilibrium price and generally this results in the surplus on the market. So, let us see a graphical example of this minimum wage. So, we have a demand curve we have a supply curve this is the equilibrium quantity this is the equilibrium price. Now, what is the equilibrium price here? This is nothing but the wage. So, suppose this is 50 rupees is the wage and this is the 30 laborers this is the labor day. Now, if the minimum wage is set at 40. So, just if the minimum wage is set at 60 which is as a higher than the equilibrium in this case what would be the outcome? The demand would be more suppose 60 laborer will ready to work when the wage is 60, but the supplier is ready to only give the employment to 20 laborer when the minimum wage is fixed by legally and that is 60. So, in this case what is the outcome? The outcome is surplus. So, in case of minimum wage if the minimum wage is set above the equilibrium wage that is equilibrium wage is 50 and the minimum wage is 60 it means it is binding on the supplier to pay the wages equal to 60. In this case generally the demand for the labor or the demand for the employment will be more that is 60 unit, but whatever the supply of labor the producer is only ready to give employment to 20 laborer if the wage is set at 60. They plead to surplus in the market and again it is a non-priced control will come the first comfort services this 20 laborer who are ready to work they will come first 20 units will be entertained. So, in this case if you look at the real problem again leads to something else when the price is goes on a higher side or the wage is going on a higher side that leads to less employment. So, two cases one is price ceiling which is the price fixed by the government and second one is the price floor this is also price fixed by the government and this is the minimum price and may be in the first case that was the maximum price that has to be followed in the market. So, with this we completed our second module that is on theory of demand or demand analysis and we will start our third module that is theory of production and cost from the next session onwards and these are the session references that is being followed or few books few study material that is being followed for preparing this specific session.