Picking up from the sense that I got during the last two sessions, I want to also begin by mentioning that labor jurisprudence in India is considered to be something which was highly developed. Very few countries in the world have had the type of labor jurisprudence that India has had. And there is no doubt that the single most important reason for that has been the struggle of the trade unions. No case goes up to the Supreme Court unless there is a trade union to follow it up. It may take a decade or two before an important decision is obtained from the Supreme Court. But it is not only the judiciary, it is also the type of labor legislation framework which India had. That has already been referred to in the previous session and I completely agree with that perception that what we have enjoyed as labor jurisprudence is certainly the product of post-independent Indian economic development and the model that was adopted for the same. So it is the social democratic model. If you like the Fabian social democratic model. And so the framework of labor legislation in India is not accidental. It has been introduced in very definite planned manner. And it has gone through quite an elaborate process of conceptualization. It is not an easy task to achieve. First of all to achieve policy clarity. And so there were many committees which were appointed in order to articulate ideas at a conceptual level and then systematically followed up in order to convert it into legislation. And also adopting the tripartite method of the recommended by the ILO. The Indian Labor Conference has been an important forum through which these tasks were achieved. It is only recently that the Indian Labor Conference is on the verge of collapse. But even then I don't think we can say tripartitism is completely killed. Having said that in relation to the four labor codes, we recognize the expression labor code. But that is in a sense a misnomer in the current context. Because if you think of labor code or if you think of codes in law. It means a process by which you are trying to put together a whole lot of laws in relation to a particular sector. So it is a comprehensive method of enacting legislation. And you know we go back to the Napoleonic code. In our own country we think of the Indian penal code. It is considered to be the most exhaustive piece of legislation so far as crime is concerned. Or the criminal procedure code or the civil procedure code. I am afraid none of the four labor codes have that dimension.  And I will try and demonstrate that especially with reference to the code in relation to wages. Initially there was the pretension that it is meant for universalization. And now I think that pretension has been given up. And what does that reflect? Why did that pretension arise and why has it been given up? Certainly it is because of the realization that you can't bluff people that we are going to universalize. When you realize that universalization is far from what is thought to be achieved. It is the intention has been populist. And that populist intention I don't think has a long life. Because by the time people come to understand, by the time we demystify these codes, there is very little left for popular appeal. And certainly the biggest divide there is going to be the way in which the unorganized sector is denied everything. The pretension has been that it is going to be covered but that is not at all so. I think even more important is that when you reduce a large number of laws into one so-called code, you are going to open up a Pandora's box of litigation. Because when you put together a large number of definitions which belong to different statutes, then there is internal contradiction. And if you want to resolve those internal contradiction, you have to go back to the judiciary. I want to give you one example. The word industry under the Industrial Disputes Act was in dispute from the time the law came into being, 1947, till 1978. And it used to be mentioned that if you plot the Supreme Court judgments relating to the word industry against a graph, you will get a zigzag curve. So that is the history of litigation in relation to a word. And many of these are jurisdictional definitions. That means whether the law applies or not depends upon what's the meaning you attach to a word. And if you put together a plethora of definitions, it's just opening up the Pandora's box. In the case of industry, it took Justice Krishnaya to sort out the battle. And in 1978, he gave a judgment and simplified it to such an extent that nobody is able to overrule the simplification that he resorted to. So it's not necessary to complicate things through such definitional processes. Now using that as background, let me say that when you're looking at the code on wages, wage determination in India is done in multiple ways. That's the history of wage determination and that is true even today. Above all, the most important ways in which wage determination has occurred in India, of course by the organized sector, has been collective bargaining. I don't think anybody has a list of how many agreements have been signed between workers and management in India. Thousands and thousands of bilateral and multilateral settlements have been signed. So collective bargaining has been a chief method. When collective bargaining has failed and there has been a strike, then the government has had the power to refer that to adjudication. And it is through these adjudicative processes that matters have gone up to the Supreme Court. And the Supreme Court has laid down very many excellent jurisprudential ideas in order to fit into a developmental framework of the Indian state. And that's quite advanced and that is, you know, pretension that, you know, that doesn't exist is happening when this code has been written. For example, there are two principles which are outstanding in wage determination. One is the capacity to pay and the other is the region come industry test. This is the product of Supreme Court pronouncements and they are valid and relevant even today. That's completely ignored in this wage code. The third is a method of arbitration which Gandhi ji introduced. Not many of us like it yet. It is a method which has been in existence in the cement industry. That's been the only method by which wage determination has happened in India. The fourth is by wage boards. And even that's a prevalent thing. Working journalists have always had their wages determined through wage boards. And this statute making process, the code making process is quite ignorant of it as we'll see when you. Then comes the last method and that is for minimum fixation of minimum wages for sweated industry. And here again what this code does is it distinguishes wage fixation within the sweated industry into two categories. And there is a whole lot of confusion in relation to that to which I'll come in a moment. But suffice to say you cannot talk of a code and yet leave out so many methods of wage determination. The word code is most inappropriate and God knows what's the reason why that has been invoked. The minimum wage act is in 1948 and it was meant primarily for sweated labor. And this means that the segments of the unorganized sector were incrementally covered by the minimum wage act. That's been the mechanism. That's the design. Government has the power to notify that a particular sector is now covered by the minimum wage act. And that's what we call as scheduled employment. And there are almost 2000 scheduled employment in India. And that is the major intervention of the state under the minimum wages act. This legislation seeks to do away with scheduled employment. And so at the outset I want to point out that within the minimum wage determination mechanism what the code does is it eliminates wage determination through scheduled employment. Nearly 2000 in the country. So that whole section has disappeared from the code. And in its place it brings in what initially was called the national minimum wage. In the previous drafts that was explicitly introduced. The expression national minimum wage. And when the matter went to the parliamentary committee the biggest controversy in the parliamentary committee was what do you mean by this national minimum wage? There was continuous discussion about it and there was question are you going to have one national minimum wage for the whole country? How will you do it? There are those states in India which are economically backward and those that are advanced. Are you planning to introduce a national minimum wage for everybody? There's no very clear cut answer about it. And it is for this reason and the lack of clarity in relation to the idea of a national minimum wage that the expression national minimum wage has been dropped in the latest, it's no longer dropped, it's become law. So that's interesting. The biggest controversy which came up before the parliamentary committee is simply dropped. And of course in order to tackle that the Labour Ministry appointed an expert committee. And the expert committee went into this question and the expert committee obviously could not answer all the complications related to the creation of a national minimum wage. I suppose all of us understand that if you actually notify a national minimum wage in India then nobody can work, there can be no wage employment in India below that national wage level. The expert committee finds it difficult and so they drop the expression national minimum wage and this now say floor wage. So floor wage is a new language which has been brought in. If you still analyse the code and that is because of the lack of clarity in the process of drafting you find there are two methods that is being referred to. One method is the continuation of what ought to follow from the method of having scheduled employment. And therefore all those sections which are necessary if at all there were scheduled employment that is retained. So what is that? For a scheduled employment the old law said you have two ways of going about it. One is called a committee method that you appoint a committee and the committee recommends what should be the minimum wage for a particular sector. The other is called a notification method. The government notifies something on the condition that if it is the second method of notification it must go back to an expert committee take their opinion and then only finalize that. So interestingly this method is retained and that is the method by which maximum amount of minimum wage notifications happened at the state level. The expression in the legislation is appropriate government. And the appropriate government in the majority of cases is the state government. Of course there is similar opportunity for the central government. So that method is retained. I would therefore canvas for the position that you now introduce two types of minimum wage through the proposed code. One is minimum wage of the old type for the scheduled employment. And your confusion is so high that you have dropped schedule employment. And the other is the floor wage method. And so that is going to be a wage which will be applicable for all. And that wage is going to be determined by the central government. And when in the parliamentary committee there is questions about it then they begin to say alright we will also consult the state government. But consult in a manner which is going to be prescribed. Even that is reluctant. So the notion is that the government of India would like to notify a wage for the whole country that however will not be a national minimum wage it will now be a floor wage. Expert committee pointed out perhaps there is going to be difficulty. So why not have regional floor level wages. And that idea has also not been accepted nor rejected. But the language enables a kind of floor wage to be fixed even at a state level. So in other words the plurality of economic development is recognized. What did the expert committee do? The expert committee went into an attempt to calculate what should be the floor level. And if you index it, if you neutralize it for price rise as of date it comes to approximately 375 rupees. The labor minister on the day on which this law became final he declared that the floor level will be 178 rupees. Their own expert committee says 375. At the same time there is the Rangarajan committee which was concerned with trying to fix what should be the poverty line wage. And that calculation if you neutralize that also comes to 375 rupees. So I am tentatively of the opinion that we should welcome the floor level wage subject to the condition that it cannot be less than what their own expert committee has recommended. So then in other words we should have two types of minimum wages. One the floor level wage nobody should get below that. There are states in India including Pondicherry and many states in the northeast where the equivalent of the floor wage is about 50 rupees. So in that context I think it is interesting to examine that proposition coupled with another proposition that you must bring back scheduled employments. The government sees the problem and therefore it goes to the extent of saying even if there is a floor level wage that floor level cannot bring down the minimum wage notified in the state. So there is a pretension to protect existing minimum wage but that protection is done in a manner in which it will amount to a wage freeze for the future in the scheduled employment. And so that is the question which remains unanswered. Interestingly the parliamentary committee took note of it and pointed out explicitly that if you are going to do that their capacity to revise those minimum wages in the scheduled employment must continue.


I was taking medicine. My brain was foggy. I knew only one thing and that was that I need to hire Kerry Dills but Kerry had made it apparent to everyone she would never work for the man and by the man it was like anybody but herself and I was like I got to do this so I sent her an email and I don't remember what I wrote and I remember all the different emails I went back and forth but for four days I was in a delirium while I was recruiting Kerry to come join me a crowd favorite neither of us are there right at this moment but we were there working together last year and all I remember was as I'm writing this I kept thinking I have no idea if this is gonna work but if it works it will be my greatest achievement in life and it works and then I realized I had a new greatest achievement and that was to get her to come speak at WordCamp San Diego and we have that now so please welcome Kerry Dills thank you Chris all right so how many of you guys use your website to sell services how about products how many of you want to use your website to sell products or services okay actually you're in the right room then so so here's the deal writing writing is a great way to actually generate that business to come through your website and I'm gonna share some tips with you on how you can do that but before we get into that let's talk a little bit about the why why why writing why not Google ads or anything else for that matter why not well I don't know what the other why not was but anyways so when you're when you're writing you're actually doing three things you're building three things and the first is your name recognition the more you're writing the more Google is indexing what you write the more you're sharing these things on social media the more people are seeing your name I do a lot of work in the Genesis framework and few years ago that was a relatively small community it was kind of a town everybody knew everybody and there was this guy named Shrita never heard of him but one day somebody shared one of his blog posts on social media went read it great immediately forgot his name a couple weeks later I was in a studio press forum answering a question and and there I see that Shrita's beaten to it and already got the answer in there and I'm like okay and it didn't take long before I just started seeing his name everywhere and at this point if you do any work with Genesis you'll probably be hard pressed to not know who this guy is and the deal is he pumps out tons of tutorials tons of content and he's actually for him it's turned into a paid membership model where he charges people a monthly fee to come in and get his content so that's the first thing it builds your your name recognition the second thing it builds is your authority huh there's a guy named Tom McFarlane here you might have heard of him um Tom blogs politically about some technical stuff and then also just sort of some thought pieces of what's going on in WordPress and if you go read an article of Tom's you don't walk away thinking I'm not sure if he knows what he's talking about there's such authority in there in a way that he's delivering the information that his writing has been able to establish a great authority and actually asked Tom if he thought that that writing had had any impact on his business and his answer basically was he didn't have to do gold calls the business is coming to him which is awesome so we got name recognition authority and then the last thing is trust people want to do business with people that they trust and we got Michelle show she's well where can Minneapolis organizer and designer and she's got this great piece of content on her site called the good clients guide and it's a series of five six articles that's basically helping educate potential clients on what it's like to work with her what it's like to work on a web development project here's some common words that you might run into in a WordPress world basically she's helping educate them before they've ever spent a dime with her she's provided some value with this content and that trust that's exactly what it what it so let's see let's say you've got all this name recognition authority trust people are banging down your door wanting to do business with you okay the leads the leads are flying in here's the deal not all leads are leads that you want to do business with I'm glad y'all enjoyed that one I had a fun time searching for that one not every customer is going to be your perfect customer you know when you're when you're poor and somebody says I'd like to give you some money to do this thing it's really hard to be picky right but there will come a point where being picky actually helps you tremendously and when I say be picky I mean you have to define who your ideal lead is who is it that you want coming to your website so answer the questions who's your ideal customer who is it that you want to attract what kind of person or business do you want to work with some questions that you might ask yourself if you've never thought who anything about your ideal lead think about do you enjoy working with nonprofits or do you enjoy working with small-owner operator businesses do you enjoy working with government contracts do you enjoy working in education kind of narrowed down what your niche is that you excuse me but you enjoy working with this is something I really struggled with because I didn't when I started writing I didn't have I wasn't thinking about ideal leads I wasn't even thinking about lead generation I just started writing I was writing tutorials that basically helped me submit my knowledge so I'd learn how to do something and then I write a tutorial and what that did was bring in traffic of other people wanting to know how to make some theme at it or what not so I thought I'd found myself bringing leads to my site but these leads were DIY people they were there are people that were ever gonna hire me to do any coding for them otherwise they wouldn't be on my site looking at my tutorials and so I inadvertently do not the right crowd to my website and now I've been able to turn that around a little bit and and figure out how I can serve that that particular audience but for me that process was it took a lot of soul searching to figure out who my ideal was if you're totally lost on that I highly recommend break yourself solid by Michael Port it's some great exercises that you can go through to kind of figure that out so once you once you define who that ideal lead is then of course you want to start writing towards that audience sorry that was the awkward part where you don't want to acknowledge the awkward part but you can't quite get over those just I just made a really weird pause this is why I like email instead of calls nobody sees when you totally do that so going back to that the name recognition the authority the trust I had all these DIY folks coming through my website who were not necessarily the people I was trying to attract but I actually got a client once and he said I have no idea what any of your posts mean but I saw so many people liking it sharing it that I knew you must know what you're talking about so we have different audiences but basically no know who you serve and then target them Rebecca Gill over web savvy marketing does a fantastic job of this don't think I have a laser on here but down at the bottom she's she's got that's what you would call your user persona so ideal lead you could call that your user persona and she's got website design and development SEO and stock WordPress themes so as soon as somebody lands on her homepage they can self-select what exactly it is that they need so notice one thing is just kind of interesting to me it says website design and development not WordPress design and development doesn't say Genesis development and I think that's now if your ideal lead is to subcontract for an agency then being specific about your technology could be great but for the average person that is a business owner and wants to get their business online they don't necessarily care what tools you're using to get there they just want the end result same thing with themes they're all Genesis themes but she doesn't mention it there so something to keep in mind all right another tip be yourself when you write really time I'm independent it's just me no employees and it's tempting to want to be on my about page we provide excellent services we pride ourselves in high quality below when in fact I'm just an eye so don't be afraid to say you're an eye if you're not a wee and inject some personality into your content a couple of examples that I really like from the WordPress world this is Curtis he throws a Curtis McKell he throws a custom Lego photo on every single blog post that he writes and they're always relevant to the topic of the problem like how did you even did you find that Lego so that's a great example of how he's injecting a little something that he enjoys into his writing style another one this is Lindsay Rio from a pretty darn cute design I'm just gonna say take a stab if you've never met Lindsay do you think she's a girly girl does this look like somebody that likes bows and peek things yes and I'm she's she's a sweetheart but her website speaks so much to her personality lastly here we've got one from MailChimp how many of you use MailChimp wow everybody I don't know about you but I feel rock solid when I just queue up an email I mean I'm getting the high fives if you've ever read some of their knowledge based articles they've got just a little monkey that they use turns a personality there excuse me one moment while I take a sip talk amongst yourselves I didn't hear anyone talking amongst themselves okay so be yourself the next thing is qualify your leads Jason kind of touched on this earlier there wouldn't it be great if we could all have these wonderfully qualified leads that we're filling out our contact form it's rarely the case but we know that you don't want to do business with just anybody and everybody just because they land on your site or like your content doesn't necessarily mean that they're a good fit for you so you can serve your potential clients by helping them qualify themselves three ways that you can do this that are pretty straightforward the first is you can help your clients qualify themselves based on your offerings so if I land on Eric Davis's site which I'm not a designer but even that that's why anyways I'm not showcasing his design here but when you land on his site right off the bat you can see it's obvious that he does e-commerce and if you dig a little bit deeper you can see it specifically Shopify now unlike Rebecca Gill who wasn't focusing on the technology here's a very specific focus on technology so it's not to say that one's right or the other it goes back to who is your ideal lead who is it that you're trying to attract so if I need I've heard Eric I've seen his content online and I'm thinking I want to hire that guy and I go to his website and I wanted to build me a membership site and I get to his site and I see e-commerce he's probably not going to be the right guy to help me do a membership site so about I move on you've saved yourself time by not having someone contact you through your contact form only to have to reply and say oh yeah I don't do membership sites so being clear about what it is that you do and what it is that you provide helps clients know whether or not repotential clients know whether you're not you're a good fit before they ever press the sin button to get in touch the next thing you can do to help qualify leads is is based on their budget so crowd favorite actually does a great job of this I don't know if you can even see it but they have to me they have a line there that says what's your budget for the project and I don't produce 25k that's the very lowest number so if I'm rolling into the crowd favorite website and I've got $500 in my pocket I know right away this is not the agency for me I've tried that I've done tons of I can't even call it as formal as AB testing but I've done a lot of experimentation with my contact form and putting the budget question on there it does a couple things one it kind of frames and how much it costs to do business with you right up front and secondly people who don't have those kind of budgets you've they've immediately rolled rolled out you as a potential service provider and it's a good thing because even though we like people to pay us money we don't want to take just anybody's money the last thing you can do to help your clients qualify themselves is based on your availability Billy Erickson does a fantastic job of this he's done this for years but if you go to his contact page he's always got when when his next availability is to take on projects which if I come to Bill's site and I need this site yesterday and he's not taking projects until July then I know Billy Erickson it's not going to be the service provider for me so you can do your your potential clients a favor by letting them know that up front so you're writing tons of amazing content the leads are flowing in like manna from heaven I don't know that manna really flows in but anyways the leads are coming the leads are coming and what what next what do you want them to do so your website the goal is to convert them and what a conversion is what different for everyone maybe it's just to fill out a contact form maybe it's to sign up for your newsletter maybe it's to click the buy now button but whatever it is that you want your clients to do make it easy for them to work with you by making it obvious what they should do what they should do so you can lead your leads several ways one is with a clear call to action so this is another example from the web savvy site but she's got a little text there about let's create something together and then a blue button that's just say hello and I want to I want to push that button another example rainmaker they use their call to action up in the actually as part of their navigation Andrea Whitmer over at nuts and bolts this is on her home page she's got the big I'm ready and then even our beloved wordpress.com if you go to their homepage it's a massive big invitation to create a website they don't your call to actions and always have to be in the form of these kind of buttons I use in my post actually do invite people to download a PDF and exchange for their email address so it can be right in the middle of your in your content so the bottom line is you want to make it easy for folks to do business with you and when you do that your customers we are like one of the fields of flowers to do business together so with that on a anticlimactic note I will say thank you for Camp San Diego talk about yourselves I finished early so you now have the gift of five minutes


My name is Sam Markel. I'm an extension plant pathologist at NDSU at September 1st, so it's fairly late in the growing season. I'm standing in a soybean field in Sargent County and the field looks really quite good. It's lush, it's green, it's thick, it's all the things that you want when you're growing soybeans. But it does have a disease that's new to the state. It's called frog-eye leaf spot. Frog-eye leaf spot has been a problem in the eye states and the central plains and the mid-south for some time. We've been expecting it to show up in North Dakota at some point and it has. And so when you're looking at frog-eye leaf spot, at least late in the season, what you're going to see are lesions and they're generally circular. They can be a little bit angular. They tend to have a brownish, maybe even grayish center and it's got a fairly distinct ring around the lesion that usually is dark brown to purple. You sometimes can see some graying in the middle of that lesion. If you flip this over, you often can see gray molding or gray mold of some sort in the middle of that lesion and that's usually usually a good diagnostic tool to identify frog-eye. Now there are a few diseases that look similar if I will stick to for one but we do know that this is frog-eye and this is new. So frog-eye leaf spot is seed-borne and residue-borne both. So you can get it in infected seed but usually once you get it in a field, this will survive on the residue for a couple years. So if you have frog-eye, you'll be at risk of frog-eye the next time you put soybeans in, if you only rotate out to corn or wheat or something for one year. The disease can be economically important. It can cause yield loss and it has in other parts of the country but a lot of that depends on the time that it shows up and the severity. So we look at it generally starting after flowering all the way maybe up to r4 or podfill and if you have it at that point you might want to think about managing it. Obviously we're long beyond that so we're not worried about yield loss this year. We're not worried about yield loss occurring in this field but it is something that we need to know about. So at this point we don't really know how widespread frog-eye is. We're out serving right now to try to get a better handle on it. Frog-eye is brought on by conditions that are hot and humid. So we've had a hot and humid summer so it's sort of not surprising that we had the conditions that would facilitate this disease. It's also not surprising that I'm very close to a shelter belt. Lots of times higher humidity because of lower winds sometimes longer due periods. We're out serving right now in the southeast corner of the state. We're trying to get a better understanding of where this is at. This winter we're going to be looking at the frog-eye and making sure that our fungicides are effective because you can manage it with fungicides as long as the pathogen's not resistant yet.


Hi, I'm Vidar Utna. I'm the IT Manager in Superoffice and I'm going to show you a little function in Superoffice 8. That's called click-to-call. This is a simple function where you can call anyone from Superoffice using the standard software on your computer and if you have a call system like Cisco Jabra or Skype for Business or anything like that. And I'm just going to show you how you can do this. So here I am in Superoffice and I'm looking at my contact Jonathan Williams which I would like to place a call to. I open his contact card and then in the top right corner I can find the call button. Press the call button, select the number and just have to confirm with my application that I really want to place a call. And then I'm calling. So then I finished my call with Jonathan and I showed you a simple way to make your day a little bit easier with Superoffice. Thank you for watching and have a good day.


Thank you. So, I don't have a lot of slides. In fact, I don't have any slides. But I have something to show, okay? So, that's the talking. Okay, other way. This way. Okay, okay. So, if I do this, I can't tell. I have to like. Yeah, yeah, yeah. Okay. So, trust me, I have prepared a little bit, but not too much. So, I'm going to talk about this feature called CSS counters. Now, some of you may know about these already. I didn't until, I don't know, maybe a few months ago.  And I figured this would be a good one. But as I was thinking about what to say, I realized that there was something, there was a deeper meaning to this. All right? So, probably halfway through, I would become a bit like Rembley and stop talking about counters, but just, you know, too bad. So, okay, one day I woke up and I decided I had to make a list of things that I love. Okay? And this is a non-exhaustive list. React, CSS, JS, Jamstack. If you don't know what that is, stick around at the end. And of course, being a, you know, engineer at heart, I wanted to label it in a, I wanted to number it in a sensible fashion, right? So, of course, I can do that, right? Like we just saw JavaScript really powerful. So, I'm not going to go deeply into the code, but the output is that the top level is 123, then it's like 1.1, 1.2, blah, blah, blah, kind of like your exam questions, I guess. So, okay, long story short. So, can you see? So, long story short, I put a, I put an array of the things that I want to show up here. And then I wrote a questionable function down here to display it. So, it's recursive, which is already a bit like, okay, am I trying to make a point or not? But there's two parts. So, the first part, the first thing it does is it renders some react, some list items inside an ordered list. That's fine. That's got nothing to do with counting. But the second part is it's got this funny argument that I put here called depth. And this is where I try to include the logic of iterating and counting and adding the like sections. So, like 1.1 and then, so that's two sections, 1.1.1 is three sections. So, I got it to work, right, as you can see. But it's kind of questionable. And what's questionable about it is that it's not very readable. Okay, there's kind of a lot of weird things going on. The logic to calculate the numbers is tightly coupled to them being like numbers. And if I wanted to have a different kind of counting system, this is not going to work. So, it's kind of fragile. So, but it works, right? So, job done, right? Okay, obviously not. There is a better way, arguably a better way. I think it's better. And I'm going to show you what that is. And okay, to make the point, I've taken out all the JavaScript. So, it's the same list. Here is the CSS. It's like, structurally it's the same thing. It's audit list with list size terms and there's nested stuff. But if you notice, I've got the exact same numbering system. And there's no JavaScript, right? So, how did I do that? Wouldn't you like to know? So, okay. So, this is the HTML. And how I did this was... Basically, all the logic, all that complex logic in the questionable JavaScript function is reduced to basically these... Okay, not even this one. Basically, to these seven lines. So, 11 to 13 and 20 to 23. And fun fact, this is more declarative than React. So, yeah, think about that. So, what happens here basically is CSS has this feature called counters. Okay. And what counters let you do is they give you a solution to count things. And how this works is you use this property called counter reset and you give your counter a name. I'm going to skip ahead a little bit here and go straight to the nested counters example, which is what I've got here. So, what I've said here is I have a counter called section on every audit list. And in each list item, I increment that counter. Right? So, if we go back to the HTML, we can see that there's more than one level of audit list. There's a top level and then each sublist is another audit list. So, what's happening here is that the section counter in each child audit list increments it self as well. And then for each one of those, the list items in that audit list also increment. So, the point of CSS counters is you don't actually have to understand that too much. All you have to do, all you have to know is that you can use the counter reset property to get a, to create a counter. And then you can access the value of the counter. And you can do that through this function, this built-in CSS function called counters. So, you give it a name section, which is the counter that we declared. And you join it with a separator. So, this could be something else. And basically that's it. So, here's where the opinions in the ramblings start. So, this is great, right? It achieves what I needed. It's, in my opinion, a lot cleaner. Your mileage might vary, of course. But I think this is a lot cleaner. But I did have to figure it out, right? I didn't know this beforehand and it wasn't immediately obvious to me how this works, especially with the nested counters example. So, the fact that there was another solution to my problem that I didn't know sounds like non-knowledge. But it's a bit more significant than that because I was listening to the speaker called Richard Harris, who's the creator of Svelte.js. Don't worry about that. It's the JavaScript thing. And in his talk, he said frameworks are for, we use frameworks to not to help us organize code, but to help us organize our minds. And this was like, I was mind blown when I heard this. Because it's not just frameworks, right? It's actually almost everything that we as engineers use, especially the high-level languages like JavaScript and CSS and all that. So this was quite a revelationary moment when I heard this. And I'm trying now to apply that to everything that I think about. So, in general, when we create these solutions, we're not doing it for the benefit of the machine that's running our code, right? We're doing it for the benefit of ourselves and the other people looking at the code. So what this means is that there's a lot of people out there trying to make your life better. And they are like your strange friends from faraway places, right? The person that invented CSS counters, I don't know them, but their solution has helped me. And they did it for me, right? They did it for me and all the other people that want to make lists of things they love and other lists. So even though I didn't know how this works, and when I looked at the Mozilla, the MDN docs initially, I was like, yeah, I kind of get it, but don't really get it. I felt I owed it to this person to figure it out because they've created a solution for me that may be better than the one that I knew already. So really, at the end of the day, it's not about, like, a lot of what we do is not about code, but it's about people. And this is something that's quite important to me. And so when you, in our profession, when we do things like use CSS counters, we're creating connections with other people. I feel like I've made a connection with the person that invented CSS or created CSS counters, right? They've affected my life in some way. And that's quite a profound realization that we've all invented all this stuff for each other. And it's not just relevant for things like massive public things like CSS. When you look at a code base, a new code base, I'm sure everyone has looked at a new code base and thought that it sucks, right? But it doesn't matter if it sucks, right? Because it's been written by someone. And when you read it and you understand it, you are communicating with them on a different level. So yeah, I think that's quite enough. So half CSS counters, half life. But I hope you get my point here, which is that there's, especially with CSS in this day and age, there's a lot of hot takes on it and a lot of shade and stuff. But the important thing I think is to not dismiss solutions outright because they've been created by somebody that's trying to do the same thing as you. They've done it one way and it's not the way that you might be familiar with, but it might be a better way than the way that you are familiar with. Thank you. Wait, about counters or about life? I saw it on a tweet. I can't remember which tweet, but should I keep this on? Yeah. It was a tweet, yeah. I think it was, oh no, I can't remember, but it was a tweet. And I think what struck me was it was a problem which I would have instinctively gone JavaScript to solve and there was actually something else non-JavaScript and much more like a first class solution for it. And how do you feel about the founder or the creators of Code Sandbox? Is that a trick question? Code Sandbox? I love Code Sandbox. I think it's one of the greatest tools. Okay, sorry, that's a bit extreme. I think it's a fantastic tool. Oh yeah, so yeah, that reminds me. When I, so if you notice, I actually had two sandboxes. So when I made the first one, I, you know, I hit the blue, no, the blue, like create the React Sandbox, the empty sandbox. And then when I did this, I went into something extreme and I hit the brown one, which is the vanilla sandbox. No React. Good job, sir. Yeah, so good job for Sandbox for having that Code Sandbox. Okay.


Hello everybody welcome back to another Adobe Premiere Pro CC 2021 tutorial and this one I'm going to show you a technique to center your text not center align it but to actually center it and make sure that you've got the text exactly where you want it. Now to create text in Adobe Premiere Pro all you got to do is go down to your toolbar here and go to the bottom and click on the type tool or the big capital T left click on that and type anywhere you want so I'm just going to type in here puppy all right cool so we got a puppy and now here's the tricky part let's say you're producing this for some sort of production and you want it to be right exactly in the center if you come over to the left side here it's not immediately clear how to do that if you for example are in the effect controls and you drop the Chevron here you're going to see some options but none of them are center if you click on this one its center aligns the text but it doesn't center it so we want to center it in the middle of the composition the same goes with this stuff it does not center the text the way you would expect it to all right let me show you how to fix it the next step here is you want to go down to your toolbar again grab your selection tool and let me just show you one last thing you can move it and sort of eyeball it and you'll probably get pretty close like if I was to eyeball it I'd go somewhere around there but I know for a fact that is not perfectly centered because there's no grids and no there's no guidelines and there's nothing snapping so what you want to do is you want to go to your graphics workspace up at the top here I left click on it you're going to see that it opens up the essential graphics panel right now it's set to open at browse and that is not what we want we actually want to go to edit left click on edit and now you're going to see the inline and transform options this is what we're looking for the first one here is vertical center when I left click on that you'll see it moved a little bit and now I'm going to go horizontal center left click on that and actually moved a lot my wow my center was way out of whack here but I know by clicking these buttons it is perfectly centered that's how you set up text to look the right way guys so anyways that's it for this tutorial it was a quick one I'll be back soon with some more content thanks for watching


see this movie. I'm Brandon Keith-Avery and this is just my opinion. So guys when I was a kid I loved the Jungle Book. It was one of my favorite cartoons coming up as a child. Now when they were making the live action reboot and they said that Jon Favreau is gonna direct I was excited I just knew that this was gonna be good and guys I was right. My expectations for the Jungle Book was extremely high and my expectations were met and it just makes me so happy and I cannot recommend this film anymore and I have no idea how they made this film. I mean I have an idea but when you know how they made it it's like it's spectacular.  Because the only thing in this movie that is real is the little boy. The boy that plays Mowgli. This whole movie was shot in downtown Los Angeles on a town stage with nothing but green screen. Nothing is real. The plants aren't real. The water isn't real. The animals aren't real. The trees nothing is real except for the little boy and it looked so real. Well let me let me pop pump the brakes real quick. Like Baloo the bear voiced by Bill Murray. He didn't look real but he didn't look fake either. I mean there were some things that were okay it you can tell it wasn't real but it didn't look bad and it still just like blew your mind. It's like wow how did they do that and yes I did see it in 3D and I'm not the biggest fan of 3D but when they had the 3D the the the objects were popping. There was depth. There was greatness. Let me just slow down and just talk about the director John Fabro because he is one of my favorite directors in the game right now. He directed Iron Man. He also directed Zothura. He did Cowboys and Aliens that came out a few years ago but I'm just not a fan of that. He also did Chef. This guy is a true talent. He is an actor and director and I know that majority of this film is why it was good was because of him and I just want to praise Mr. John Fabro for giving us such a fantastic movie. But if you are familiar with the Jungle Book it's a straight adaptation of the old book and or well yeah it's based off a book but I've never read the book. I saw the cartoon as a child and this is based off that Mowgli a little Indian boy living in the jungle and that boy I did not look up his name but he is fantastic. I mean his acting was on point.  He's not gonna win possibly but he does look he does deserve recognition because he did a great job and when you think about it and what he's acting he couldn't act against anything because the animals aren't there.  I mean it was just a great treat a great visual treat it was funny it was clever. It was also not necessarily for children because these animals some of them seem kind of scary and when they were fighting I mean these animals are actually squabbing like trying to kill each other at points you know and it was one character death that they kind of did some fancy camera work because they did want it to be too graphic but I was really surprised I mean like this movie is PG-13 so you know you're not gonna see blood and guts everywhere and just ah tigers and stuff ripping guts out and no no no it's nothing like that but there is still some nice intense fighting in this movie that I had no idea was going to be involved and they did a great job there. The voice casting by everybody was just spectacular. I love being Sir Ben Keasley as Beguiro the Black Panther just in the mannerisms with that animal was just beautiful. I love Bill Murray as Baloo. I was singing along when he was making his songs. I love Christopher Walken as King Louis. I mean the casting choices for these voices could not have been any more perfect. I also like Scarlett Johansson as the big snake car. I mean she did a great job as well even though her role was slightly brief but that is not a knock. But my most favorite character goes to the voice of Idris Elba with Shirkana Tiger. Man he did a great job there. That Tiger was fierce. He was a force not to be reckoned with. I mean he was kind of scary. This lady that was sitting to my right I didn't know her course but there was a few times she kept jumping in a seat like this because stuff was popping out of her involving Shirkana Tiger and you know it was just great. I mean I this movie is oh I want to give it a 10 so bad but there was just one little scene that I really didn't care for while I thought Mowgli was being a little emotional and just kind of ran off. Oh my god why did you communicate? But other than that I mean this film is freaking flawless and I loved it and I cannot wait till this comes out on Blu-ray so I can watch all the special features so I can see all the behind the scenes and list the commentary. I cannot wait to see this again in theaters. I'm willing to give my money to see this film again and again because it is just that great. I mean the little boy was great. The effects were great. The acting was great. Everything was great in this film and so if I had to rate it out of a 1 out of 10 I give the Jungle Book directed by John Favreau a 9.75 out of 10. Gosh I want to give it a 10 so bad but there was one little scene kind of like what is going on but a 9.75 out of 10 and guys that's just my opinion so have you seen the Jungle Book? Do you want to see it? Have I turned you on? Have I turned you off? Do you agree with me or do you disagree with me? Let me know in the comment section below. Let's get this conversation going and keep it flowing. If you liked this video go ahead and give me the thumbs up and if you didn't like the video that's fine just leave me a comment below why and still give me the thumbs up. Since you're watching this on YouTube go ahead and subscribe to the YouTube channel soon become one of my subscribers get all the content that I have to provide in the past and in the future and if you'd like to find me on any other platforms you can at Facebook and Instagram and Twitter at justmyopinion84 and excuse me that's actually facebook.com slash justmyopinion or you can head over to the website. So guys thank you for tuning in for my opinion slash review on the Jungle Book and before you go don't forget that my name is Brandy Keith Sabry and that's just my opinion. Peace.


My name is Christopher Neugabar and I'm an Android specialist working on Azdec Docs in Hobart in Australia. And I'll be presenting at DroidCon India 2013. Now, we as mobile developers don't get a very easy job. We get asked to make apps that are easy to use, fast and responsive. And we have to make them work over networks that are slow, unreliable and expensive to send stuff over. Now, what's worst is that backend developers have been making the same sort of web APIs that they've been making for the last 20 years. For us mobile developers, things can definitely be easier. In my DroidCon India talk, making mobile web services that don't suck, I'll explain some of the most important characteristics of mobile networks and how they're different from the networking of desktop. I'll also give you some ideas for designing APIs that better suit the characteristics of mobile networks. By the end of the talk, you'll be able to work with your backend team to make an API that's less dreadful for mobile developers. I'm really looking forward to meeting all of you in Bangalore very soon.


From Austin, Texas, it's theCUBE, covering Pure Storage Accelerate 2019, brought to you by Pure Storage. Welcome to theCUBE's day two coverage of Pure Accelerate 2019 from Austin, Texas. I'm Lisa Martin, Dave Vellante is my co-host, and we're pleased to welcome back to theCUBE Pure's VP of strategy, Matt Kicks-Muller-Kicks. Welcome back. Thank you very much, happy to be here. This has been a big shout out of a cannon yesterday and today, lots of news. First of all, happy 10th anniversary to you and Pure. Thank you very much, yeah. Tremendous amount of innovation, as Charlie said yesterday, overnight in 10 years. It's a really fun time at Pure, just something about the nostalgia of 10 years gets people naturally to start thinking about what the next 10 years are about. And so there's just a lot of that spirit right now at the company, so it's almost like people are really charging into the second chapter with a lot of energy. So that's cool. A lot of energy I think all fueled by this massive sea of orange that has descended on Austin. So four announcements yesterday. Let's start with Cloud Block Store, what you guys are doing with AWS and kind of this vision of Pure's cloud strategy. Yeah, look, the cloud discussions I've had with customers here at the show have been awesome. And I think more than anything, people have realized that we've really built something very unique with Cloud Block Store, something that doesn't exist anywhere else in the industry right now. And if you look at kind of other storage vendors over the time, people have certainly taken their storage OSs and put them in the cloud, kind of as a test dev experiment, a way to try things out. But never really thinking, I want to build something that runs tier one applications. And that was our goal from day one. We looked at the Amazon platform and said, they really built EBS, their block offering, as kind of a way to boot VMs, but it was really never meant for a way to run mission critical applications. So they've been very open and partnered with us to say, look, let's bring this capability onto the platform. And we really re-architected our purity operating environment. So the whole lower half of that is really optimized for the AWS services to help customers move tier one apps to the cloud. Was that joint engineering or was it really mostly pure doing that work? You know, it was pure engineering in the sense that we wrote the code, but there was a lot of co-architecture work with AWS so we could fundamentally understand the basics of all of their services and how to optimize for it. And you know, one of the big realizations and choices that came out of that was not to base the storage layer of this on EBS, but instead to base it on S3. And you know, if you look at your average cloud customer, they really use S3 as the storage basis for the apps they build on Amazon. And so S3 is the 11-9 durable storage platform there. And so our whole goal here was how do you use S3 but still deliver the level of performance you'd expect out of a tier one block environment? Well, when you read the cloud storage press release du jour, you can't really get into the nuance, but if I understand it correctly, you guys essentially have architected using AWS services a new class of block storage that runs on AWS, but looks like pure. So you're essentially front-ending cheap S3 storage with high priority EC2s. You've got some mirroring for rights to give it high availability. And again, it looks like pure. So you win because you're making money on the software. AWS is selling services and the customer has a pure experience. Yeah, and you know, I think the combination that the one two punch that's been very interesting for customers is not only what we're doing with cloud block store, but the new pure as a service offering. And so pure as a service is our as a service consumption mechanism that allows you to essentially subscribe to or rent pure arrays from pure in your data center. But it's a license that can go between on-prem and cloud. And so imagine you're a customer that is mostly on-prem today, but you have that mandate, I've got to get to the cloud. You might need more storage, but the last thing you want to do is commit to another three or five year purchase of a storage array that just puts off that cloud journey that much longer. So a customer can subscribe to pure as a service. They'll it might be subscribed to a hundred terabytes and we put an array in their data center right now. But you know, a year from now, they decided they're going to move 50 terabytes to cloud block store in Amazon. That's just a transparent movement. They're already licensed for it. And there's already, oh, sorry, sorry. There's already customers that are in beta with cloud lock stores. Any interesting insights that you can share without giving away secret sauce? Oh, absolutely. I think the thing that pleased us the most about the beta was really the divergence of use cases. We created this, but there's always a, you create something you don't know what people are going to do with it, right? And so we have this goal of going after tier one apps. Obviously there's a lot of people that are just focused on migration. How do I get the tier one app from on-prem to cloud? And so that was what I would say would be the dominant use case. There were a lot of interest in test dev type use cases. And really interesting, I think we saw it in both directions. So we saw some customers who wanted to develop their app in the cloud, but then deploy on-prem. We saw the opposite. We saw people who wanted to develop on-prem, but then deploy in the scalable infrastructure in the cloud. And so I thought that was quite interesting. How much of the impetus to do that offering was hardcore customer demand. We need this versus, hey, we need to embrace the cloud and make it a tailwind and not be defensive about it. You know, I think when we looked at what was going to be the buying criteria for the storage array of tomorrow, fundamentally this is it, right? People want on-prem infrastructure that's connected to the cloud and provides them a roadmap or a bridge to the cloud. And you know, I think we've seen a big change in mindset over the, even the last couple of years. You know, I'd say two or three years ago, the mindset from customers was, I'm all in on cloud. I think we've seen that soften where they've realized that the cloud is not a panacea. It's usually actually not cheaper or faster, but it is more agile, it is more flexible. And so a combination of on-prem and cloud is the right answer. And so what does that mean from a storage platform? Storage is the hard part. And so I then need a storage architecture that can support both on-prem and cloud and drive commonality, as opposed to having to be totally different architecture. Was Outposts at all a catalyst in your thinking on this, or was this happening way before you even saw it? No, we started this effort before that. But I think Outposts is a good example, I believe, of how Amazon is just getting serious about saying, look, we can't ask everybody to re-architect every application for a web scale. There's certain apps that won't make sense to re-architect. How do we bring those to the cloud in an efficient way? And those are really the types of applications in the first generation cloud block stores perfect for. You can take your existing on-prem app, move it to the cloud without changing it, and then maybe slowly re-architect parts of the application. You evolve it over time, but that's not a gate to going to the cloud anymore. I like the way you said it. You thought about what storage is going to look like in the next 10 years. We've said this a lot is the cloud experience, bringing that cloud experience to your data is what storage is going to look like wherever it lives is going to look like in the next 10 years. Absolutely. And I think the other real mindset shift I think we've seen is how people are thinking about truly running their on-prem environment more like a service. If you look at the key message that we had at the show here was really the modern data experience and defining for customers what that meant. And in a lot of ways, I've been in the storage industry for a little while. I think back 20 years ago, the buzzword was utility storage. I think one of our competitors had that as their slogan sometime in the 90s. And the reality though is when you talk to most storage teams, they just never did that. They still ran a bunch of arrays on a project by project basis and it didn't look at all like the cloud. And so now people have learned the lessons from the public cloud and said, we really need to apply those on-prem to truly bring our infrastructure together into much more of a virtual pool, truly delivered on demand, abstract consumption from the backing infrastructure to give flexibility. And so that's really what we're trying to deliver with a modern storage experience is to say, look, let's get out of the world of array by array management. If a customer buys 50 or 100 of our arrays, how do they take that pool of arrays and turn it into a block service, turn it into a file service, turn it into an object service for their customers with real abstractions and real APIs for those services that have nothing to do with the backing infrastructure. And when Charlie talked yesterday about the modern data experience, the three S's pop up, simple, seamless, sustainable. But as IT is getting more and more complex and customers are in a multi-cloud environment, not necessarily from a strategic perspective, right, acquisition, et cetera, how does Pure actually take that word simple from a marketing concept into reality for your customers? Yeah, I think Simple is the most underappreciated, but biggest differentiator that Pure has. I was recalling for someone, you talked to Cause earlier today, I had a conversation about three weeks into the existence of Pure, excuse me, with Cause. And we were just debating, I mean, this is before we wrote any code at all about what would be Pure's long-term differentiator. And I was kind of like, I will be the Flash people or high performance or whatever, he's like, no, no, no. We're going to be simple. We are going to deliver a culture that drives some plus into our products and that will be game-changing. And I thought he was a little crazy at the time, but he's absolutely turned out to be right. And if you look over the years, that started with just an appliance experience, a tent card install, you know, just a really easy environment, but that's manifested itself into every product we create. And it's really hard to reverse engineer that. You know, it's an engineering discipline thing that you have to build in the DNA of the company. Yeah, he kind of shared that with us, Lisa. He was basically, in my words, saying you don't ever want to suboptimize Simple to get a little knob turn on performance because you'll be turning knobs your entire career. There's a lot of storage arrays out there that it's all about turning the knobs. And if you can't fix it, you feature it. So. And if you think about really trying to automate something, it's really hard to automate complex stuff. You know, if something simple, if it's a consistent, it plugs into an automation framework. You talked about get your 10X. Yeah. I think that's what you said. And an entrepreneur who's very successful once told me, I look for two things, a large market and a 10X impact. Yep. What is your 10X? You know, we had two 10Xes at the show this year. So first was really kind of a 10 year jump in performance. You know, when we first entered, people were used to 10 millisecond latency from disk and we introduced them to one millisecond latency. You know, now with the shipping direct memory and bringing SCM into the architecture, you know, we can do 100 microseconds. That's another 10X. And so it's hard to ignore that. It's game changing as you said yesterday. Exactly. The other is really around our next product, FlashArray C, which brings Flash to tier two data. And there it's all about consolidation. Most people have now used Flash to fix tier one, but their biggest problem now is tier two. You know, they have less important applications, but because they haven't optimized that, it's taken up way too much of IT time. And so FlashArray C is how do I go and basically consolidate 10X consolidation at that tier two level to really bring sanity to tier two storage? And you've got NAND pricing. We talked to Charlie about this, that it ultimately should be a tailwind for you guys. As NAND pricing comes down, as Norfab capacity's coming online in China to go after the thumb drives, right? So that's going to leave the enterprise for all the traditional Flash guys that we know and love. So that should open up new markets for you. Yeah, today if you look at pricing for, you know, Flash C class storage, if I got it right, I'm guessing one, one and a half dollars a gigabyte, you see hybrid still in the, probably half that, 65, 70 cents. You see that compressing over the next, let's call it 18, 24 months. Absolutely, I mean what we can do with this product is really bring out Flash at disk prices. And so if you think about the difference, I mean what we now have in the product line is two platforms, FlashArray X optimized for performance, you know, hundreds of microseconds of latency. But C, at a little bit slower performance, still in the millisecond range, can really get down now to those disk prices you just mentioned. So it fundamentally gives customers a chance to ask, can I really now eliminate disk from the data center? You know, as I said in my keynote, you know, that the slogan from Pure from day one has been the all Flash data center. And 10 years ago, people didn't believe it, we were maybe leaning over our skis a little bit in doing that. It now really feels possible to go and have the all Flash data center.  We missed the NAND, you know, supply constraints. Now that seems to be loosening up. Well, and you know, look, one of the things that really helps us build the perfect product around QLC is the work we've done to integrate with raw Flash. We can not just use QLC, but we can use it really efficiently. And the challenge there is to make it reliable. It's inherently a less reliable Flash. And so that's what we're good at, taking things that are less reliable and making them enterprise-grade. And your custom Flash modules allow that? Can you add some color to that? You know, basically what we do is we source raw NAND, put it in our system, but then do all the work in software to manage the Flash. And so when you have a less reliable Flash medium like QLC, generally what you have to do is add more Flash to over-provision and be careful riding to it. And so when we do it globally, we don't do it inside every SSD. We can do it across the whole system, which makes the whole thing more efficient, thus allowing us to drive cost down even more. One of the things that we have heard over the last day and a half from customers, even those that were on stage yesterday, those that were on theCUBE yesterday, and those that will come on today is they talk about the customer experience. They don't talk about FlashBlade, FlashArray. They're not talking about product names. They're talking about maybe workloads that they're running on there. But the interesting thing is, when we go to some other shows, you hear a lot of names of boxes. Haven't heard that. Talk to me a little bit about how Pure has evolved. It really maybe created this customer experience that's focused on simplicity, on outcomes that is, in your perspective, why people aren't talking about the specific technologies, but rather this single pane of glass that they have. Look, when we started the company, I obviously talked to a lot of customers, and I found in general, there was frustration with products, but they also just generally didn't like their storage company. And so, from day one, we said, how do we reinvent the experience? Of course, we have to build a better product, and we can use Flash as kind of an excuse to do that. But we also want to work on the business model of storage, and we also want to work on the customer experience, the support experience, just 360 view of how you deal with a vendor. And so, from day one, we've been very disciplined about all of that. Going all Flash was a key part of the product. Evergreen has probably been our quintessential investment in just how do you change that buying cycle, and so you can buy into an experience and have non-disruptively evolve versus replace your storage array every three to five years. And then, I think the overall customer experience just comes from the culture of the company. Everybody at Pure is centered on making customers happy, doing the right thing, being a vendor that you actually want to work with. And that's not something you can really legislate. That's not something you can put rules around. It's just the culture at Pure. When we talked about Evergreen yesterday with a number of customers, including Formula One, I said, you know, as a marketer, how much of that non-disruptive operations take me from marketing to reality and all of them articulated the exact value problem you guys talk about? It was really remarkable. And another customer that we talked to, I think from a legal firm here in the U.S., didn't even do a POC. Talked to a peer of his at another company that was a Pure fan and bought it right on the spot. So the validation that you're getting from the voice of the customer is pretty remarkable. Yeah, this is our number one asset, right? I mean, so when we think about how do we spread the religion of Pure, it's just all about giving voice to our customers so they can share the stories because that's so much more credible than anything we say, obviously, as a vendor. You're one of only $2 billion independent storage companies, and which we love independent storage companies is the competition's great. How far out do you look and do you think about being an independent storage company? You've seen it as a somewhat historian of the industry. You've seen TAM expansion. You guys are working hard on TAM expansion now. New workloads. You got backup stuff going on. You got the cloud as a multi-cloud as an opportunity. So you got some runway there. Beyond that, you've seen companies try to vertically integrate by backup software companies, converged infrastructure, whatever it is. How far out do you think about it from a business model standpoint? Or do you not worry about that? You know, look, to put it in context a little bit, you look at the latest IDC numbers, we're maybe one-third into the transition to flash, right? The world still buys two-third disk, one-third flash. That's a huge opportunity. We're now five or six globally in storage. That's a few spots we have to go, right? And so we're not at all market share limited or opportunity limited even within the storage industry to make a much, much larger company. And so that's mission number one at Pure. But when we think beyond that, that's just a launching point. And so you've seen us do some stuff here at the show where we're getting into different types of storage. The first obvious expansion is let's make sure anything that is a storage product comes from Pure. And there's obvious categories we don't play in today. You saw us introduce a new product around VM Analytics Pro where we're reaching up the stack and adding real value at the VM tier, taking our meta AI technology and using it to give VM level optimization recommendations. And so, yeah, I think we increasingly understand that IT is a full-stack game. And so storage is maybe the hardest part of the stack and that gives us great base to work from. But we don't constrain our engineers to say you can only solve storage problems. Geography's another upside for you. I mean, most of your business, vast majority of your business is in the U.S. Whereas you take a company like, you know, some of these other ones around here, more than half their business is outside the U.S., so. Yeah, our international business has been international five or six years now and it felt like the first couple years, our investment years, and it took time. But we're really starting to see them grow and take hold. And so it's great to see the international business grow. And I think Pure as a company is also learning to really think internationally. Not just because we want the opportunity, but the largest customers in the world that we now deal with have international operations. And they want to deal with one Pure globally. So when you're talking, and maybe this has even happened the last day and a half with a prospective customer who is still investing a lot on-prem, still investing, not yet gone the route of flash, as you were saying, those numbers speak for themselves. What do you say to them? If they're not on flash yet? Yeah, yeah, to show them the benefits. I mean, what's that conversation like? You know, it's rare to be honest now to find customers who haven't started with flash. But I think the biggest thing I try to encourage folks is that flash is not just about performance. You know, and when I look at the history of people who have embraced Pure, they usually start with some performance need, but very quickly they realize it's all about simplicity, it's all about efficiency. And if they can make storage fundamentally simpler and more efficient, they free up dollars to put towards innovation.  And so we just try to talk about that broader opportunity. And I think that's the hardest thing for people to grasp because you know, the IT history has always been lots of ROI pitches that say, hey, this thing costs a lot, but trust me, you'll make it up in all these other benefits that no one believes. And so you just have to get them to taste it to begin with, and when they see it for themselves, that's when it clicks, and they start to really understand the ROI around that. Well congratulations on 10 years of Pure Unlocking innovation, not just internally, but externally across the globe. We appreciate your time kicks. Thank you, we're looking forward to the next 10 years. All right, to the next 10. For Dave Vellante. I'm Lisa Martin. You're watching theCUBE from Pure Accelerate 2019.


Today, we are starting a new chapter, a new topic, namely, Simplicial Complexes. Motivation for the Simplicial Complexes manifests several, you know, several motivations. First of all, simplest maps to understand are linear maps other than constant maps. Simplicials was introduced basically to convert so-called differentiable maps into linear maps. The derivative is a linear approximation to a linear function at a given point. A polygonal path approximating a curve gives a lot of information on the curve itself. In fact, all your fonts in computers and everywhere you see, they are made up of line segments. Similarly, even though the main objects of our study in topology are manifolds, we need to prepare ourselves by studying simpler objects with wider scopes first. Manifolds are themselves built up of chunks of euclidean spaces. But the building of process there and what we are going to do now is quite different. We are also going to build up our objects of study, namely what are called as Simplicial Complexes out of closed simplexes or more generally what are called as convex polyhedrons. So let us understand these objects first in their own way when they are isolated before bringing Simplicial Complexes. The key word here is the basics of affine geometry. Affine geometry is nothing but a study of simple ideas from linear algebra. Only thing is the vector space structure has no origin in it. In other words, we have just pretend as if we do not know which point is origin. Conceptually this is so fundamental but technically everything can be transferred to linear algebra by picking up any point as your origin. That is the advantage. Instead of one fixed origin, you can pretend any other point also as origin and view. So statements which are independent of which point you choose as origin, that belongs to affine geometry.  The standard base is 1, 00, 0, 1, 0, 0, 0, 0, 1, etc. They are denoted by A i. Every element of rd, we will start denoting them by x0, x1, etc. Up to x d-1.  By adding one extra 0. So real numbers is included inside r2 by x, 0. Inside r3 by x, 0, 0, and so on. So this will allow us to study all the r power d simultaneously. The notation is r infinity which consists of all finite sequences of vector space. Infinite sequences but eventually 0. After certain stage only 0s are there. Which is actually in terms of vector, vector spaces is a direct sum of infinitely many copies of r. Okay, so that is r infinity. We shall denote by all points x1, x2, x0, x1, x2, xn belong to rn plus 1 which satisfies the following property. Namely, they are all non-negative, lie between 0 and 1. The sum total is equal to 1. The sum total is equal to 1 defines a 4 dimension 1 subspace inside rn plus 1. If you just take only this one, this is not a vector subspace. But this is what is called as affine subspace. Okay, so it's of dimension n. Inside that I am taking only those which are non-negative and which lie all the coordinates lie between 0 and 1. Okay, so this will be denoted by more delta n. You may wonder why this mod and so on, why not just delta n. Soon we will see all this later on which when we get familiar with this, maybe we can just write delta n for this one. And this space is called the standard n-syntlex. Why this n instead of rn plus 1? It is very immediate because the dimension of this affine subspace is n. So this is subspace of that, okay, of full dimension. Let us look at the one case, namely here put n equal to 1. So we are working r2. So what will be this subspace? x0, x1 summation x0 plus x1 is equal to 1. So this will be the line segment joining 1 comma 0 and 0 comma 1 inside r2. So it is one dimension and that will be called one simplex. So one simplex is embedded in r2. Two simplex will be embedded in r3. Two simplex will be the standard two simplex will be the triangle spanned by 1, 0, 0, 0, 1, 0, 0, 0, 1. So those three will be the vertices, okay. We assume that the reader is familiar with a fair amount of linear algebra but perhaps not with this affine geometry. That is why we are recalling some of these basic things. Starting with some n points inside rd, this number of n has nothing to do with dimension d here. n is some n points, finite many points inside rd. An affine combination means what? It is like a linear combination lambda ixi where lambda is a real number. But the sum total is equal to 1. So this is like the parameterization of a line segment t times v plus 1 minus t times u. Why t and 1 minus t? Sum total is 1. That is the whole idea. So that will give you the entire line but it may not be passing through the origin, right? There is no other condition. Sum total must be equal to 1. So when there are only two vectors, okay, x1 and x2 here are not coordinates. They are points. So t times x1 plus 1 minus t times x2 will be the line passing through x1 and x2, right? So that is an affine combination of a1 and a2. Similarly, if you take three points, it may give you a plane. It may not be. If the three points are already collinear, then affine combination will not give you anything more than that line, okay? The affine combination always makes sense. When affine subspace a of rd, we mean a subset of rd with the property that every affine combination of points is inside a again. To take some finite many points of a, take an affine combination. It must be inside a. So close under taking affine combination. You see exactly similar to how do you define linear subspaces. Only thing difference is in the linear combinations of when you take subspace and so on. There is no condition. Lambda is an arbitrary scalars. Here sum total must be 1. That is the difference, okay? Given a subset m of rd by the affine hull of m is meant the collection of all affine combinations of points in m. And this is denoted as fm. fm is similar to given a subset you can take lm which is the linear space spent by that. It is similar construction. Now I am taking only affine space, okay? We say that a subset s of rd is affinely independent. Once again correspondingly linearly independent in linear algebra. So what is it? Summation lambda i xi equal to 0 along with sum total must be equal to 0 here. Okay? Watch out for affine combination is different. Affine independence of summation lambda i xi equal to 0. Then each lambda i must be 0. If you do not put this condition, what you get is linear independence, alright? So this is the definition of affine independent. This is not cooked up. This is forced upon us. You will see in a moment, okay? The function a to b between affine subspaces is said to be affine transformation if it satisfies the following affine linearity.  Okay? We are not saying that f of x plus y is equal to fx plus fy. Either we are saying that f of tx equal to t times fx. That will be linearity. This is affine linearity. Okay? That is the difference. t is any scalar x and y are points of a. a and b are affine subspaces so that whenever x and y are inside a, t times x plus 1 minus t times y is also inside a for all t. Okay? Suppose you have any singleton set and any two set. Okay? Any set for a singleton set is affinely independent. In a linear algebra, 0 is not independent. Any non-zero vector is independent. In affine geometry, such differences are not there. Every point, singleton set is independent. See, this is the beauty of affine algebra. It has better, you know, richer structure than a vector space. Any two set, distinct set, it is independent. 0 comma 1, 0 comma somewhere, it is not independent. As soon as 0 is there, it is not independent. In the case of linear independence. Okay? So that is the difference. So this is a close relation between, there is a close relation between affine independence and linear independence. Okay? But they should not be confused with each other. The key result is the following lemma, the proof of which is very easy. We will follow it. What is the correspondence between affine independent and linear independent? So this is a lemma. Take a function f from r raised to some power to r raised to some other power.  Okay? This is an affine transformation. Now I am thinking of r power r as an affine space. Remember, what is an affine space? Affine combination of any two elements should be inside it. That is it. So r r is an affine space also. It is a vector space. It does not matter. If you do not know the origin, if you are forward on it, then it becomes an affine space. It is the point. Okay? So like now affine transformation, not a linear transformation, affine transformation. If and only if you look at the function fx minus f0, that must be linear transformation. Okay? In a linear transformation, 0 would have gone to 0. f might not have taken because it does not treat any point as distinct. That is the whole business. So now you know what is 0. Look at the image of 0 under f. Subtract that the corresponding function will be linear and conversely. Okay? So in other words, x going to a times x is a linear map. x going to ax plus some b is affine linear map. So any degree one polynomial defines an affine linear transformation. If the constant is 0, then it is a linear map. All right? So I have given the proof also here. Suppose capital F after subtracting f0 is a linear map. Okay?  Right? So I add f0. Now this is linear. This is linear. It is given. Right? So t times fx plus f0 I can add. 1 minus t times fx plus f0 I can add. So 1 minus t times fx 1 minus t times fx I have subtracted.  So commerce is just we can reverse the steps here but we can also do it like this. Assume f is an affine linear transformation. Okay? Then f of 0 by definition is fx minus right? f of 0 minus f0 is f0 this is 0. After that f of tx by definition f of tx plus 1 minus t0 you can write like this. Okay? Minus f0. All right?  But that is nothing but t times fx minus f0 which is by definition t times fx. So t comes out of that. Finally you have to see the addition f of x plus y equal to fx plus fy. Okay? f of x plus y you can write it as f of twice x plus y by 2. Right? When you write like that this 2 comes out f of x by 2 plus y by 2. But now this is an affine transform affine combination 1 by 2 plus 1 by 2 is equal to 1. Right? So that is equal to twice f of x plus y minus f0 which is now you can expand this one. Fx plus fy. Okay? 2 will come here minus twice f0. So fx minus f0 plus fy minus f0 which is capital Fx plus capital Fx. Therefore capital Fx is linear. Capital Fx is linear. Little F is affine transformation so capital Fx. Okay? So here are the few exercises. Okay? Affine combination of points of F is again a point of F. Okay? Show that affine subspace A of Rd is a vector space if and only if it is passing through the origin that's all. Okay? All these exercises are very straightforward. Show that affine subspace A of Rd is nothing but translate of a linear space by a vector. So this will follow 2, 3 will follow from 2. Okay? Every A can be written as some vector space V plus some vector. If you can choose that vector as 0 then A itself will be a linear space is the previous thing. Okay?  Take a point X inside A and throw it away and throwing is not throwing away asset. Okay? Subtract it from all elements. In particular A minus X will have 0 in it. So it will become a vector space. Look at the dimension of that. So this is an easy way of defining by using the linear algebra. You can do it without going through the algebra also. Okay? Independently of all this. So here are some other set of exercises. All these exercises should be separately sent to you. You do not have to copy it from here or anything. Okay? I do not want to discuss each one of them now. But before going to the next session we should be familiar with these things. So do not waste your time. Be firm that you know all these things. Next is one more concept I want to introduce namely which you might not have learned in linear algebra. So namely take a subset of Rd. We say this subset is in general position. If every k subset of A is a find independent where k itself is less than or equal to d plus 1. Every k subset is a find independent. A itself may be an infinite set. What is the k subset? A k subset means a subset which has k elements. For example, take A as a subset of Rd. This will be in general position if no point, no three distinct points are collinear and no four points are coplanar. Okay? A single point is always independent. Even two point is always independent. So that will not give you. Starting with three there will be three points will be collinear. It should not happen. Because k is less than 3 is less than or equal to d plus 1 here. Therefore, every case of find independent means they should not be collinear. Similarly, four points if you take any four points, they should not lie in the same plane. Okay? So this is what the meaning of general position in R3. So if it's R4, you have to have one more. If Rn, you have to have all the way up to n plus 1. n plus 1 point should be, every n plus 1 point should be a find independent. Okay? Notice that the definition is stronger than saying every d plus 1 subset of A is a find independent. Okay? A d plus 1 subset you take, it may be a find independent. Okay? So it should be, I am building up this one inductively. You may try to prove that, that's not the point. Every d subset is a find independent. Every d minus 1 subset is a find independent and so on. Every 2 subset is independent. Every 1 set is independent is easy. So that is all those statements are built up here in one go. That is why this statement is stronger. Whether you just make this one and then arrive at the other one, that's the difference. Okay? These two conditions are equivalent only if A has at least d plus 1 elements. Okay? So you can check that. So here is a general position theorem which uses a little bit of linear algebra. Namely, independence of sets is an open condition. In other words, dependency, linear dependency is a closed condition. So it will be changed. So this is what is ignored in this theorem. Okay? That is the theme of the theorem here. Take any n set inside rd. Given an epsilon positive, there will be points w1, w2, wn. Okay? Such that they are very close to epsilon, close to corresponding vi. The norm of vi minus wi is less than epsilon. And of course, if that is the only condition I could have taken, wi equal to vi. And these w1, w2, wn are in general position now. You take three points in r3. If they are collinear, what will you do? You will move one of the points slightly away. And then you will become general position. This slightly away can be as small as please. Epsilon could be any positive number. That is the meaning of this. Okay? Next thing is, part b is, if a is already in general position, then there exists epsilon positive. Here every epsilon, here it exists epsilon positive such that any set w1, w2, wn which satisfies this property is already in general position. So general position is very dense. That is a part a. And the second part says general position is stable property. If you perturb the whole thing slightly, then it is still in general position. Okay? So that is the interpretation of these two a and b here. The proof is, as I told you, it just follows by the dependency of vectors is a closed condition. An affine space of d plus 1 into n, okay, in this affine space of dimension is 1 of d plus 1 cross and matrices over r. I am taking d plus 1 rows and n columns. In other words, I am taking rn, rn, rn, d plus 1 rows. Okay? Look at that. That is a d plus 1 dimension. This is the same linear isomorphic to r d plus 1 times n, right? That those matrices with rank less than d plus 1 is contained in union of finitely many hyper planes, okay? Satisfying the first, you know, any d plus 1, you have to write their linear combinations of something and so on. Okay? So those matrices rank less than d plus 1. Okay? So therefore, the complement of these affines of finitely many affines of stresses is open as well as dense. So it is dense complement means what? For arbitrary small epsilon, you can find points satisfying that. And once we are in the open set, you can find an epsilon set. All small neighborhoods of that will be inside. Epsilon neighborhoods will be inside that open set. So that is the second part. Okay? So I think we will stop here and next time we will start studying superficial complexes. Thank you.