That's it. Thank you very much. Hello, my name is Vick Oren and I'm with the Shankar College of Engineering, Design and Art, a very nice mix of technology, engineering, science and humanities. I'm with the Department of Chemical Engineering and also I direct the Small Center for Analyzing Ancient Artifacts, specifically the ancient colorants on whether you're talking about dyes or pigments. Now, I will talk about royal purple. I've done analyses on different types of dyes and pigments, but my favorite, of course, there's nothing like royal purple. But to give you a little bit of a spoiler as I'm starting, based hopefully on my talk, a lot of the history books related to royal purple will need to be rewritten. Whoa. Okay, let's go. All right. So as I said, here we have lovely mollusks and lovely colors, and we have the logos that are needed, et cetera. Now, the work that I'm involved in is, of course, archaeological chemistry. Like many of you, I'm not an archaeologist. As I'm meeting people around this conference, they're asking me what I do. So I say disclaimer, I'm not an archaeologist, and they look at me. So what are you doing here? So like many of us who are scientists, we analyze ancient artifacts, and we do a lot of analyses, use different techniques, but there's nothing like chromatography specifically HPLC that many of you have heard about. Just to give you again a quick summary, with HPLC, High Performance Liquid Chromatography, you can get a chromatographic property, and that's called the retention time, the time that it takes for a component to elute, to come out of the stationary phase. You get a nice chromatographic property, such as this pigment, which I'll talk about later also. But you also get a spectrometric property, the UV vis absorption spectrum of different dyes. And of course, if you combine it with mass spectrometry, you get a third property, the molecular weight, but it's unnecessary. The last one, if you're talking about components that you know about. Much of the work that I've done relates to what is known as ancient Israel, the desert area, Judean desert sites. I always tell a slight joke that in Israel, when you dig in the ground, there's bad news and there's good news. When you dig in the ground, the bad news is you don't get oil. But the good news, we get archaeology, which is much more important in my opinion for mankind and womankind for later on. But I've also done analyses for various museums around the world. The organics, of course, as you know, survive in the desert sites. Now, I'm not going to talk about the various dyes of sources from flora and fauna, as you know, plants, insects, and sea snails, because as I said before, my favorite is, of course, the purple pigment producing snails. Well, I'll say that fast 10 times. Purple pigment producing snails. And in the eastern Mediterranean, we have a club med of sea snails. We have what are commonly known as murex snails. We have the sharp, the spiky ones, brandaris. We have the trunculus and we have the sexy stramonita hemostoma. Even the name sounds sexy with a nice red mouth, a very lovely concoction. And from the living snail, we get the pigment. These were not only used for sovereigns and kings and caesars. These were also used for colorants in the biblical aspects, something called argaman, royal purple, a reddish purple, and also another biblical color, which is bluish, which is sometimes known as biblical blue or chelet. Okay, now, in order to do some analyses, we first have to go diving for snails. So up, we're along the eastern Mediterranean, of course, going up north to Afsiv, a very nice spot. There was a club med there once upon a time. It closed many years ago. We can collect sea snails. What you see in the border up north is Lebanon high, and we're very close over there. We collect a whole basket full of snails. And on the beach or in the laboratory, you can knock the shell out. I'm not going to go through the details of how this pigment is produced by cutting out the hyperbranchial gland, whatever. There's a colorless fluid in there. Once it undergoes photochemical oxidation, you get the final pigment that's produced, such as the one that you see right over here. Now, what is the main component of that? Well, historically, the main component, the gentleman who's responsible for identifying the main component of this pigment is Paul Freelander. He actually did it with Murex brandaris, and he has some extraordinary amount of snails. I don't know if that's really true in order to get one gram, but Paul Freelander analyzed it, and he said it's based on the indigo molecule, 6-6-prime dibromoindigo. Basically, the indigo skeleton with two bromine atoms, as you see there, he did that in 1909. Now, how did he know that? Well, that is based on work from 1903. Six years before then, Saxon came with the first to synthesize dibromoindigo, and based on that work, Paul Freelander was able to identify the pigment from that particular snail. Okay, who came next? Well, Fister, the famous dean of all dynalsies. Fister analyzed various textiles from the ancient Near East, Egypt, et cetera, and he used that property that the pigment is dibromoindigo, and based on that identification, he looked for dibromoindigo in various samples from all over, as I said, the ancient Near East. Okay, so that's about nearly 100 years ago. Well, let's take a look at some of my analyses. The first time I did some analyses that I found the purple pigment, and that's in the previous millennium when I did this, it feels like 1,000 years ago, there was a, in Tel Dor, a Phoenician complex, there was a small, a couple of limestones that had some dark residual spots on them. When I analyzed it, Lone, and I did it with UV-Vis spectrometry, I did not have an HPLC 26 years ago, something like that, 27 years ago. So I did UV-Vis absorption, and Lone, behold, it died, it has the fingerprint or the lambda max, the maximum absorption wavelength of approximately 600, that is Tel Dor sample because only a dibromoindigo, bromine indigo will give you that. So this particular site was used for dying with a purple pigment. Okay, then I got the HPLC, and with HPLC, as all of you know, you're able to identify the various components. This is the beauty of HPLC, when done right, you can find all the lovely components. And what I found is that the purple pigment, even though the naked eye only sees a color, as I'm looking around, you see a textile with a particular color, there could be a hundred different molecules in there, of course, or one substance. HPLC sees the invisible, you can quote me on that. And in that purple pigment, there are yellow components, different reddish, purpleish components violet, and of course, a blue component. But of all the components, the major ones that I found in various archaeological samples is indigo, that skeleton, which is of course, a bluish pigment, and dibromoindigo, which is the reddish purple pigment, and a color in between. It's almost like you take indigo and dibromoindigo and you mix it together, but it's a separate molecule monobromoindigo with one bromine atom. Those are the ones to take a look at. So when I looked at purple as a paint pigment, one of the first samples that I analyzed, which gave me a very nice separation of the components, was a jar that belonged to King Darius I, or King Darius the Great. You notice all the kings were the great, never King, what's his name, the so-so. It's always the great, very humble. So this is when he reigned 520 of 486. There's a beautiful marble jar in the Biblelands Museum. For those of you who have been to Jerusalem, right next to the big famous Israel Museum, there's a Biblelands Museum much smaller, but very, very nice. Nevertheless, this marble jar, I call a Persian Rosetta Stone. It's a Persian Rosetta Stone from the King Darius' time. It's got three different cuneiform inscriptions, and it also has Egyptian hieroglyphics. And the Egyptian hieroglyphics is the most detailed, and it actually has Darius' name over there, which I think is something like Dar Yavush in ancient languages. Now, it says, what's interesting, King Darius living eternally year 36. Living eternally year 36? Well, unfortunately, he did not live eternally, because in this 36th year, that's when he died. And that's about 486 BCE.  So I wanted, and this is the theme of my talk, can I tell the provenance, the biological or zoological provenance, what was used, which species was used for these archaeological purple dimes. Archaeologists are very interested in provenance studies, when they look at clays and metals, it came from this earth or that earth. Well, I talk about provenance also, biological, zoological. Where did this come from? So, and also in various five hours left. That's five hours. Okay, thank you. In the Tel-Kabri and Tel-Shikmona, there are various patchards also from ancient Phoenician sites, which we've analyzed. And the question is, what is the Malaskan source, the biological or zoological provenance for this pigment and for other archaeological pigments? So I started looking at various snails, such as the archaeological samples, the tronculous, brandaris, hemistoma. And with HPLC, which is a wonderful tool, you can see that there's a whole bunch of yellows coming up, there's reds, there's blues, et cetera, et cetera. But when I looked at it, I saw that there's one common denominator among the archaeological sample and the various tronculous samples, which I analyzed from Spain, from Israel, et cetera. The key is monobromoindigo, which you can see from this particular chart. That is, the brandaris and hemistoma have negligible monobromoindigo, and you cannot artificially produce in-the-dying monobromoindigo. Yes, it may be there in just an itsy-bitsy, teeny-weeny amount, but you don't get a lot of it. Only the tronculous and the archaeological sample, like the Dariusapho, has monobromoindigo. Well, only the, as I said, only the tronculous has much MBI significant amount of it. I try to quantify it. It also has a significant amount of monobromoindigo. And what is amazing is that all, I repeat the word, all archaeological purple pigments that have been analyzed properly by HPLC have all detected significant levels of monobromoindigo, not just the ones that I've analyzed, others that have analyzed around the world. They have a significant amount of monobromoindigo. What does that mean? Since monobromoindigo cannot be artificially produced, all archaeological purple pigments and dyes were produced from the tronculous species. When the history books write, royal purple was produced from brandaris, in my humble scientific opinion, wrong. Purple pigments from other snails could have been added. If you wanted to get more red, for example, you might have been able to add more. So the rundown is, let me go back, the rundown among these three snails, well, not all snails were created equal. It is not a democratic snail society. What happened? Well, the tronculous is different from the others, or we say in the Passover, why is this night different from all the other nights? Why is the tronculous different from the brandarisi mistoma and other snails that you find in the Atlantic Ocean? Because, oh, wow, it sounds like a Haggadah that I'm telling right now. It's because all the other snails have mainly di-bromoindigo, they only give you a purple pigment, excuse me, purple pigment. Whereas the tronculous I found has all three in significant quantities, and especially monobromoindigo. And there are two, I will call them subspecies. I may be wrong, I'm not a zoologist. When I spoke to zoologists, they said, well, you can't really call it a subspecies because in zoology, there is a very specific definitions of that. Okay, fine. So two different varieties of tronculous, one that will give you a reddish purple pigment, another one that will give you a bluish purple pigment or violet. Why do you get reddish purple pigment? Because it is rich in the red purple pigment di-bromoindigo. Why do you get a bluish purple pigment? Because it is rich in indigo. So that if we go back to the Darius pigment, we can see that the di-bromoindigo, the Darius pigment is rich in di-bromoindigo. We also did purple as a textile dye for a bunch of different textiles. We found it, especially in Masada and some other places. And this is a sample that can be associated with King Herod of the first century BCE. And this particular sample, when we analyze it without going into the details, this is his chromatogram, King Herod's chromatogram, I call it. That's what he called it. King Herod's chromatogram. He knew one day somebody will analyze it. You get di-bromoindigo again by looking at the sample because of the fact there's a significant amount of monobromoindigo. But there's a lot of di-bromoindigo. That's why, of course, it's reddish purple. It's just like paints. And finally, this one I will skip over in the interest of time. There are two different species involved. As I said, in order to get reddish purple pigment, you do not need the brandaris. Also, the amount of pigment in brandaris is negligible. Trunculus has much more. To summarize, all Malaskan archaeological purpose will produce from the trunculus nails. Some species produce reddish purple, others blue purple. These two species could have been, of course, mixed together. And also, other dye stuff could have been mixed into it. And therefore, Pliny's description is correct. That's another story. But for those of you who bashed Pliny's description of the purple dyeing process, shame on you. He was right. Okay, if you want a longer one, a longer talk, Aesor recorded me a number of years ago. It's on YouTube on the subject. And also I gave a TED talk, should you kiss with lipstick? I will not give you the answer nor demonstrate it. Thank you.


Hello, everyone. I'm Harika. I'm from Tata Consentancy Services, India. I'm working as a researcher in cybersecurity group in TCS. My research broadly focuses on applying cryptography and blockchain solutions to business scenarios. Today, I'm here to talk about privacy-enabled immunity credential system. So, here is the agenda of my presentation. First, I'll define the problem statement. Then I'll walk you through the solution highlights and then I'll explain you the solution details and conclude the presentation with a demo. Now, let's define the problem. Recently, there has been a lot of buzz on immunity passports due to COVID-19 pandemic. Many international arrivals have already mandated the vaccination certificates for entering into their countries. The burden of verifying these credentials are delegated to airlines similar to the visa verification process. But for airlines, verifying authenticity of these credentials is a challenge. Recently, there has been cases where passengers are presenting fake certificates in order to travel. This is a very serious problem. There have also been concerns on privacy of individual health information. Most of the systems are now centralized. So, health information is under single-party control. So, there is a need for unified platform to verify the authenticity of these credentials. So, here we present a blockchain-based decentralized immunity credential system. This system enables users to authenticate their credentials to necessary parties. The proof recorded on blockchain is immutable and verifiable. So, our solution also facilitates selective disclosure of credentials. This system is a permission system that has verified entities. This also ensures that no single party is in control of the credential information. Our system has two main primitives. One is VLS signature and other one is the blockchain. We chose VLS signature as it produces short signature. It also facilitates selective disclosure and signature aggregation which are important for our system. We use permission blockchain for our system. This enables us to have entities verified before onboarding them as BLS. Blockchain acts as a single source of trust. Also, information stored on blockchain acts as a mutable proof. Our BLS-based scheme has four main functions. One is the key generation function. It takes security parameter as input. It outputs a public and private key pair. Second is the signature function. This function takes a private key and set of inputs and output signatures corresponding to the inputs. This is used to sign a message with a private key. So, third is the proof generation function which is run by some prover. This function takes some challenges from the verifier and outputs a proof. This proof is computed using signatures from previous step and also from the information that user has. Next is the verify proof function. This function verifies the proof sent by the prover using public key. So, our system has three main entities. They are credential issuer, credential holder and credential verifier. The credential issuer has authority to perform immunity tests. They also issue certificates to the users. Examples are healthcare providers or diagnostic centers. Cred holders are individuals who wish to authenticate themselves to travel or work. Examples are employees of a company or passengers who wish to travel. Cred verifiers are parties who authenticate the credentials of the cred holders. Examples are employer or airlines. So, coming to the cred holder registration phase, we have cred holder who wishes to get immunity certificate. We have a cred issuer which is typically a healthcare provider or a diagnostic center. Also, we have a blockchain. In cred holder registration phase, the cred holder approaches a healthcare provider and presents his identity proof. The healthcare provider verifies the identity and performs the play test. So, once the test results are obtained, it creates a set of claims. Here, each claim is a field in the immunity certificate. Example, first name can be a claim. Your unique identification number can be a claim. So, these claims are signed by the healthcare provider's private key. These are sent to the holder and signatures are stored on the blockchain. So, this completes the registration phase. Now, holder has necessary credentials that can be used to prove his or her immunity. Now, coming to the cred holder authenticate claims phase. So, the cred holder approaches a verifier such as airlines to authenticate. The verifier sends challenges to the cred holder. Using these challenges, the cred holder computes a proof and sends it to the verifier. So, now during the verification phase, the verifier performs the verification of the proof against the global proof. Once the verification is performed, status is recorded on the blockchain. So, this status can be reused for authenticating with the same verifier. So, coming to the reuse transaction, the holder queries the previous authentication transaction from the blockchain. Holder gets the transaction details. Using these details, holder forms the reuse transaction by appending the timestamp and signs it with the private key. So, verifier then approves the transaction based on the validity of the reuse transaction. So, we implemented this using Hyperledger Fabric 2.3. So, we created a single channel with two organizations, each having two peer nodes, a certificate authority and an ordering service. Our BLS-based scheme was implemented using pairing-based crypto library. So, each peer runs the PBC service as an additional service. So, we have implemented four smart contracts, one each for registration phase, proof generation, verification and reuse. Here we have some of our results. So, without blockchain, the proof generation is on average taking about 0.025 seconds. Verification is taking about 0.007 seconds. So, with the blockchain, the timings are on average about 0.7 seconds. The signature size which is compressed is around 65 bytes. So, time for generating signature for single claim is 0.011 seconds. Registration transaction is also taking around 0.7 seconds. So, the key takeaways from this talk are, we present a system that facilitates user to authenticate immunity credentials in a verifiable manner. Our system also bypasses repeated proof generation and verification process with the help of reuse transaction. Our system is built on simple and efficient primitives making it practical. Now, we shall move on to the demo part. So, first comes the network setup phase. As I already mentioned, we implemented our system using Hyperledger Fabric 2.3. We created one channel with two organizations, organization one and organization two. Each organization will have two peers, one certificate authority and one ordering service. We used CouchDB as a state database. As you can see, the channel is getting created and peers are added to the organizations. Yes, this completes the network setup phase. So, next is the chain code deployment phase. As we all know, chain code is similar to a smart contract that encapsulates business logic. This logic is agreed by all members of the network. A chain code can be invoked to update or query the ledger. So, in this phase, chain code is being installed on all the peers. So, from each chain code, PBC code is called for performing BLS functions. As I already mentioned, we are implementing BLS-based functions using pairing-based crypto library. So, this PBC-related code is run as an additional service on all the peers. This service is mainly used for signature generation verification and proof generation process. So, we are connecting to the PBC server from the chain code. So, the communication between chain code and PBC service is done via sockets. So, also I would like to emphasize that all the participants of the network are running inside Docker containers in a single machine. But in real-world scenarios, each peer runs in a separate machine. So, in our implementation, we have used chain codes for cred holder registration phase, proof generation and proof verification phases. So, this completes our chain code deployment phase. So, our next is running PBC service. So, we are running PBC service on port 8801. Next, we have the smart contract functionalities. So, first one is the registration transaction. This transaction is used by the cred issuer. So, once this transaction is successfully executed, signatures are stored on the blockchain. These signatures acts as global proof, which will be used while verification. Now, we shall query and see the signatures part. So, these are the signatures stored on blockchain. So, this is the CouchDB UI. You can see the signatures on the CouchDB, they are successfully stored on blockchain. So, next we have the generate proof transaction. This transaction is issued by the cred holder. This transaction takes challenges and claim indices as inputs and computes a proof. This proof and certificate of the cred holder are stored on the blockchain. So, this certificate is used while checking the ownership in reuse transaction. So, next we have the verify proof transaction. This transaction is issued by the verifier. This transaction takes proof and claims as input and verifies the authenticity. So, once this transaction is successful, verification status is stored on the blockchain. So, here we are querying the status. So, this status can be used for authenticating with the same verifier. So, within a validity period. So, as you can see the state database, the verification success has been stored on blockchain. So, this completes our demo part. So, if you have any questions, please feel free to answer. I'll answer them.


Okay, thank you very much. I don't think I'm alone in sometimes asking myself why on earth I continue to sit at my desk or in my armchair trying to make sense of Jane logic and epistemology. Even Jane philosophers themselves must have shared entertain similar doubts while at the same time formulating doctrines which legitimize the study of their philosophical thinking. One of those thinkers was certainly Haribah Drasuri. According to this most prolific exponent of Jane epistemology and logic, there are two kinds of benefits to be derived from the study of philosophical textbooks. First, our faith in Dharma is strengthened as we recognize that there is a consensus or some stity of all chastras that temple happiness is the outcome of virtuous conduct. Second, when we study the basic principles of various philosophical systems in the light of the Jaina Anakantavada, we learn that all of them in one way or other impart true insight. As our knowledge increases and gradually destroys the karmic obstacles, it serves to bring us closer to Moksha, the state in which the liberty self is pure vision, knowledge, power and bliss. Thus in order to facilitate philosophical studies, Haribah Drasura then composed a variety of texts with the logic, epistemology, and metaphysics and ethics of a variety of philosophical systems were summarized and discussed. We might agree or disagree with Haribah Drasuri. Nonetheless, philosophical studies brings joy to most of us and we can all agree that different systems of thought share common features. In any case, an open and broad minded attitude towards one's rivals, such as that of Haribah Drasuri, seemed to have been more common among Jain thinkers than Buddhists. After all, the Jains not only indulged in philosophical debates, they also served as transmitters of other non-Jain philosophies. Medieval Jain monks educated themselves far beyond their own specialty into new areas of thought to an extent unparalleled in Indian, in classical India. One of the systems that Haribah Drasuri portrayed and discussed was Sankhya. He was certainly not the only Jain philosopher to do so. Prior to Haribah Drasuri and his colleague Vidyanandin, the Dva Trimchika ascribed to Sirasena Divakara, devoted an entire chapter to Sankhya, and subsequent to Haribah Dara, the examination of Sankhya philosophy was continued by Abhaya Deva, Prabhachandra, Vali Deva, Malishena and so on. One of the reasons for Haribah Drasuri, as well as Buddhist colleagues, to indulge in a debate with Sankhya was a prevalent debate on epistemology and more specifically on the process of knowledge and how the self comes to know. In doing so, several points of divergence as well as of convergence between these systems of thought were highlighted. Needless to say, the result of these debates were of utmost importance to the involved disputants, the omniscient status of their respective founders being at stake. This is made plain by the implication of the following statement by the Jain philosopher Vidyanandin. If the self is intrinsically devoid of knowledge, Kapala would have nothing to say about the nature of reality. The young Sankhya from its own particular philosophical vantage point, the Jain critique naturally differed from that level by the Buddhists, although there is ample evidence that these Jain scholars, were nonetheless well acquainted with the early Buddhist critique of the Sankhya tradition. For example, the Shatushataka by Aryadeva was studied by Jain philosophers such as Haribath Rasuri and Malavadin. While the Jains shared with Sankhya belief in the existence of a self, the general did not agree that the self was a non-active principle. Although in the 1960s, this latter notion did exert some influence on Jain thought. A. M. Patel, the founder of the modern Jain movement, for example, maintained that all forms of action, mental, verbal and physical, are strictly material and thus entirely unconnected to the self, which from an ultimate non-conventional point of view is conceived as a mere passive observer. Such a conclusion clear deviates from mainstream Jain philosophy and its doctrine of a transforming self and indicates that Patel was influenced by the Sankhya notion of the absolute separation of self and matter. Haribath Rasuri's Jain critique of Sankhya rests upon his belief in the fundamental existence of a self, although he differs from Sankhya with regard to how that self should be characterized. In the Yoga Bindu, Haribath Rasuri presents a hypothetical debate between the Jain and Sankhya philosophies beginning with the critique of the Sankhya notion that the self knows an object only after the intellect or body has ascertained it. In contrast, Haribath Rasuri maintains that consciousness is identical to knowledge. Thus at the time of liberation, when the pure self is no longer covered and or conditioned by veiling factors, it nonetheless remains capable of directly perceiving and thus knowing the object without the medium of the material mind and senses. In retribution, the Sankhya are said to state that in their view, consciousness is not at all identical with knowledge. Thus at the time of liberation, when the self is in a state of separation from matter or freedom from material influence, no knowledge that can exist on its part. Knowledge according to Sankhya belongs to the intellect which in turn is a product of primordial matter or property. Haribath Rasuri then returns to the initial critique concerning the locus and process of knowledge and asks what it means to say that the self comprehends the object only after the body or intellect has apprehended it. The following two quotations, the first is described to Vin Yavasin and the second to Rasuri, constitute the Sankhya response to this concern. Sankhya states, by means of sheer proximity, the self, the essence of which is unchanging consciousness makes the mind which is devoid of consciousness a reflection of itself. Just as an adjunct, for example, a flower makes a crystal a reflection of itself. Sankhya further states, it is said by Rasuri and others that the highest pleasure of the self arises when the intellect has undergone such a change whereby it has become separated from the self and whereby the self is reflected in the intellect just like the appearance of the reflection of the moon in clear water. While these quotations do not directly answer the question posed by Haribat Rasuri, they do outline their prerequisites that are necessary for the buddhi or manas used synonymously in this context to acquire knowledge. Purushal consciousness being reflected in the buddhi or manas and buddhi or manas being transformed. In the state of liberation, Sankhya goes on, the object is correctly apprehended by the intellect because of a transformation that allows consciousness to be fully reflected within it. When an opaque stone has transformed to crystal, it is then able to fully reflect the color imposed by the proximity of a substance. Encountering this explanation, Haribat Rasuri maintains that the self is fully reflected in the buddhi not through a transformation of buddhi but through a transformation of the self's consciousness. He further maintains that knowledge must consist of this transformation of consciousness. The Jains share with classical Sankhya the notion of an individual self, adding that this individual self is transformative as well. Thus they did not oppose this feature of Sankhya's explanation of the process of knowledge. Moreover, whereas the Sankhya's believe that the self's knowledge was dependent on the proximity of an object, the Jains maintain instead that having knowledge was one among the self's intrinsic qualities. In the Shastravarta Samasaya and his allied or to commentary the Dik Prada, the Sankhya's argue that it's possible for the self to experience an object, in this case the body, without being in connection with it. In the liberated state, the self's enjoyment is not factually an enjoyment of the body, but rather arises as a reflection as explained by individuals such as Vindhya Vasin and Asuri. After quoting the already quoted verses, Stanzas Haribadrasura responds by pointing to the Sankhya's notion of non-material and intrinsic nature of the self. The argument that the reflection of the self appears in the body is incompatible with the view that the self is non-material. Furthermore, since it would have too many illogical implications, the liberated self can never enjoy an object reflected in the body. Haribadrasura goes on to note that if for the sake of argument one were to admit the notion that in the state of liberation the self attains some sort of different or new nature that enables it to reflect in the body, this will lead to the equally illogical conclusion that the eternally unchanging and permanent self has somehow or other transformed contradiction in terms. In the period between the sixth and eighth century AD, one of the prime areas of controversy between Sankhya philosophers on the one side and Jain philosophers verse on the other involved the Jain versus the Sankhya understanding of how and where knowledge arises and how the self is able to experience knowledge without undergoing change. The controversy thus dealt with epistemological as well as ontological problems. This focus shifted from the ninth century onwards, most notably among Jain philosophers who borrowed arguments from the Buddhists in order to criticize Sankhya theories of causality. Many of the arguments directed to a Sankhya philosopher by Jain thinkers from the ninth century onwards were borrowed from Buddhism, notably the Tattva Sangraha by Shanta Rakshita. The process as described by Phyllis Granov went something like this. The Jain authors allowed one party in error, that is the Buddhist, to refute another party in error, that is the Sankhyaites. Over the course of time, all reference to Buddhism were dropped. The same arguments were presented as if they had been Jain arguments all along. Phyllis Granov's has referred to this period characterized by the influence of Buddhist arguments and the focus on theories of causality as the time in which Jain arguments against Sankhya philosophers standardized. The Yoga, Bindu and Shastravartya Samochaya of Hare Bhadrasuri document a version of the Pratibim Bhavada, the doctrine of reflection, according to which the self or Purusha is reflected in the Buddha. Such a theory appears in the Yoga Sutra Bhashya, the Yukti Deepika, and in fragments attributed by various Jain authors to either Vindyavassin or the mythical Asuri, is therefore reasonable to assume that Vindyavassin formulated the earliest known version of the doctrine of reflection within the classical Sankhya tradition in order to defend the position that the self retains its unchanging status while simultaneously experiencing knowledge. According to Gerald Larson and others, Vindyavassin's philosophy is closely related to Patanjali Yoga Shastra of the Yoga Sutra and the Yoga Sutra Bhashya, and thus it may be that Vindyavassin and Vyasa are one and the same person. If true, the theory of reflection advocated by Vindyavassin likely competed with the theory of knowledge of the old Sankhya school of Varshaganya Shastitantra, and with the theory of knowledge of Ishvalakrishna was familiar with Vindyavassin. Over the course of time, the theory of the old Sankhya school was gradually replaced by a different version of this Pratibim Bhavada, which then is transmitted by Hare Bhadrasuri, most notably those documented by Shantarakshita Kamalashila Hare Bhadrasuri. Hare Bhadrasuri claimed as we heard that philosophical study results in temporal happiness and true insights. So I therefore hope that this paper has made you happier and more insides filled. If not, we have at least in good Jain spirit passed on an important intellectual heritage for posterity. Thank you.


I think we're starting. Are we good? We're good to go. Hey, thank you for joining us today. We're going to talk here about running Docker containers using Kubernetes on OpenStack. I hope that's the talk you're here for. So my name is Craig Peters. I'm a product manager at Mirantis, and I'm really happy to welcome Kit Merker to join me. Hi there. I'm Kit Merker. I'm a product manager at Google, container engine, container registry, and Kubernetes. And I'm just going to give a very brief introduction to Kubernetes. And then I'll play around with a Kubernetes cluster later running on OpenStack. So just before we get started, quick show of hands. How many people here have deployed Kubernetes in production? We got a couple. Three. Okay, nice. How many of you have used Kubernetes at all, built a cluster, played around with it? Nice. How many people here have heard of Kubernetes? Oh, look at this. Look at all that. I mean, before you walked into the room and we said that word. And does anybody here know the original origin of the word Kubernetes? Does anybody know where the word comes from? It's Greek, right? Not Patrick. You know? Right there. Shout it out, man. There you go. Yeah. The ancient Greek word for the helmsman of a ship. Anyway, so like I said, I'm going to give a very brief overview. Before we get into Kubernetes, though, you sort of have to back up and say, okay, why containers? It's the hip new hype in the technology space right now to run containers. But they actually provide a lot of benefits to you as you're running an infrastructure. You know, first of all, performance. You can spin up a container much faster than a VM. So you can tear them up and down. You can deploy containers repeatedly. They're sealed from an image. And you can take those and push them repeatedly to different environments and not have to worry about installing bits that might fail midway through deployment. You get isolation. So if you have noisy neighbors, two containers running side-by-side, one of them's noisy, the other one's isolated. They can't reach into each other's space or consume each other's resources. You can get a consistent quality of service across your environment because you have container run times that are working in the same repeatable way. And also get an accounting of what's actually running in your environment. So if you think about you've got all this infrastructure, you're running different applications, you can see everything that's running, exactly what version of what code's running, which is also kind of a way of getting visibility into what's running in your environment as well. But one of the most important features of containers is portability. Being able to take code that you wrote, package it into a container image or a container runtime, and move it between different environments. So whether that's an open-stack environment on-premises or in a cloud provider like Amazon, Google Cloud Platform, Digital Ocean, being able to move that same code and not worry about what specific machine I'm running on, what specific infrastructure I'm running on. I can just kind of let it run. And for enterprises and companies today, being able to move between different infrastructures is really important. Things change and people are migrating to cloud. People are taking things that are in cloud and moving them into on-premises for performance reasons or security reasons. Being able to have that choice and portability is really important. So when you think of running your code in containers, it's fundamentally a different way of building applications than on bare metal or a VM-only style environment. Talking a little bit about sort of a spectrum of tools, right? So we think of Docker. The Docker project is really the packaging and runtime portion of the container. So the Docker format is a great way to run a container, take your code, share a kernel with the shared VM, share it on Docker Hub. You can get code from other people that have already pushed out images. So that's kind of the Docker piece. And they've really solved the imaging, packaging, developer experience piece of getting a single container running. And you can deploy that onto your laptop, on your server, on your cloud, and it runs kind of consistently and repeatably. Kubernetes is the open-source project that Google created last year, almost at our one-year anniversary. The idea behind it is it's for cluster-oriented orchestration of containers. We have multiple containers that are working together that can scale up and down, where you can easily update, deploy, not have to worry about your infrastructure, really focus on your code, focus on the operations of your infrastructure, and also declaratively manage it. So you define what you want, and Kubernetes tries to fulfill that desire. So you're not giving it a series of instructions, do this, do that, run this here, run this there. You let the scheduler do the work. I'm going to show a little bit of that later. And because Kubernetes is open-source and we designed it to run anywhere, it really fits into not just Google infrastructure, but any public cloud, private cloud on-premises, et cetera. And then Google also offers the container engine, which is the hosted version of Kubernetes that runs on Google infrastructure.  You get the full power of the Google infrastructure and Google Cloud, and it's powered by Kubernetes. All right, and just so, you know, by way of background, Google's been running containers for many, many years. Every single service that Google runs, whether it's Gmail, Search, Yahoo, Hangouts, et cetera, all of it runs inside of containers. And that's run on an infrastructure, and we've recently kind of shared some of the details of our internal infrastructure called Borg. And Borg is the kind of container management infrastructure that inspired Kubernetes. And the same people that developed Borg that runs all these scale services, they also built and designed Kubernetes and are working on it today. So they really took the concepts that have driven this massive learning that Google had to go through to get to the scale that we're currently at. We've taken that and turned it into a streamlined open-source project that anybody can run, even for smaller applications. Not everybody here is running a Google-sized infrastructure, obviously, but, you know, for you or your customers, getting those design principles in, even at a smaller scale, gives you a lot more power and gets all the benefits that I talked about earlier. And we launched two billion containers a week, which is just like an impressive number, so we just say that a lot. Two billion! Hopefully we'll... Well, I should figure out what the decade number is. I think it would be a really big number. Greek word for helmsman, also the root of the word governor. You know, container orchestration runs Docker containers. Actually, we recently announced support, early support for rocket containers as well, but we really want to provide choice. Any container runtime that the community wants to contribute, we want to make it run in Kubernetes. Multi-cloud, bare metal configurations, inspired by our internal infrastructure, written in Go. Really, what it comes down to is we want you to manage your applications, not the machines. And that's what Kubernetes value really comes in. Let's see. I want to give just a very brief overview of the concepts of Kubernetes. Most of you may have heard about these. I'm going to try and do it as eloquently as I can, but I also am impressed for time, so I'm going to do my best here. I'm kind of joking. I'll take questions later too. So container, where to talk about a container? That's the single unit of runtime. We also have this concept in Kubernetes called pods. And what a pod is, is when you have containers that work together very closely, that have shared fate, that have shared life cycle, they can communicate with each other as if they're on the same network, they have the same IP address, they treat each other as local host, they work together very closely, and pods can have one container. That's fine, but it actually is very powerful to be able to have two or three or four containers where you have reusable libraries or you want to do application composition and not do that earlier in your sort of build process and do it at runtime. So you can take one example what we use here is like you have a content server that's serving static content, and maybe you have a sinker service that it goes and grabs it from some data store somewhere. You put those two containers together. If either one of those pieces of the application changes, that container, you don't have to rebuild an entire application. So you get that nice separation of concerns and the ability to compose that application. But at the same time, they get to run together very closely with shared fate. We have this other concept of controller, the primary instance of this being our replication controller. And really what a controller does is this fulfills that whole declarative management. So you define what your desired state is. So maybe you say I want to have five of these containers running at any given time. The controller will look and see, okay, are there five? Are there five? Are there five? If suddenly there are four because a VM went down or a hard drive got lost and so your infrastructure is impacted, it'll go ahead and find a new place to run it and add that. Or maybe your desired state changed. Instead of five, I want to have ten. It'll go find resources to spin up ten. There's also those interesting corner cases where the VM goes away, I spin up new work, the VM comes back, and so now I've got more than I wanted. Kubernetes will actually notice that state as well and spin down containers until you get the right number. So the control state is really about observing the truth, measuring that against the desired state, and then taking action to fulfill that. It takes a huge burden off your back as an application administrator because you don't have to worry about implementing that for yourself. You can just kind of take advantage of it. We have this really unique word we invented called a service. It has exactly one meaning. It's basically this idea of a service which is basically a group of pods and be able to address those pods by one IP address or one handle. So you think of like, I have all these different pods and any one of them could do the work. I don't want to address this individual pod or an individual container. I just want to point out that group of pods over there, that herd. I just want to point out that service lets you do that.  You can use this app to put those into containers that all do one container replicated many times with a single pointer. We have two more concepts. I'll go over labels and selectors which are very closely related. So in microservice style applications, hierarchy is bad. You want to have all these loosely coupled services that can all talk to each other and they each do a job and then they work together to create this application. What we have in Kubernetes is this concept of labels where you can actually take a key value pair of whatever you want and you can label things in your app. Kubernetes uses this internally to find and address different portions of the app. The replication controller will use labels to find the control loop. You might say, okay, this set of pods over here, these are all front end pods, these ones over here are all back end pods or these are all part of this one application. You can use key value pairs that you want and describe your environment and your application in a way that the Kubernetes API can understand and use for addressing. Finally, the selector is basically the query you use to use the labels. So that's just a way of finding anything in your application by labeling, which means you don't have to worry about which machine is running on or anything else. You just set a query and go through it. A client would use the selector to find the right services that they want to consume or would other pods use the selector? Either way. So that was my brief overview of Kubernetes. It's not that complicated. It's not that hard. I'm going to hand it back to Craig now and he's going to talk about OpenStack, Marano and Kubernetes running on OpenStack. Here we go. So I'm going to start by setting the stage for a little demo we're going to do which actually shows Kubernetes running on OpenStack. I'm kind of harking back to what Kit had to say about portability. If you think about trying to use one of these systems, this is kind of a simple example you might have. I want to set up a monitoring system that uses some simple components that I can get off the shelf. Some nice open source tools like Grafana and FlexDB, but I want to do it in an HA way. I want to wire them up. I want to make sure that they are always available and I want to take advantage of an orchestration engine like Kubernetes to make sure that all these connections are always available to the other parts of the service. So, that's kind of a common premise probably for all of us that we need to do something like this. So we kind of have several choices. One choice is to look at all the documentation for these tools and figure out how they should be connected together to configure literally thousands of parameters after I've installed them and to do lots of testing and figure out how to do that. So that's kind of the left column here on this slide. Another choice I have is to use somebody who's already packaged this kind of a thing as a preconfigured app in a hosted environment so I'm not even running it locally. I'm kind of outsourcing all that infrastructure and so I can point and click and go through and host it there which is an awesome solution but not for every scenario. Sometimes you also need that stuff in-house and so what we're going to talk about here is another option which is presented on how you can do it on OpenStack using a technology called Merano. And what Merano does is it essentially does a lot of the same kinds of things that the hosted service providers do in packaging up their applications into a kind of marketplace but in your on-prem cloud so you have much easier time integrating with your existing infrastructure or complying with regulatory requirements or taking advantage of flexibility you need in your underlying infrastructure to serve an application-specific service level agreement so we'll take a little look there. So I want to introduce the notion of Merano a little bit here because it serves as the glue or the underpinnings that makes it really easy to run Kubernetes and other orchestration engines and it will be quite frank there. OpenStack is designed to run any kind of infrastructure so it supports all kinds of passes other kinds of orchestration containers and what we've done is we've been really lucky to be able to collaborate with Google on creating an integration that shows how you can easily run Kubernetes on OpenStack. So Merano is a way to do application management in the cloud. It's a way to package up things in a user-provisioned way and provide repeatability so it provides a list of applications it exposes a set of APIs that can then be consumed by automation infrastructure for things like CICD and you can implement really interesting use cases like when tests fail you can automatically take snapshots and when the developer comes in in the morning they can recreate that environment and do debugging in C2 instead of having to just look at logs and figure out what happened so you can get the real picture of what happened in the cloud. So the whole idea here is to provide a way for operators to create consistency in the way their applications are run across tenants and have a degree of control. So say for example when you deploy a certain application you always want to instrument it for monitoring in a certain way and you want to automate how that monitoring is used for billing, show back, that kind of thing. So essentially Merano does this by being an application abstraction and presents that as a catalog. It has an application object model which keeps track of application state and then the events, they're essentially events that occur around applications and those take advantage of the application state and those are exposed in the UI or you can consume them from any API endpoint so they just extend the open stack APIs and the way you configure it is essentially using a domain specific language for those kind of event driven workflows and if we have time after the demo we'll spend a little time just digging into that a little bit. It's a very powerful concept. So what I want to do is show you how you would provision a Kubernetes cluster and this is actually kind of awkward excuse me while I bend over my demo it's not exactly the ideal setup that's actually not about the ideal. There's a few of them here right I can pick one. So one of the things we introduced earlier this week so on Tuesday I was lucky enough to be invited up on stage to launch the app catalog so what we'll do is we're going to go get a dockerized application from the app catalog and configure it to be deployed in my open stack instance here so I can go to my packages and see I have a bunch of tools here available already for users of this tenant but I want to add to it I want to go get that Grafana tool that I've been hearing about and see how I use that. So I'm going to go to import package and I'm going to go find the repository and go find a list of things that I could use. So I'm going to go find a Marano package and let's see let's go find Grafana see if this search works. Ah yes I can. That would assume I know the command for that. If it were a Mac it would be true but actually I'm running Oracle OS here. Shift control plus. There we go so I found dockergrafana is that readable now? So in the community app catalog essentially I could do a search I found the artifact I want I got a description of it I already know what it is so I'm going to use it I can see who created this thing and get in touch with them and interestingly I can see what it depends on so in this case it's a it's a dockerized instance of Grafana so it depends on either docker or Kubernetes pod and obviously that's what I'm interested in showing here but it also depends on a backend database right so in this case this packaging of it says it's going to use the influx DB so I'm going to go ahead and just copy the package name into Horizon paste it here and assuming all my network setup magic that was happening while you guys came in worked it did so now what I've got it imported a bunch of packages into my environment here and I'm going to give them I'm going to kind of categorize this as I wish I had a monitoring category but I don't so I'm just going to call it databases and create so what it's done is it's added additional packages to my list of packages which means so I'm kind of looking at it as an administrator I've published those now so users who come to the catalog they go here and they see the list of tools that are available for them to self-deploy so let's go and see what it's like to configure an environment to deploy Grafana so I'm going to add this I'm going to do a quick deploy on that let's call it Docker Grafana and so this is a Docker container so the Morano packaging knows that a Docker container depends upon a container host so Morano has this notion of dependencies and abstract ways to satisfy those dependencies and in this case I've got two ways to do that I can either use the Docker standalone host which is essentially in this case it's implemented as a VM that runs the Docker service so I'm going to choose that I'm going to give the pod a name so I'm just going to call this my Grafana pod you can see in a previous instance I misspelled it and that Kubernetes pod as Kit had so quickly explained about pods pods actually depend on the Kubernetes service itself to run so I'm going to create a cluster for the Kubernetes service I'm actually just going to pick the default so the Kubernetes cluster actually has a pretty sophisticated set of configurations so I'm sure that the state the declarative state of the cluster is maintained and it essentially maintains its own high availability infrastructure it's got minions and things like that and then this packaging implements something called gateways which provide easy access to the internet to create a public IP address so you can access that API endpoint so I'm just going to choose all the defaults there and then I get to choose my flavor thing and make sure I can do an SSH connection to it and I'm done with the Kubernetes cluster and I'm going to finish the pod and I can deploy that and there was an error uh oh that's a problem happily this is a baking show pulling out of the oven I pulled one out of the oven that I baked yesterday afternoon so my server is right here and it says I couldn't use it so here I've actually got a cluster already running so let's take a look at that so in this case one of the things I actually went through really quickly is that I had chosen to run oh actually that's the problem there was some problem with the dependency didn't flex DB I didn't ask about that so I chose that was the error that came up and I'm not sure why we'll find out why but what I did when I configured this one is I actually chose to have the both the influx DB and Grafana run in the same pod so that they had this shared fate right and I chose to only have one cluster of that because I'm running all on my little machine here and so what does that look like so here I've got a topology that shows what I've got so in this case I've got my Grafana Docker pod that's running on a and this is actually the influx DB I actually see now exactly what happened influx DB didn't come down for some reason they're both dependent on this Kubernetes pod which is depending on the Kubernetes service which has various minions and gateways and those can scale up and scale down dynamically in this infrastructure so you know what we can do now is we can actually look at what Kubernetes does for us on there so should I drive since I'm sitting down sure why not I can just do a docker ps docker ps so I've got some containers running here so one of the things that we talked about is Kubernetes is focused on maintaining the state of these things right so let's kill one of these guys make the screen bigger we probably can't see it do it again please do it again again again how do I make the floor bigger on this sucker just press up sorry control plus here we go is that readable you're gonna have the same problem where it's not sorry it's truncating your table pseudo there we go alright the important thing here though is look at the created times we're gonna just pay attention to that yep so you see one of them we did this just before the demo we did 24 minutes ago it came to life so do we move so Kubernetes is watching these containers and what it's gonna do is I'm just gonna kill one of these control shift sorry control shift C alright so we're gonna docker kill and then control shift V so that's the same ID for the one that was created 24 minutes ago right so we're gonna kill it and then we're gonna do let's take a look at what we got it's not there it's dead uh oh I killed it oh wait there it is that was a little slow the server is under some mode so you'll notice it brought it right back to life and so Kubernetes is watching the I wanna do this again it was like instantaneous last time let's kill another one I'm gonna kill the other one it probably it probably confused because you killed the same one yeah sure let's see ready there it is one second ago so yeah we're hang on a second can I do the resize or because I had one other thing to show but we're not going to anyway we'll do anything else we had a little networking fail so did you do anything else I do let's just take a minute to think about what it is we've seen so we have seen Kubernetes which is a really sophisticated orchestration engine running on top of IAS running on my stupid laptop simulating a cluster of machines right and um essentially what we've got inside OpenStack in the Marano project is a way to build an infrastructure that essentially mimics what Google Container Engine does for Google Compute right and so I just wanted to give you a little insight into what that means so essentially we talked a little bit about packaging applications which allows you to have some control over who can do what and so you as a user can create a package and there are a whole bunch of packages now as you saw published up on theapps.openstack.org and we invite you all to contribute more to them and that's actually kind of where I want to go with the rest of the talk we as a community can build a community of best practices around how we do this kind of container management on all kinds of infrastructure to make sure we can have reality of this portability and Marano is just a tiny little piece of glue that makes sure that these layers can work really well together and so from a user experience I can just do this kind of drag and drop experience to configure very sophisticated infrastructures of clusters and that's done because there's a little magic that happens behind the scenes and this is some of the Marano PL and I've got the link here and you'll be able to get to that that's just out on GitHub and you can see how that works and I just wanted to walk really quickly through this thing that actually goes and does all this work to create a pod so it kind of has two major parts there's kind of a setup and so there's a name obviously it's called create pod it takes some arguments and the arguments are a contract so what is there about that version for example it's got a kind what kind of data are we doing and metadata and so that's stuff that's passed to this to give it context and then it declares a few things about that so essentially you've now got information about what's going on there and this is what comes in and then the next is to say let's check the state of the system let's see if it looks like what Marano thinks the system should look like because it's true that Kit could have gone and done some commands to that cluster that Marano wouldn't have known about so there's this dollar sign deploy so it's like this deploy it'll run that method that's a separate method that has its own things and what that does is that checks and sees if the cluster is in the same state that Marano thinks it's in it's not tightly bound, it's loosely bound and once it's done that it knows what the current state is and that's loaded into the environment so resources is then a set of associated things that are a part of this package so this just loads those in so for example for Kubernetes there's a whole bunch of scripts that come with this to do all those kube control commands that you have to do and it automates that then for the user or for hovers calling the API and then finally it does basically template search and replace those scripts have variables in them and you've got all this context about the current application state and what data has been passed in it does search and replace and then it executes them so this is just one example in this case it's just calling shell scripts to do work on the cluster you know Marano is very powerful infrastructure for doing all kinds of things in open stack so it leverages heat so you can have heat templates or dynamically works and all kinds of stuff that's also done as a part of the package to implement Kubernetes so that's just a little peek in there there's a lot more to learn of course but I wanted to give you a feeling of how straightforward it really is so I wanted to take just a minute here to talk about future things we have five minutes left so we're wrapping up the last two slides so one of the things we want to do is make sure that we invite everybody to help us keep up with all the stuff that's happening in Kubernetes it's a really fast moving project I'd say on the same order is how fast open stack itself is moving and that's a challenge so our packages are in open source and we invite all of you guys to help learn about them and help contribute to them some of the things it lacks right now are really robust error handling it's kind of a first version it's kind of a preview, I mean Kubernetes is still in preview this package is in the same state one of the things you talked about with services I think it'd be really interesting because if you think about the Morano as an application catalog it's a registry of services that are available to users of cloud Kubernetes represents those as their services that are available as microservices and cross registration of those things and understanding how that should work is an interesting thing how do you handle autoscaling of clusters from external events related to open stack how do you deal with multi-tenancy multi-regions how do you deal with alternative overlay networks and to me actually the most interesting thing is we did some experimentation and we wanted to show it but it wasn't quite ready to share yet is how do we at the push of a button say export this whole configuration and application and running on Google Cloud Engine on Google Container Engine so I think there's a lot of great work to be done in these areas to make it awesome for all of us to invite all of you to participate in doing that with us and so I've got some links here for obvious next steps how can you do this yourself in your own labs and how can you contribute so I hope these links are useful and I think do you have anything more to share before we ask for questions I think we could take some questions if there's questions Patrick there is an open source web UIS if you go to the Kubernetes project in the www folder I think it is right here so the question was how often is the APAC going to change it's a great question so as we've been pre 1.0 it's changed pretty rapidly but we're putting in place we have a governance model and deprecation policy we have I believe it's either a one year 18 month deprecation policy for every feature of Google Cloud Platform so we're getting much more serious about making things reliable for the long term so you can take good bets on the technology but yeah it's a great question over here one pod goes to one host anyone else right here go ahead and talk in the microphone since you're right there so open stack has to now be only IIS with this it's going into the past layer also so is there going to be more investment in terms of not going to be any more suppression between IIS and platform as a service or open stack is going to be all with morano so is that a question about the open stack project about morano so morano is a layer to facilitate the integration between open stack and other kinds of services so it is not meant of itself to be a pass or a container orchestration engine and then of itself it's there to facilitate other tools to do that other questions yeah go ahead so when I did the demonstration so that is actually a preview of morantis open stack 6.1 which is based on Juno still that will be out in a couple of weeks wait is it one at the microphone here we have magnum also to deploy Kubernetes so what's the difference between magnum and morano there are lots of differences between magnum and morano just taking Kubernetes as base just yeah right so that's actually a much more complicated subject that we don't cover in a one-year question so you can reach out to me after and we can chat here if you want I don't have all the answers in short thank you a simple answer there is a fairly simple answer is that borg has lots and lots of features that wouldn't make sense if you read the paper there's lots of stuff in it that wouldn't make sense so to keep it clean easy for people to contribute to we wrote it in go we simplified and streamlined a lot of the concepts it was just easier to start from scratch licensing and legal issues it's the same people that went and built it never mind that it takes six months to learn how to use borg other questions thanks so much reach out to us after thank you


Statistics and Excel. Average deviation, standard deviation, and variance for population with salary data. Got data? Let's get stuck into it with statistics and Excel. First, a word from our sponsor. Yeah, actually, we're sponsoring ourselves on this one because apparently the merchandisers, they don't want to be seen with us.  Like our Accounting Rocks product line. If you're not crunching cords using Excel, you're doing it wrong. A must-have product, because the fact as everyone knows of accounting being one of the highest forms of artistic expression means accountants have a requirement, the obligation, a duty to share the tools necessary to properly channel the creative muse. And the muse, she rarely speaks more clearly than through the beautiful symmetry of spreadsheets. So get the shirt, because the creative muse, she could use a new pair of shoes. If you would like a commercial-free experience, consider subscribing to our website at accountinginstruction.com or accountinginstruction.thinkific.com. You're not required to, but if you have access to OneNote, we're in the icon left-hand side. OneNote presentation, 1442, average deviation, standard deviation, and variance for population with salary data tab. We're also uploading transcripts to OneNote so that you can go to the View tab, Immersive Reader Tool, change the language if you so choose, be able to read or listen to the transcript in multiple languages using the timestamps to tie in to the video presentations. OneNote desktop version here, data on the left-hand side, imagining it to be salary or income information for a corporation or business. In prior presentations, we've been focusing in on the standard deviation as well as the variance as the new concepts we're focusing in on. In addition to some of the prior standard statistical concepts we've been working on, including things like the mean or average, the men, quartile one, quartile three, and so on and so forth. Remembering that the variance and the standard deviation have to do with an attempt to get a more numerical representation of, say, the spread of the data, how the data is being centered and populated around the middle point, average, or mean. So here's our data on the left-hand side. If we do some of our standard statistics calculations starting out with the mean or the average, that's the one that just takes all of the numbers, adds them up, and then divides by the count. We have a formula in Excel, which is simply the average, gives us the 71, 498. If we take the minimum number, that if we line up all our data from smallest to largest, or largest to smallest, is the smallest number. Excel can give us that quite quickly with an equal min function. If we take quartile one, basically the middle point of the first quartile of the data, similar to, like the median, we get the 69, 8. Excel can calculate that with a quartile function. However, we need a separate argument to give us number one to represent quartile number one. And then we can calculate the median, which is also quartile two. It's easier to use the function of the median calculation, which is where we sort the data from small to high, and we pick the one in the middle. And then we've got quartile three, which is the similar concept. But for the last quartile, and we can do that in Excel with the sub-calculation of three, or the second argument, I should say, of three. And then we have the maximum, the largest number in the data set, which we can see here is 84, because it's sorted from top to bottom. So these are some of our standard stats, great stats, but they don't really give us a great representation of the spread of the data around, say, the center point. Now, if we take the average can also be calculated as taking the sum of all of our data, which we could do with a trustee sum function, dividing by the number of items, one, two, three, four, and so on, which were represented by N, which we can use the count function in Excel instead of counting them manually. And that would give us that 71, 498 as well. Now we're thinking of, if that's the mean or middle point, we're kind of thinking about the standard deviation and the variance giving us a concept of the population of the data and how close it is to the center point. Now, if we look at the data, this is going to be a histogram of the data, which does give us a pictorial representation of basically how close and things are to the center point. So remember that if I'm taking the 71, 498 as the center point and I look at my histogram, 71 is somewhere around here. If I think of that as the focal point of a teeter totter, then you can get an idea of the spread of the data around that point, although it's a pictorial representation. And we want to get like a numerical representation of basically the standard deviation kind of like the average differences from the middle point. And so we could say, all right, so that we talked about that we first talked about that in an average deviation calculation, right? So I can say that's the first concept that we thought about. So let's let's do it with an average deviation and then we'll move to the standard deviation. So remember with this more complex data set, more numbers than the last example that we had, we can say, okay, well, that I would like to get a number that gives me an idea of the distance from that center point. How can I do that? Well, I can take each of the data points minus the middle point or mean represented by the mu and then take the absolute value because I'm going to end up with negative numbers and divide by n. Let's see what that would look like in a table format. If I put this into a table, I can say, okay, let's do it this way. Here's my data set. Here's my salaries. I'm going to compare that then to the middle point or mean. I'm going to compare each one of them to that 71 498, which we calculated with the average calculation over here. And then I'm going to get each data points distance from that middle point. So this one is 12502. I'm just subtracting 87 84000 minus the 74 498 to get the 12509. Some of those distances will be will end up in a positive because I took 84000 minus the 70, but some of them will be negative because because it depends on, you know, if it's over or under to the middle point. So that means if I if I sum up this column, those differences, I come out to zero. I'm always going to come out to zero. So although this is a useful tool to tell me each individual data point and how close it is to the middle point, it doesn't really help me to sum them up. So you might think first, I'll just take the absolute value maybe and that will help me to to then get a positive number. So now all those negative numbers, I in essence simply make them positive. This number now representing the distance from the middle point as opposed to a positive or negative distance above or below the middle point. So then if I add these up, then I get to 97,090 and then I can take that and divide by the count, which is represented by the 51 here. I could just sum up or I could just count all of these numbers, all of the rows and that'll give that'll give me the 190373. So this is the more intuitive calculation. Now in practice, we don't typically use the average deviation because we're going to use the standard deviation. But this gives us kind of the first thing that we would kind of think of if we were trying to work this out. So then let's look at the variance and the standard deviation. These two calculations being related where I might say, okay, now I'm going to take each number in our data minus the average again. But instead of taking the absolute value, I'm going to square it, which also has the character, the benefit of removing the negative numbers. But it also makes a large number because I've squared them all and then I'm going to divide by n. And so that gives us the variance represented by sigma squared and then I can take the square root to get the standard deviation. So and notice that these two calculations can be represented in Excel, right? Because we could do a function for them, but it's still useful sometimes to do the calculations basically manually. So you'd have the same starting point. I take all of my data in the data set. I'm going to subtract them or compare them to the middle point, the mean. And then I get my distances from the middle point, positive and negative. If I sum them up by add up to zero, just the same thing. But now I'm going to square those items. So you get, you end up with some larger numbers. Now, if you did this with your calculator, you might want a scientific calculator to do this, switching over to the scientific calculator. If I take this, for example, one, two, five, oh, two, and I square it, that's getting us to the 156. Now, it doesn't come out exactly because these are rounded numbers in the first place. So this number is a little bit different because I have decimals involved, but that's the idea. We'll do it in Excel if you want to check it out there. And if I took, the point is if I took a negative number as well, like a negative 198, and then I took that and I squared it. So that's coming out to 39 about because again, there's rounding involved. So now I can add all those up. And if I sum up all of this data, I get to a much larger number, but at least it's positive. And if I take that number and divide by the count, this is how many rows there are. So if I take this, and again, it's rounded, but if I take this 385949804 divided by the count of 51, we get to this 7567643 and then I take the square root of that. So this is the variance, which could be useful. And so then I'm going to take that and take the square root. And so that gives me the 2750. And notice that number is higher than the 190373. We did with a more intuitive kind of method. Now, of course, there's formulas for this in Excel. Standard deviation formula in Excel would be the stdev.p. And this is for the population, this is the variance formula. This is the standard deviation for the population, not a sample. And then if I want the variance, I can use the var.p. Sometimes, again, it's useful to actually do the table with it because that gives you a better understanding of what's actually happening and sometimes just scrolling through the numbers can give you another pictorial kind of representation of the data as well. So you can add these two calculations to our standard data set and calculate it with an Excel. Now, later, we'll talk about the calculations for a sample, which is a similar formula in Excel. The standard deviation for a sample versus the population would be equal stdev.s for the sample. And so you get a different number. We'll talk more about that later. And then the variance, which is var.s for the sample versus p for the population. So you can calculate those in Excel. So we'll get more deep into the standard deviation and the variance in future presentations. But just note that it does seem like a more abstract number. Remember, if I get to that, the variance of 7567643, you're like, well, what does that mean? Whereas if I get the average, I know what that means, right, and so on. But if you were to compare this number for this set of data for this corporation, this whole population of data for this corporation versus another corporation, for example, then the comparisons of the numbers relative could give you meaning as well. And again, we'll talk more about standard deviation and the use of them in future presentations. But notice it is a standard building block that we have to understand and calculate, even though when I compare it to the use of something like the mean or the quartile one and those kind of things, I think these are more self-explanatory and intuitive. And the concept of the variance and the standard deviation takes a little bit more thought to really comprehend what it is telling you and how you might use that in practice.


Okay, welcome back to VMworld 2013. This is Silicone Angle and Wikibon's theCUBE, our flagship program. We go out to the events and extract the signal from the noise. I'm John Furrier, the founder of Silicone Angle. I'm joined by my co-host, the co-founder of wikibon.org. Hi, everybody, I'm Dave Vellante. Craig Nunes is here. I think Craig Nunes has probably been on theCUBE as much as anybody except Pat Gelsinger. So, and maybe Jim Gantia, I don't know. No, you've been more than Gantia. Kind of like a cube groupie. Yeah, kind of bad. Well, welcome back. It's been really good to see you. Thank you. Yet another VMworld. We're very happy to be in San Francisco, I have to say, because we've spent far too much time in Vegas in deference to HP Discover, which we love as well. But it's good to be here. It's good to see you. Yeah, so we're hearing a lot about SDS, Thought for the Fine Storage. You guys have been doing that for a while. You and I have talked about it, maybe not with those three letters, but in some way, shape, or form for quite some time. So what do you make of all this SDS trending? Yeah, so it's, to be honest, about a year ago when the catchphrase, I think kind of catalyzed a lot of, certainly where we were kind of viewing the market. It's helped us a lot because I think we've been trying to, in our own way, explain kind of where the value is for folks and why it's interesting. And I think the, just hanging under a common label in the industry, software-defined storage, you can have the conversation. What is software-defined storage? And when we talk about it, we say, look, it is, first of all, it's software. It is, you know, abstracted from the underlying hardware, hardware agnostic, which means you can run it not only on HP servers, you can run it on other servers. There's no restriction there. It's software-defined storage ought to be pretty independent of your hyper-vider choice, right? The other thing about software-defined storage, and I get the question from time to time, well, what do you mean, what do I get in the software? It is, you know, a full complement of data services of storage software that you would expect in a storage array controller, right? Snapshots, replication, federation, right? You should get all of that and go run it in a VM, right? You run it on bare metal if you're wanting to do that. But it is software completely abstracted from the underlying hardware. And then kind of the flip side is, it's manageable by an open published API. We kind of like the open stack stuff. I think that's got a lot of juice to it. But, you know, so we believe it's a way to get into highly available storage without, you know, kind of locking yourself in to a particular hardware approach or management approach. Right, Greg, I want to ask you before we get into some of the HP conversations, more market space. Obviously, we were talking on theCUBE about Flash. Yeah, compared to Winchester, possibly a bubble, and that's always great speculation. It's good for views and good job controversy, but really, Flash is very, very important. But I want to ask you more of a bigger market space question, because when you were at 3PAR, you guys were an innovative startup. You were the disruptor, okay? And now the market's maturing in storage, and now Flash enters the scene. Now, software-defined data center has a lot of momentum. We heard Carl Asherbock really going hardcore. This is a, they're marching to software-defined data center. So the question is, who leads? Storage or networking or servers? So it's all three. Storage seems to be the theme here with Flash, but then it's server-side for acceleration. All this stuff is interplaying, the convergence of, what's your take on this? Someone who's been both on the entrepreneurial side of the disruptor, and now you're at HP with a huge customer base. Yeah, so I think the, maybe the way to think about it, it's a great question, is depending on the problem you're trying to solve, and let's pick on software-defined, right? The problem that a lot of folks are trying to solve with that is a cost problem, right? I don't have the space, I don't have the budget to bring in a standalone disk array to run my virtualization deployment, right? So it's cost, and so it becomes very much a convergence theme, which often starts with your server platform, right? So that's kind of compute-led, but storage is a big consideration. I think the other end of the spectrum might be when you're thinking about quality of service, right? Flash, HDD. Suddenly, where your data goes and how you set that up might be a more storage-centric conversation, right? With compute more as the peripheral. So you kind of have to start where you're optimizing, right? Are you optimizing for cost or optimizing for service levels? So I like your definition of software-defined storage. I thought it was straightforward. I mean, that's kind of similar to what we say with Debond, it's not, you don't over-complicate it. So I want to ask you why software-defined storage? Why the hype now? You guys have been doing it for a while. We weren't calling it that, but what is it about? What's happening? What's the inflection point of the marketplace? Is it just Intel cores? Is it other stuff, costs coming down? Why now? It's a combination of things, I think. Perfect storm, right? You have a lot going on on the microprocessor front. Very powerful CPUs in our servers, right? So a lot of available compute not being otherwise spoken for. You have drives that are what? Like four terabytes now per drive and you have servers with 24 drive slots. So you've got capacity that abounds in your server infrastructure. You've got compute that abounds in your server infrastructure. So now more than ever, you have the resources to tap if you've got the right software to tap that, right? Finally, virtualization I think is the final ingredient because virtualization drives shared storage and this is the most cost-effective tap to shared storage, right? So virtualization, compute, and capacity resources, right? Okay, and then the other thing is it's server agnostic, it's hypervisor agnostic. Those are two differentiators from, for example, so VMware has its own version of software-defined storage. And talk about what that means to HP. And you see VMware pushing on like that. I mean, you see what's happening in SDN and you see the logo slide and it's one obvious company missing. But so what does that mean from a storage standpoint? Is we've seen this for years from Microsoft and Oracle. They'll grab pieces of the storage tech. That's not a new trend. But it's one that you must be watching and contracting. Yeah, here's how I think about it. And we talk with our pals at VMware about this all the time. Look, they are taking vSAN. And first of all, it is only deployable in servers that are shipping with Flash. And Flash is up and coming, but Flash is very much about, I mean, it's very, from a footprint perspective, think of the number of server shipments on the planet day in and day out. The number with Flash in them is pretty darn small when you agree. Single digits, yeah. Then within that, you know, they're aiming vSAN to enable their business around client virtualization, big data, stuff like that. So they're kind of within that, taking this little box, this little focus area to drive their business, right? Good idea. Our approach is a little different, right? We're looking at that entire server market, not just HP servers, right? The whole server market going, hey, you know, insofar as those are being driven into virtualization environments, we have a value proposition for customers to bring more cost-effective storage into those budget-pressured virtualization environments broadly, right, across the board. So we have a mature approach with data services that are built on for six years. And we think we also have the combination of a great storage and server business at HP to really deliver value to customers. So what do I buy? Talk about the product set. So if I'm interested, okay, Craig, I like your story. Tell me something. Yeah, so you will start with, well, first of all, let's talk about where you would want to put software to find storage, right? It's a big world out there. So think about generally speaking, a small site, right? You are budget-pressured for your small site, especially if you have a lot of them, right? SME. Compound. So think remote office of a large enterprise or a government agency or a mid-market shop, you know, small space limitation, not a lot of on-site expertise. So you're focusing there. You're probably starting with a couple of servers, right? A few servers. You will buy a couple of VSAs, right? Store Virtual VSA for shared storage. So that's going to give you the shared storage you need to get virtualization off the ground. That's going to allow you to have highly available storage that you can create snapshots, you can replicate, you can move hot data around your servers on really any environment. The other thing you could do. So full stack. Yeah, full stack. And I'm talking, what, how many terabytes? You could go, so our VSAs, we just had a nice announcement recently with some licensing options. You can have a VSA that supports up to 50 terabytes, if you want. Just say 10 to 50, 20 to 50, I'm somewhere in there. Sure, yeah, so let's pick 10. There's 30 terabytes if you picked up three VSAs. What you might also do is we also have, brought this concept to our data protection, our backup systems, our store once platform. So you can drop a store once VSA on one of those servers for a deduplicated local backup out of your remote office or without having to go again by hardware. So I need, well I got to have servers obviously in there and I got to have some capacity on those servers. The point is though, your storage capabilities are living on a VM right next to your VMs. So I don't have to buy another box. It's at the provision on another virtual machine and make sure I have enough physical capacity on the disk. That's right, yeah, so that's what you buy, server and a few VMs, server and a few VSAs I should say. Okay, all right, so I can't. Server, VMWare, of course, and a few VSAs, right? You got to run an OS. VMWare, there are other hypervisors that you could run and we'd support, right? Right, well so, okay let's talk about that. So VMWare, Hyper-V. Microsoft Hyper-V and we're looking at some demand for KVM so that's in a storage space. So KVM, a lot of traction in service providers. Are you getting demand from service providers? Well you're going to hear a little bit about that later. Today I think the service provider space also think about what they're trying to do. They're trying to deliver an experience at the lowest possible cost, right? And particularly for service providers who are trying to bring a bit of multi-tenancy to the services they're deploying, like with StoreOnce, a backup as a service, it's a great way to deliver backup as a service infrastructure without having to throw a bunch of hardware at the problem. You stand it up, tear it down as you build out your customer base. And you're going to hear a little bit about how you can take advantage of StoreVirtual VSA from service provider perspective from Oaks Interactive. They've got a nice use case. So I can buy data protection as software. I can buy block services. Primary storage and information protection all delivered as software as a service, right? So I got to ask you, I can't have you on the queue without asking about 3PAR even though. Yes, thank God, we got a 3PAR question too, love it. All my favorite topics. Now to the other end of the spectrum, a lot of software in 3PAR but it's tightly coupled with the hardware, cool asics in there, doing unnatural acts and driving main frame class. I wouldn't say unnatural. Well, for modular storage. You make it sound dirty. Right, I mean you're doing things that usually you don't associate. 10 years ago you wouldn't associate with modular storage. So 3PAR is a very different storage experience from what a lot of folks are used to if they've kind of been raised on the traditional dual controller model. And I'll tell you the approach with 3PAR, in fact, we're talking a lot about software defined and what a software defined data center experience brings the administrators is a reason to not have to understand about what's going on with all the hardware out in the infrastructure. And 3PAR delivers you that experience within the array. You don't need to worry about where you're provisioning, where your snaps are, all of that stuff. You forget about the hardware and you think about what you're trying to get done in your data center for your business. And the platform is absolutely on fire for us. Fastest ramping platform in the enterprise group for HP ever. We introduced a few quarters ago now a new mid-range 3PAR platform. So we kind of packaged the secret sauce from the high end. Big and total available market expansion. Yeah, brought that down to a very affordable price point, but really delivers you all the tier one capabilities of the high end 3PAR store-serve platform. And so you really have opened up a lot of possibilities for folks who before really weren't able to touch it. So the platform growth we've seen year over year probably triple the shipments of 3PAR from a year ago. Tripled, right? And we're already on a pretty steep growth path. We were right here when 3PAR was in play. It was our first one in 10. We accurately predicted it would end up at HP, but so good move, good move by HP. Okay, so now you announced the all flash array as well. Yes. What's the update there? Yeah, so the 3PAR store-serve 74.50, flash top to bottom. And again, the value of the approach we've taken here is you've got, first of all, the performance you'd expect with some great efficiency, right? If you put flash in the most efficient array on the planet, good marriage, right? With all of the data services that 3PAR has become really known and highly regarded for, multi-tenancy, autonomic management, replication, federation, all of these mature data services on this really great flash platform. And alongside the mid-range platform, the high-end platform, so you're really not only able to run QOS within each of these arrays, but you're able to shift data between arrays non-disruptively as data moves through its life cycle, only because you're running the same storage operating system across these platforms. It's a powerful, powerful platform for us. And you got, we had Stephen DeWitt on yesterday. Oh, good, yeah. And he was high energy, you know, Steve. Oh, yeah. And so we meant to ask him, who said, he's going to show us a little leg for Barcelona. And we forgot, we ran out of time. So can you give us a glimpse of what's coming from Barcelona? What should we be looking for? Well, so the, yeah, yeah. So here's the stuff that's really, you know, happening all around storage. And it's, for Barcelona, it's next month, it's just coming at you. And we've been talking about it, 3PAR, right? We didn't talk enough about it, but you know, StoreOnce and Information Protection Retention. Big focus for our business. StoreOnce is a high growth platform, growing in double digits, a lot of happy customers, extended into the software defined realm with the VSA. So a lot going on there and Information Protection overall. We have a huge opportunity in the mid-market. So we're doing a fair bit of work with new MSA platform. It's just in the market, high volume, high performance, really providing a great entry platform to HP Storage for folks who are wanting to take that path in. And then of course, you know, software defined broadly. You're going to hear a lot about that. And that's those four things. 3PAR, StoreOnce and Around Information Protection, are what we're doing for our mid-market customers, SMB customers, and software defined. All right, Craig, well listen, we really appreciate you coming on, John. Going wall to wall. How you holding up over there? Good, holding up, love to have theCUBE. Day two, this is three days of live coverage. We may even go on a Thursday, we were so excited. So I think we had a great location. If you're watching, you know people here, we're at Moscone South Lobby. If you're watching, go to crowdchat.net and weigh in. Crowdchat.net slash VMworld. Go to wikibond.org or go to SiliconANGLE for all the content. All replays will be on youtube.com or SiliconANGLE. I'm Rock, I'm getting my second win. We're going to be live tonight as well. So all day, day of wall to wall coverage. Just theCUBE, we'll be right back with our next guest after this short break.