Today I am going to discuss on human creativity and machine creativity, whether machine creativity is possible, whether human creativity is equivalence with machine creativity. These are the problems I am going to discuss in this lectures. These sections deals with the problem of creativity and consciousness also because creativity and consciousness are two of the most puzzling feature of the human mind. Both the concepts creativity and consciousness are logically linked because a conscious human being alone has the power of creativity. Creativity is one of the least understood aspect of intelligence and is often treated as intuitive and as not suspectable to rational inquiry. However, recently there has been a reappearance of interest in this area, principally in artificial intelligence and cognitive science. These sections address a range of issues. The first section of this lectures is the question of what is creativity. In the second, my intention is to explore the features of creativity and how creativity is related to different cognitive faculties of the human mind. The second section explores dimensions of creativity especially the psychological dimensions of creativity and the historical dimensions of creativity. The psychological dimensions of creativity because creativity is also related to human psychology. The third sections critical examine the questions are their creative machines. The fourth section deals with consciousness and creativity. The fifth section will be concerned about whether this consciousness and machine creativity is derivative or not. The question first is what is creativity? Creativity is one of the most important aspect of intelligence and is the most important features of the human mind. It is creativity in the very specific sense of the term used here which distinguishes human from machines. Now, the question is under what conditions can we say that a human act is creative? We can identify two aspects in any act. One is the product of the act and the other is the process. By product we mean that which is produced by the act. The process stands for the way the product is produced. The process being psychological is something subjectivity. Therefore, in order to judge whether an act is creative, it is not possible to depend only upon the features of the psychological process involved. An act can be judged to be creative on the basis of some of the objective features that the product processes such as artistic creations, poetic compositions and etcetera. Therefore, the question is what is creativity comes down to what are the characteristic features of a creative product in terms of which the act that produced is to be creative. Features of creativity now we have to see some of the human act features of creativity. One of the most important features of creativity is novelty. By the term novelty we mean that the product did not come into existence before the act in questions performed. The novelty of the creativity of the product lies in the fact that it is different from other products already existing in the same domain. We come to know this only after the object is produced nor prior knowledge of the antecedent events and processes or the circumcision that led to production of object can help us to know in advance what features the product will have. It has been defined by many philosophers and they say that persons creativity to produce new or original idea inside inventions or artistic product which are accepted by expert as being of scientific, aesthetic, social or technical value. Therefore, the creativity is one of the most important things in the human society because if they are aesthetic, social, technical and scientific values if it has no values it is not a creativity. In a similar manner Borden points out that if we take seriously dictionary definition of the creative to get something from out of nothing and to get something out of something and it is hardly surprised that the some people have explained it in terms of divine inspirations that is creativity out of nothing and many other in terms of some romantic intuitions or insights. What Borden is trying to show is that if the creation is out of nothing then it is God's creation because God alone can create something out of nothing, but we are concerned with the human creativity as this is because human creativity arises out of intuition or out of the combination of old ideas. Once the product has come into existence we may enumerate or list those features it possesses, but these features cannot be assumed under a law or a rules. That is statement describing the features of the object cannot be deduced from the rules or laws along with certain uncertain circumstances. Thus creativity is according to Borden the creativity is a puzzle, a paradox, some as a mystery. In mentors, scientist and artist rarely know how their original ideas arise. They mention intuitions, but cannot say how it works. Most psychologist cannot tell us much about it and if Borden assumption is there will never be scientific theory of creativity for how could science possibly experience fundamental novelties as if all these were not daunting enough the apparent unpredictability of creativity seems to outlaw any systematic explanation whether scientific or historical. Thus Borden's definition of creativity begins out the features such as nobility, uniqueness and originality which are essential to any creative act. If a creative product has no value, no originality and no uniqueness then it is not new in its creation because there is nothing new in its creation. Whether a creation is out of something or out of nothing these minimum features are essential to any creative act now the question is why should we be creative. We are creative because we have to solve our day to day problem that is to say we are creative in most of day to day activities of problem solving hence creativity is manifested in problem solving. Now we have to see that whether creativity as problem solving we may understand creativity as problem solving thus a novel combination of ideas is said to be creative if it constitutes a solution to a problem. Problem solving is associated with many human activities however many questions arises such as are all problems well defined do we always know what the problem is our goals always clearly established in many cases the answer is no. So, problem solving is not a mechanical affair it is a creative act thus creative problem solving is different from the routine or mechanical one. According to Dodd and White problem solving a frequent human activity of course when a goal cannot be achieved directly and a plan must be devised which will permit a goal attainment. On the other hand may I define it as problem solving is a cognitive process that is directed towards solving problems. Here the definitions of problem solving consist of three components firstly problem solving is cognitive act that occurs internally in the mind secondly problem solving is a process having a definite directions and goal that is why when a human being solves problems he or she does a creative insightful and the intuitive act. Moreover thirdly when human being solve problem they identify the mental operations the representations and strengths that they use when they solve problems. Problem solving consist of search in a problem space which has initial state a goal state and set of operations that can be applied you know to reach the goal but everyone needs flexible critical and creative thinking skills to cope with these problems and find solutions that can improve the physical and social environment. For creative problem solving intelligence is necessary and intelligent mind is a good thinker besides a sense of humor helps in creative thinking because it relives stress, intentions and monotony. It switches the mind into unexpected task you know to solve problems human beings should be creative intelligent and conscious a conscious human being can solve the problem easily though creativity is more likely to be observed among those who are more integrally capable. Such capability is not a guarantee of creativity the ability assisted by IQ test is not a slowly responsible for creative problem solving. Now the question is what abilities distinguish creative from routine problem solving before attempting to identify the abilities responsible for creative problem solving we must examine a model of intellectual functioning and distribution between forms of thought and the abilities underlying in those forms and there are different model different scientist they have said but in the case of human abilities you will generally find there are two kinds of thinking one is divergent thinking and the second one is convergent thinking divergent and convergent productions operations conducted on memory the convergent thinking might say what I do to solve this problem the divergent thinker might say what are the ways of looking at this problem therefore this convergent and divergent thinking plays vital role in the case of human mind and this kind of thinking is always we have been a practicing and we have been using in our day to day affairs. Now we have to see the dimensions of creativity there are various aspects or dimensions of creativity the dimensions are psychological and historical or social a product or criteria for example may be new in a psychological sense if the product is new to the creative agent a product has special significance if the object strikes as new to the concedes community of experts a product is new from an objective point of view if the product did not exist in the domain before its production it was not possible to bring the product into existence by following the available rules and practices prevails in the domain what is new objectively or socially more socially must be new psychologically as well from the point of view of the agent whose actions brought the product into existence but the converse is not true what is psychological new may not be socially or historically because the object considered as new by the agent may already be present in the domain therefore we have two sense of creativity psychological and the social or historically the psychological sense is not divorced from the social sense of creativity because as explained above what is social is also psychological by creativity in the social sense we mean primarily the evaluation of the product as creative by a community of experts as already noted such evaluation are subjective to social cultural factors and thus depends on many accidental factors since we cannot have a theory that deals with accidental factors responsive for the productions and positive evaluation of the creative product it is not possible to have a systematic explanation of creativity in the social sense what we can think of psychological factors and processes involved in creativity and underlying the historical aspect of creativity. First of all we have to see the psychological dimensions of creativity as we have discussed above there are two sense of creativity firstly psychological and historical what and characterizes them as p creativity and h creativity respectively. She writes I quote a valuable idea is p creative if the person in whose mind it arises could not have had it before it does not matter how many times the other people have already had the same idea by contrast a valuable idea is h creative if it is p creativity and no one else in all human history has ever had it before on quote according to this definition it is not possible to have a theory that explains all and only h creativity or historical creativity what in principles a psychological explanation of p creativity ideas is possible. Now examine psychological sense of creativity with the framework of cognitive science cognitive science is a systematic study of human cognitive capacities like thinking, perceptions, memory and many other cognitive acts. The processes responsible for the existence of these capacities are said to be internal to the system in questions the impacts of the social, cultural and physical environment on this process are not denied but it is assumed that the internal processes mediate such impacts therefore cognitive science concentrates on a systematic study of the internal processes involved the internal processes themselves are said to be sort of computations and computation is understood as rule govern symbol manipulations and these things we have already explained what is symbol govern manipulations accordingly if we are able to identify the symbols systems and the rules that govern the transpiration of the symbols we may be in a position to account for the internal processes involved in cognitions. In the psychological sense creative processes may be considered as internal cognitive processes that are very sophisticated in nature and may be understood as rule govern the symbol manipulations. So, the key to cognitive modeling of creativity consist in identifying the symbol system involved and the rules that governs them since we are concerned with creativity in the psychological sense we shall understand symbols as a system of ideas. Our main attempt would be to understand how new ideas arise in the mind of the creative agent one way of understanding it would be to conceive of new ideas as a result of the permeation and combinations of old ideas though this process of permutations and combinations entirely unexpected new and heterononic sense combination of ideas are emerges. Therefore, creativity is the source that is one of the important aspects of the human mind. However, this permutations and combinations of ideas are not random processes rather they are rule govern processes. All these combinations of ideas must result in the generation of new ideas which we are not already there they only exist and these only can be called as the creative idea all the novel ideas or thoughts by themselves would not mean that they are creative. We would consider the new combination of ideas to be somehow improbable and yet relevant what in suggest that there must be novelty in the creative ideas in the sense that the combinations did not occur before. A creative idea for her is one that did not and could not have occurred before such idea according to Borden are radically novel whereas ideas that did not but could have occurred before are merely novelies in a relative sense. In Borden's words Borden says that many creative ideas are surprising in a deeper way they concern novel ideas that not only did not happens but that in a sense of clarified things and that could not happened before. The key understanding radical novelties like in getting to know the meaning of could not in this context but Borden says that before we considering the just what is this could not means we must distinguishes two sense of creativity one is psychological creativity she calls it as peak creativity and other is historical creativity and Borden calls it h creativity. A valuable idea is peak creativity of the person in whose mind it arises could not have had it before it does not matter how many times other people have had already the same idea. By contrast a valuable idea is h creativity if it is peak creativity and no one else in all humanity had it be before. Borden clarifies with the help of some example suppose a person comes with an entirely new English sentence yes suppose which has not been he thought uttered by anyone in the history of mankind. This sentence could have occurred before to a person who has enterized the grammar of English language and is familiar with its vocabulary that is the same sentence could have been produced by the same set of generative rules that produced other English sentences. In the same way a new idea that could have been produced by the same set of generative rules that produce other familiar ideas is merely a first time novel ideas on the other hand if you see a radical novel idea or a creative idea is one that could not have been produced by the same system of generative rules that produced other familiar ideas. The above statement shows that there are two kinds of creative thinking one is divergent and convergent thinking which we have already explained. The productions generally original ideas suggested that a specific and a new generative system is available to the creative thinker. The generative system is not the production of random thinking but it is a response to certain constraints on the kind of ideas that could be produced by the application of the generative systems available to the creative agent before he came off with new generative rules. This shows that creativity is possible because of the constraints improves by the availability of a generative system of ideas. The existence of constraints demand that the creative agent comes off with specific systems of generative rules and permit a radical novel and combination of ideas. This shows that the convergent creative thinking is a supplement to the divergent creative thinking because in the case of divergent creative thinking it opens many aspect to have a creative ideas. Therefore, the divergent thinking opposed to the convergent thinking and divergent thinking is involved to usual association of the ideas changing perspective and novel approaches to problems in constant to problems in constant to convergent thinking which involves linear logical step. Now, we have to see historical dimensions of creative or historical creative. As we have already seen, Borden has made a distinction between peak creativity and h creativity. Historical dimensions of creativity is opposed to psychological creativity because historical creativity is new to the human history. As Borden says that a valuable idea is h creativity if it is peak creativity no more no one else in all human history have has had it with before. That is h creativity is typically associated with creativity in relation to the entire history of mankind. This type of creativity is not merely psychological but also social in character. Again, Borden says that there cannot be no systematic explanation of historical creativity no theory that explains all and only historical creativity ideas. What Borden is trying to show that pre-creativity or psychological creativity depends on historical creativity because by definitions all h creativity is peak creative ideas but not all peak creative ideas are h creative. The psychological creativity or peak creativity is concerned with the individual psychology of the person concerned whereas, historical creativity is a matter of social evaluation and collective judgment. Following this Braneshan writes such value judgments are to some extent cultural relative. Since what is value by one person or social group may or may not be valued, praised, preserved, promoted by another. As you have seen in the beginning of this sections, historical creativity is opposed to psychological creativity. In this sense any historical creativity is more relative than any merely peak creativity ideas. In the strict sense we may not regard peak creativity as creative at all. Any case peak creativity cannot be on par with h creative because the lateral alone guarantees nobility in all the creative actions. Therefore, this is about the historical creativity. Therefore, there is a strong distinction between peak creativity and historical creativity even with the historical creativity is peak creativity because there is a particular psychology is concerned in that creativity.  This section is concerned with two ideas. The first is about the concept of humans as machines and concerned cognitive science. The second is about the possibility of machines being intelligent and it is concerned in artificial intelligence. Cognitive science tries to provide computational model of mind that is computational simulation of human cognitive processes. If creativity is not a computational process, it might still be possible to simulate it computationally just as it is possible to simulate hurricanes or digestive process without the simulation itself being digestive process respectively. It might be possible to have machines models of human creativity processes even if machines themselves cannot be creative. The main point is that simulation is not duplications. Nevertheless, if machines cannot be creative the divine force behind cognitive science will be lost. Cognitive science is driven by the field that it is cognitive processes that matter that these can be performed by silicon computer as well as by carbon brands. It is not clear whether cognitive science could survive the loss of its central metaphor of the mind as a computational device which we have seen already. Now, the question is can a machine be creative when a machine is creating something the credit is not given to the analytical engine or computer, but to the engineer. This is because the engineer already predetermines the result and here the conscious being is there and the engineer is a conscious being but in the case of engine is an automata. This kind of a huge and gap as well as separate kind of explanations are there. Borden says that the analytical engine has no pretensions whatever to originates anything I can do only whatever we know how to order to perform. For example, if a program manages to play a modern judge then the musical structure in that program must be capable of producing those musical expressions it does not follow that the machine playing much is creative. The human musician create new forms of music which machine cannot. The machine providing music according to design to the job of mechanical. Borden addresses the following questions regarding whether machines such as computers are creative. These questions are can computers help us to understand human creativity? Could computers do things which at least appear to be creative? Could computers appear to recognize creativity? Can computers really be creative? According to Borden the first question focuses on the creativity of human being. The next two questions are psychological the four question is a philosophical. Here Borden is concerned with the first questions to which her answer is yes because computational concepts and theories can help us to specify the conceptual structure and processes in people's mind. In response to the above four questions she says that computers can do things that appear to be creative. But whether we regard them as actual creative will depend on whether we are prepared to allow them a moral or intellectual respect comparable with the respect we feel for all human beings. It is debatable whether machine can be ascribed the status of moral being at all. Borden's response remains negative. While Borden is concerned more with the way in which computers can help us to understand human creativity. But in the case of Terry Dartnall is concerned with the fourth questions more straightforwardly. Dartnall writes if machines cannot be creative then I doubt there is any significant sense in which they can be intelligent for they will never have minds of their own. I do mean this in the weak sense that they will always slavishly do what we tell them. But in the strong sense that they will never be able to generate their own ideas and I take it as a axiomatic that if they cannot generate their own ideas they cannot be intelligent. Therefore creativity is related to skills and abilities and also to ideas which are novel and original. The ability to generate ideas and beliefs effectively actually is the core of creativity. The most common reason put forward to support the claim that computers cannot originate anything is that they merely follow instructions. The first argument is like this. If x is merely following instructions x is not being creative. Computers only follows instruction therefore computers are not being creative. In this argument the first premise seems to be false for we sometimes instruct people to be creative. For example teacher advises the student to be creative and not mechanical. Therefore it is possible to be creative and still be following instructions. But the fact is that computers are not like the students in this example. Computers merely follows instruction and cannot make a move on their own. Everything that a computer does is something that it was told to do. Hence it cannot be said to be creative. The argument can be revised as follows. If everything that x does is something that it was told to do then x is not creative. Everything that a computer does is something that it was told to do. Therefore computers are not creative. In this argument the second premise is false. If we do not instruct the computer in every action it performs if this premise were true then we are required to give instructions at every step. But this may not be the case always. What that means is that the machines do not literally follow the instructions. But that the computer is built and designed to respond in a predictable way to its instructions. So the argument can be further reformulated as follows. If x is designed to respond in predictable way to its instructions then x is not creative. Computers are designed to respond in a predictable way to their instructions. Therefore computers are not creative. Still this is not a strong argument in view of the fact that creative of computer cannot be denied just because they should respond to the instruction of the designer. In these connections one may appeal to Borden's distinction between peak creativity and h creativity. Something is peak creative if it is fundamental novel for the individual. And it is h creativity if it is fundamental novel with respect to the whole of human history. The computer can be claimed to be peak creativity if they can create something novel because they are not h creativity at all. But yet Dartnell argues that there is no obvious reason why they cannot have minds of their own. The final argument that creativity is not predictable is little more than a trick of the light. Dartnell's argument cannot prove that computer of creativity like human beings. Since machine creativity is a secondary phenomena in comparison to human creativity. The human creativity is a fundamental fact of the intelligence. The peak creativity of the human being is supported and strengthened by h creativity. Therefore h creativity plays vital role in the case of human mind. In the next lectures we will see how the human creativity and human mind plays vital role than the machine creativity and mechanical mind. Thank you.


So welcome to the workshop. It's going to be quite hands-on if you so I was wondering how many people have Laptops and they're kind of ready to follow on Yeah, okay, so maybe I'll do it live as well And if you want to follow along that'd be great and do it yourself. That'd be that'd be good So the topic of the talk is to look into what an L2 transaction is in the context of arbitram So there are a range of different L2's but the one we'll use today is arbitram and L2 transactions will differ between those but some of the concepts will be passed between them So, yes, there's some differences some similarities. We'll go into some of those and I'll first give a bit of an introduction about What a roll-up is and that's what I mean by L2 in this in this context And then we'll go into the workshop itself okay, so at a very high level a roll-up is a Sidechain there's another blockchain But it's connected to some sort of base chain by a validating bridge and if you want to read more about this There's a paper by Patty you sat in the back of a room over there So you can get more information there And this is a kind of rough overview of how it works So you've got one blockchain at the top, which is the roll-up You've got the main blockchain at the bottom which in this case would be Ethereum and they're both progressing via state transitions New blocks are being made there's a bridge contract on the base chain on Ethereum and Periodically an operator will take the state of the roll-up of the roll-up chain and they'll paste it into that bridge contract That once it's in that bridge contract it can be checked So in an optimistic roll-up case, there's a fraud proofs that are used for checking that state And in the case of a ZK roll-up, it's just a ZK proof But the other crucial thing is that green blob that I've put inside the the bridge contract and that's data That's associated with the state transition So you on the on the roll-up You need a like a minimum amount of data to be able to recompute the state transitions that are occurring on the on the roll-up So in the case of optimistic roll-ups, that's going to be the transaction data itself and yeah, just continues in the same way and This would be the case where some data is put on chain the fraud proof is checked and it's found to be invalid Yeah So this is a kind of rough life cycle of a L2 transaction. So a user would create a transaction They'd submit it to a sequencer who would then be collecting these transactions into a batch When the sequencer has got enough transactions, they'll compress this batch using some standard compression algorithm in Arbitrum's case. This is broadly And then they submit the batch to Ethereum. So that's this green blob is that batch there Yeah, and another kind of difference between L1 L2 transactions is gas so as I've mentioned L1 turns out L2 transactions need to be submitted at some point to the L1 and someone's got to pay for that so eventually that's going to be the user and That that cost is associated with the call data that is required that is consumed by the transaction on L1 and is priced at the price of L1 gas Then there's L2 gas, which is basically the same as L1 gas the same gas that you know on Ethereum But it's at the price of L2, right? So this is just the execution of the transaction that's occurring on L2 So you pay first to put the transaction on L1 and then to put the trend and then to execute it on L2 So there's these two different costs and we'll kind of go into that in this workshop Yeah, so this is the URL. So if you go to this GitHub repo and you can Start following down the the set of instructions. So there's a set of prerequisites that include tools like foundry jq and broadly itself and You can start following the steps yourself Or you can watch me do it as I go Yeah Okay, yeah, so I've included some useful links at the top there's some RPCs there to connect to both arbitram and to Ethereum and just some other stuff some general information if you want to read more about like L1 L2 gas and Some of the ways in which arbitram works that are relevant to this talk Yeah, so these are the prerequisites Gets just there so you can clone this repo itself. We've got curl for making some requests foundry for using cast cast as a kind of tool for helping you format ABI style Functions for calling calling the JSON RPC JQ just for formatting some JSON and broadly which is the compression algorithm that's used in arbitram Yeah, so there's there's a quick setup stage. I've already done this I'll paste this in Yeah, just check those are there Okay, so the first step is that we're gonna send a transaction on L2 so I've already sent a transaction which you can use if you want In your example, or you'll feel free to like Use your own like metamask connect to arbitram and send them like a transaction on main net at the moment They're reasonably cheap I think so should cost you only a few cents to do that if you want to but this transaction hash if we look at it on on Arbiscan This is a USDC transfer basically, so this is just transferring some tokens And that's the this is what we'll look into today Yeah, so I'll set that environment variable And also feel free to like if you've got any questions at any stages as I'm walking through this Just stop me put your hand up. We don't have to get through all of this today So just you know, let's talk about it and if you've got questions, you know, just put your hand up at any time Yeah so first we'll kind of grab a transaction receipt receipt for that and There's two interesting things in this transaction receipt that you might not be used to when Looking at L2 compared with L1 transactions. So this is this L1 block number, which is The block number that the L2 sees of L1 so it's a kind of like L the L1 is it's reading the state from L1 occasionally and One of those bits of state is the L1 block number. You can access this as part of the arbitram EVM and Then the other thing is this gas that it used for L1 and that's what we're gonna look into So this is the amount of gas that was spent to send this traction transaction and get it recorded on L1 So we're gonna store that in a variable. Oh Yeah, and I'll just echo that out so you can see like roughly what it is. So it's like 236,000 gas so That seems like a lot when you think about just what it's doing is storing just a bit of data on the L1 But the reason why it seems like a lot is because this is in units of L2 gas So this is this has been scaled for what it would be if it was on L2 And that's just to make the accounting a little bit easier inside the inside of arbitram So this amount we need to find out what the ratio between the L2 gas and the L1 gas was at the time this transaction was sent to then try and really figure out how much L1 gas was used and From there we can start to figure out as well like how many bytes of data it might have consumed So Store some of these variables as well Okay. Yeah, so as I mentioned, we need to find out this ratio of L2 to L1 gas so the the roll-up is is Estimating at any one at any point in time what it thinks the L1 gas price is and It's a little bit more complicated than just reading the L1 base V Because there's a time lag between when the sequencer Processes a transaction and when it submits it on to the L1 So it does some kind of estimating and it moves moves its price up and down depending on how accurate it's been in the past To try and make sure that it keeps even And so there's this L1 get L1 base V function, which is what was really used by the The arbitram virtual machine to Well by arbitram sorry to to figure out what L1 gas prices it should charge and There's a bit more docs here if you're interested in reading about like exactly how that works And maybe we should go a bit more into that because I realize we're running quite quickly on time Because I guess I thought everybody would be following along and there'd be lots of problems, but I'm a skilled pro at this So it's going quite quickly Yeah, so one interesting thing that happens with that with that estimation is that Because because the sequencer is having to try and figure out what the price will be when it submits to L2 It's kind of a it ends up wanting to overcharge to not get out of pocket itself So arbitram has a slightly different mechanism there where The sequencer is rewarded later for exactly how much they spent and There's a kind of a pool that sits on L2 and the pool starts quite full and then the difference between what it was awarded and what it estimated in the first place is then reduced from the pool or added to the pool if it overcharged and Then this is you this difference between what the pool target should be and what it actually is It's taken as a factor into the future estimate of what the L1 gas price should be So the sequencer never ends up out of pocket. They always get exactly what they paid But there is some mild fluctuation between what users pay now and what users pay in the future So some users now might receive slightly less than what they like get a slightly better gas price than what they expected Some might get a slightly worse one, but overall it's quite quite close to the average quite close to what you should be getting Yeah, okay, so we'll call that pre-compile at At the block heights so that for this we need an archive node And we're gonna call the the pre-compile at the block heights when this transaction was sent on L2 and Then we'll see what the estimate was at that time Yeah, absolutely. Yeah, so So you want to know what the what the estimate was at the time that the transaction was sent So you need to know what the state of the the node was at that time and for that you need an archive node a Full node wouldn't be able to do this. Yeah second Exactly. Yeah, I think I think full nodes do keep some recent Historical states. I can't remember exactly how but probably not a week's worth Yeah, so you so to do this kind of thing that we're doing now You would need an archive node, but this isn't something that you might normally want to do This is just kind of like let's go look at some of the analytics. It's not part of like you don't need it to To send transactions or things like that and there are ways to get estimates for what these values are before you send your Transaction as well, so you know what you're gonna spend you don't have to wait and inspect it afterwards if you want to Yeah, I think there was someone Yeah, okay, thanks. Yeah It's not it's not a snapshot. It's just well, yeah, okay You you need you need to know what the state was at that time because this is stored in state This L1 base V estimate so at a different block height The L1 base V estimate will be different and we want to know what it was when this transaction was sent Yeah, so the see the sequencer has to pay some costs to put this data on chain And it wants to get refunded for that So this is this estimate is is is in the system It's under like you might say it's on the consensus of the of the L2 and the sequencer is forced to use this value And it's estimate. Yeah, well, the the currency is the same So they but it's both if is the unit of accounts here on both of them Yeah But the gas prices are different and they're moving and this is just a way to try and estimate that movement of gas on L1 Okay, so let's make This score Yeah, so this was an estimate of the base V at the time the L1 base V estimates, which is about Eight quay it looks like so that's what it thinks it was at the time And we'll store that in a variable So as I mentioned, we want to work out this ratio so that we can scale the L1 gas used in from L2 gas units Into L1 gas units so that starts to make sense to us again So we also need to know what the L2 base V was at that time And this we can do by just fetching the block at that height and looking at the base V in it Which is not point one quay. So our picture has like a minimum L2 gas price, which is not point one quay if it if Congestion happens then it will go above that but generally it just sits here if it's not if it's not Being used heavily at the time. Okay, so we'll store that as well And now that we have these two ratios we I mean these two these two Gas prices we can use them to calculate the ratio. So Have I stored this already? Yeah, that was above Yeah, so there's the actual amount of L1 gas that we used at the time, which is a bit more what we kind of expected and if we divide Why did we expect that? No a bit more like not more than it's it's like what we expected. Yeah Yes Yeah, it's a really great question. So you we do compression over a full batch rather than individual transactions Which does leave you with this problem, right? How do I know what? My transaction how many bytes it will use in the compressed batch rather than in in the other amount So what we do is we it's very hard to figure that out and do it fairly because it also depends on ordering and things like this. So What we what we do is we compress your individual transaction when we give you an estimate for it And so if your individual transaction is more compressible, you'll get a better you'll get a better estimate for it And you'll you'll be charged less But that still isn't quite the perfect scenario, but that's the kind of like halfway house that we've arrived at Yeah, okay, and so each unit of each byte of data on our one consumes around Consumes 16 gas if it's a non-zero bytes. So As an estimate we can say that This consumed around like 180 bytes of data So we can Then actually go and take a look and see if that's kind of what it did consume So to do that well RLP encode the transaction. I've got an error in my scripts there. I think This a a BCC doesn't look right. I was doing a bit of debugging Yeah, so this script what it does is a high level at a high level is just it it requests Transaction receipts takes the bits out of it, which are important for RL for for a natural transaction RLP encodes it and just spits out the result with the zero to prefix Which is type two transaction So if we do that again, oh Not sure why that's oh, yeah, thanks. There we go. Thanks for you. Yeah. Okay, and if we count those bytes Let me see it's about the same. So we spoke before about Yep So again, it's all right come quite here So RLP is just the format of the transaction that ethereum accepts and then we'll include RLP encoded transactions Into a big batch and the batch will then be compressed with a compression algorithm. So RLP isn't compression. It's just it's just serialization you don't need to you Yeah, because what what you so what runs under the state transition is the full decompression So when what you're when you've done the Ford for proof You're bisecting on the parts of the state transition So if the decompression is within that state transition then yeah, you'll be able to decompress You don't you don't need an implementation of the decompression on L1 You need it on L2 and you need to include it in the state transition. Yeah. Yeah, so let's try and explore the batch there's a Function on another one of the pre-compiles that you can find an arbitrem to find the batch containing a specific block Which is this one. So we store the block number earlier and we'll use that to look up the batch These pre-compiles by the way are they're kind of like the way in which arbitrem customizes itself Compared to Ethereum. So it needs to do some special things like this And they've been added as pre-compiles. So they can be found at like different addresses That you can find at the top of the files. Yeah, so he's cast again. This is a little bit longer. Oh, yeah, there it is. So 974 was the batch number. I don't know why I printed some rubbish, but oh, yeah, it's because I copied the there we go Yeah, it takes a little bit longer that one because we're doing oh, no, that one's not the longer one. Okay This one might be a bit longer So given the batch number we need to find the transaction That submitted it and we need to look at the call data that was in that transaction because that'll be the batch so we need to find the transaction and We do this just by looking up the logs that emitted this specific batch number Yeah So this is the transaction ID. So if we go to ethoscan, this is an L1 transaction ID This is the batch itself. And if we scroll down and look at Oh So it calls this function add sequencer L2 batch from origin And if we look at the original, this is all the batch data So it's a large amount of data being submitted in one go. We can even look at this function in the code So this is the contracts Which is called the sequencer inbox and it's where this sequencer submits these batches And this is the batch data itself. So we're gonna try and grab that data and decode it and the way that The way that variable size Arguments in in Yeah, in the EVM are encoded is at the end and we've been there as a placeholder for them inserted at this point So we'll find this data at the end of the at the arguments list And given these all fixed size arguments We can know the exact position in them in that in that input Which is Well, first we'll download it actually yeah Yeah, which is 458 is the is the position and we'll put it into a file So if we open So this is the raw batch data that we downloaded Raw is compressed exactly. Yeah, so so yeah This is pulled straight out of the call data and this is what the sequencer inputted so it's compressed Yes, exactly exactly great question and we'll explore that in step five. Yeah Yeah, so If we open the file, we can see that it begins with this zero zero at the start and this is not part of the compression This is just a Type of the data So there are some different instantiations of arbitram one is called arbitram one and another is called arbitram Nova and they Handled data in different ways. So arbitram one does this compression. It stores all the data on Ethereum Arbitram Nova doesn't it stores its data with an external party that external those external parties sign that they've received it And they put that signature along with like commitments that data on chain And this zero zero here just tells us that the type of this data is Roll-up data. It's arbitram one data So we want to remove that before we do the compression Do the decompression sorry So we we take those off and put it into another file and then we just remove those those front two zeros and then this is the The commands to decompress the batch So first I'm going to convert it from hex into binary Then I'm going to use broadly decompression and then I'm going to convert it back into hex and put it in a file Yeah, and it outputs this Warning because there's some zero bytes at the end which aren't actually relevant to the The compression but get added because of 30 like 256 by words Okay So if we look at that this is the actual batch data and We can look at the size differences now between the compressed and the decompressed So we've got this one, which is the Wait, what was it which one? compressed which is 198 bytes and then we've got the decompressed one which is 715 so you can see the difference in the ratio there and the the effectiveness of the compression Yeah, yes Exactly. Yeah, you you The if the shared structure between different transactions, then they're going to be included into this compression and improve it. Yeah this is a bit of The compression isn't actually this good because this if we look at this batch data It can it includes a lot of zeros and zeros Are charged at a different Amount in in gas in the EVM they charge that four by I think four bytes for four gas per byte rather than 16 for non non-zero bytes and The compressed batch will be almost no zeros in it There'll be it'll be much more like a tenth of them on zeros, right rather than 16. Sorry Yeah Yeah So it's it's not quite as good as it's showing here, but it's still quite good you can work it out by like Doing some more complex analysis, but we won't do that here Yes, we've compared those and then the last thing to do is that our transaction should be in that uncompressed batch So we'll go and try and find that so if we echo the The RLP, I think I had it in raw. Maybe let's see where I had it Yeah, I did have an RLP. Oh a TLP everyone So this is our transaction if we go into the batch and There it is So along with a load of other transactions Yeah, and that's basically it for the workshop. So if you've got any more questions, yeah Yeah, you can you can do that yourself as a Developer so that on our trim. There's a registry where you can register address against an index and then you can substitute them and our trim will know that you've done that and it will then Switch them back out when it comes to execute and in that way the sequence will charge you less for your gas Yeah, yeah, because when when you're compressing The addresses in in a batch then it does a lot of that for you anyway, like so it The two yeah, it's one one was like a legacy system where we would do that We'll allow users to do this themselves and now like the whole holistic batch way achieves a better result. Yeah Do you had a second question? Yeah Can everybody hear the questions by the way or should I repeat them? Yeah, sorry. Yeah No, there's not so like optimism use said look I think and we went for broadly The reason was is because we did some analysis of different compression algorithms and we found that probably performed best And I guess they did a similar sort of thing and chose that look for their own reasons Yeah, I don't know I don't know how important it is to standardize this specific part of the roll-ups because it's It's something that users shouldn't really be interacting with Generally, I think that's the most important part to standardize But yeah, it would be interesting to to see why they chose those that as well. Yeah, sorry I didn't repeat the question. Yeah, he asked if there would be If there's any efforts to standardize this compression algorithm, yeah I'll be to across different L2s Yeah Yes, yeah So there's an address registry that you can use you you register an address against an index and then that will be used When up on execution you substitute your indexes into your transaction and then there will be De-substituted from the registry upon execution to reduce the amount of call data that even goes into the batch itself. Yeah It should be So we used to have it in our docs We've just recently rebump them and I'm struggling to find it but we did used to have it there Do you know where it might be to get your friend of address registry? So we've got our address table here, which is the Yeah, so this is like a bit of documentation But I'm sure we had some more documentation about actually how to use this contract and pre-compile them we Okay, maybe we can do this afterwards as well. Yeah. Yeah Yeah, so the compression the broadly compression was part of nitro. Exactly. Yeah, it was one of the major parts that Reduced the cost Previously we didn't compress at them. Yeah. Yeah, so the question was why the hard-coded minimum base fee I think that's partly just to avoid like us Getting loads of state bloat early on for very cheap price Given that we may expect users to come on board onto the platform and the gas price not to always sit there It would be good to not the future not to be burdened by that kind of legacy behavior. Yeah Yeah Yeah Yes, the question was the execution occurs on layer two. So what's happening on layer one? What are we putting there? Yeah, you you just store the data such that there's an there's enough data there so that anyone who's observing aetherium Can recompute the same trains state transitions that are occurring on L2 and that's important so that anybody can Can take part in a fraud proof? Game yeah, yeah, we have two ways of doing it so that I'll open up that contract again The question was In the in the contract Do you need to admit all of the data that the batch data in an event in an event or can it just be in the call data of the transaction? Yeah So there's that we have two functions for that one is submitting it from origin and in this case we know that the That is being sent from the transaction origin and therefore we know that the call data is going to look like this So if we know that then the L2 can reliably grab data out of the call data if the sequencer is You know going via some other contract or it's not coming from the transaction origin then we emit the full batch data in an event so in production this So this is here if if it were needed, but in production is way more expensive. So it's never used Where do we not need what sorry? Yeah, so to clarify on what we're doing here. We're emitting a sequence number And so what the L2 node will do is it will say okay? I've got a new sequence number. I'll go Look up the the transaction related to that sequence number. I'll look inside the call data I'll find the batch basically the same process of we as we've just done and all of that all doing all of that It's part of that state transition function. So it's all yeah, yeah Yeah Yes execution happens on layer 2. Yeah And state is on layer 2 as well. Yes, so I missed a bit you said there was Yeah No, so the question is this does the execution also take place on layer 1 as well as on layer 2 and No, it doesn't we just put enough data such that anyone who's reading the Ethereum can then go away and recompute themselves what would have happened and take part in this fraud proof game Correct Exactly. Yeah. Yeah, you need so so yeah to if you want to know what the state of the L2 chain is You need to replay the history of the chain in the same way that you would replay the history of L1 to figure out what the state of L1 is Yeah, so the question is it's kind of I find out states about a specific address Without recomputing the full state on L2 and the answer is no so the state only exists on L2 And that's only where you can make questions about the state. Yeah Yeah, so the question is can you sort of game the system? Take advantage of this of this Minor fluctuations in L2 gas price to try and achieve a better price for yourself and the answer is yes. Yeah, you can Yeah, so I think that's that the question that comes down to a little bit around your security assumptions so In order for the state to in order for you to be confident of Ethereum state You want a wide range of people to run full nodes such that if an invalid state transition occurs a Large number of people can get together and form consensus that that was an invalid state transition That should be a rejected fork and we shouldn't ignore it But with a roll-up this there's a slightly different Safety assumption, which is that if any single one person Notices that there's an invalid state transition and that one person can enforce that the state transition is is correct So it's you don't need a large number of people necessarily You know, it's a kind of one of many one of n security assumption Rather than like an n of m and so this means that maybe you can afford to have less people actually running the L2 nodes Yeah, and and then so have maybe slightly more beefy machines Yes Yeah, we can go into it. Yeah, sure So the question is is like how how in practice the fraud proofs work Okay. Yeah, so two parties take place in a fraud proof game to figure out which of them has chosen the correct state and Then one of them wins which is what you what you're asking about and at that point that state is that the losing state Is rejected more people can challenge the winning state if they want to but the losing state is rejected whoever chose to Take part to defend that side of the state lose some stake because you have to put it stake to defend a state and the if no one if no one comes to challenge the winning state Then that will be accepted as the correct state and you'll go on from there No, the L2 doesn't deal to do so if you're running an L2 node You've got your if you think about a fork occurring on Ethereum You've got some people that choose different rules for their node That doesn't mean that you need to stop running your node with what you see as the correct rules And the same kind of happens on L2 I can run my node and I can see which of those two is Going is going to win the challenge because only one of them is correct And I know which one is correct so I can continue to accept transactions validate them We can continue to process them in that time what you can't do during that period is withdraw funds from the system So if withdrawals are paused whilst this fraud-proof game is taking place because Ethereum itself doesn't know which of those two states is going to be correct So the funds stay in the system while it's happening, but we can still progress the state as an as an external viewer. Yeah I'm not sure I fully understand the question Yeah, so the question is this like if two two states are in violation of each other as people defending either side What is that what are we actually challenging where what's the state transition that we're challenging? Is it the pre is it from the previous state to the current state or is it further back and the answer is it's just the previous assertion? Yeah, so the question is do the fraud proofs take place in the solidity contract and yes They do but the way they the way they work is that there is a bisection game that the two parties play We don't want to execute the full state transition again So instead we try to decide which part of the state transition we disagree on So we take the state transition we bisect it into many parts We allow the other person to choose which part they disagree with and which part they agree with and so you always you have You're reducing the size of the state transition always keeping a point that you have both agree on and always keeping a point That you both disagree on and making that smaller and smaller and smaller until you get down to a single opcode and then you execute that single opcode Yes So it's the question that's within a single state transition They disagree about multiple things or is it that there are multiple people disagreeing about one? Okay, so if there's two two parties, but they disagree about multiple things Then I'll just be the first disagreement that matters because that's all you need To to slash the person out of the system and remove their their state from the system Yes So I think your question I think is what happens if someone includes an invalid transaction in in the batch or So so the Arbitrum virtual machine will know what to do if someone gives in an invalid transaction It will ignore it basically So you can then choose to run a different Arbitrum virtual machine that would do something weird with that And then we would end up at different states and we would like challenge each other over over the result of that But just including an invalid transaction in the batch isn't enough to like confuse An honest validate that something weird has happened or that they've got the wrong state or anything like that There are rules about what to do for every byte that you see in that batch Yeah, I think sorry, there's one at the back first story How long do we have left These are great questions though. So the question is sorry Yeah, so The question is Given that During a fraud proof game with draws are paused Isn't there an attack you can do on the system to delay and cause problems for everyone else by just Creating a challenge and what is the cost of that of creating that challenge? And the answer is dependent upon how high the stake is set So that's Yeah, if you have a very high amount of stake then it becomes very costly for you to cause this delay Pardon The the amount of status steak is set by the system So for in order for you to take part in a challenge, you need to put up a certain amount of stake Yeah, so the moment the validator list is whitelisted So it's not open to the public. So the whatever amount value in there is is not really meaningful, but We're working quite hard on trying to make that open and when it is open I can say that it will be quite expensive Yeah Yes So there's a separate so the question is is what if the sequencer is malicious tries to cause an invalid state transition? Is that the right and what happens when someone challenges? So there's there's a separation in the system between sequencing transactions and Generate executing those transactions to create a state to update states So the sequencer has no power over what state will be update what the state will be based on what it puts there The node software does so if the sequencer puts rubbish there the node software like Honest node software will recognize it as rubbish if the sequencer Puts valid stuff there then they will process it as valid stuff But the sequencer is all it's doing is putting data onto the chain They don't enforce in any way what the state should be that's a result of that data Those are the validator nodes that decide that Yeah, so given just some data that arrives People running validator nodes need to decide what the result of that data would be Yeah, so kind of answer the question Yeah, and the nodes will know what to do when they receive that so there'd be strict rules about everything that the batch contains Exactly so the question is is like what can this what powers does the sequencer have in the system and the sequencer can choose ordering of things inside that batch But they can't Manipulate what the output of those transactions will be yeah, so you don't you don't trust them in any way for the security of the system The sequencer is necessary for liveness of the system to get transactions moving Fred's like waving his hand over there Yeah, so At the moment there aren't right so the moment we trust the sequencer to pave well if they don't then Do we won't be able to use the system properly The funds will still be safe that are in there and there's a secondary backup system which normal users can use So you don't have to go by the sequencer if you don't want to be you don't get the benefits of compression But you can send your transaction yourself Or you can find another someone willing to compress stuff for you and put it into Into the system for you, but they they won't fundamentally the sequencer is the one who chooses the ordering and you won't be able to do that We have like a wait a time period where if the sequencer is not actually doing its job at all It's not updating things or it's not including these what we call delayed messages, which are user sent messages via the L1 Then after a time period you can force those through regardless of the sequencer So that's the kind of backstop if you need to exit the system and the sequencer is not allowing you to send transactions Yeah, but it's not really the validators that are involved in that. It's more the users who say, okay I don't like the system anymore. It's not working for me and I want to just force my way out of it. Yeah Yes, yeah, so that that comes back to your your Your node software, right? So if you if you can see that This state is correct. Then if oh, sorry. Yeah. Yeah, so the The question was it's like what how does finality work in the system given that after a fraud proof a certain state will be rejected So the answer is if you are following that invalid state, then you will basically see a real probably quite a deep real But if you were running on a software, you won't see and you won't see any problems. Basically, you won't see any difference There'll be no change Yeah, but you can but that does bring into question what the finality of a transaction is in in there And as you as you pointed out you could get this deep reorg So it depends whether you're running software depends like whether you're running node software or not You might want to wait just until that week period is up all challenges are over and then just be like, okay Now it's definitely fine. Yeah Yeah, any more questions The question is is there an easy API that I can use to see if there are if the challenges are complete And the answer is that you can look in the smart contracts So you the smart contracts are created and destroyed when challenges exist So you can see in the smart contracts all the challenges that are taking place at any one time Yes Yes, it will if you if you are if you think that if you if your node software has a bug in it or you've done something malicious with your node software then You'll be following what will know will not be the canonical chain eventually and so you'll see Results that will not never happen or or may happen in a different way. The transactions will still be replayed So you all the transactions are on L1 So anyone who wants to run on a software can know what the final state will be but if if you're running some it sort of like Mutated software or something like that then yeah You after one week's time you may find that all of that state that you thought existed didn't and you're actually on this other chain the question is like The question is what what happens to me when that challenge ends and and I Realized that I was following the wrong chain. Is that the question? Yeah, the challenge ends No one decides to dispute this state transition Basically, everyone in the world is agreeing on this state transition at this point if they didn't and they would start challenging it Okay, I've got a wrap up now, but thanks very much for the great questions and


Okay, we're back, this is Dave Vellante of Wikibon, I'm here with Jeff Kelly, my co-host. We're going to wrap up the day today. The MongoDB days, live from New York City. We're here at the Marriott Marquis. We've been going all day wall to wall coverage of this event. Jeff Kelly, we learned a lot today. In particular, we've obviously been following Mongo and TenGen and noticed the uptake in the marketplace. What we heard today is really the polymorphic nature of Mongo is what was so appealing to people, the ability to adjust different types of data and the variety of data as people often talk about one of the V's. That was one of the big attractions early on. The second is obviously the simplicity that goes along with Mongo. People consistently kept saying, yes, it's just made my life so much easier, packaging in the auto-scaling capabilities and the like. So what are your takeaways from today? Well, I think confirmed a lot of the enthusiasm we've been seeing, that we've seen in various communities that we've been tracking, seen it here in person. Clearly, there's a lot of passion among the user base, the TenGen user base and Mongo developers. Clearly, they love Mongo to allow them to build these applications. You said polymorphic nature could be any type of data, but allows them to work with that data in a very simple and easy way to build applications that really have a simple, elegant feel to them. So clearly, there's a lot of enthusiasm around the database itself. From the perspective of TenGen as a company, clearly, I was very impressed with Max Heerson the first time I met him in person. Very sharp guy. I think they're in good hands there. They're growing like crazy. Over 250 people, I believe he said, they're shooting for 500 in the next year or two. Really interesting thing is they've got over 100 of their current 250 employees or engineers working on the product. This is clearly, they are still focused on the hard core technology. Couple of things, they're looking obviously to continue to build out some of the functionality, but really add those capabilities to make it really enterprise ready, enterprise hardened, and they're starting to do that, and they're starting to gain traction. We saw some of the speakers here today were companies like MetLife and Goldman Sachs, Citigroup. TenGen has created a financial services advisory board where they're bringing in folks from companies like I just mentioned to talk about the different ways Mongo and NoSQL technology could be applied in financial services. So clearly they have their sites on the enterprise and specifically financial services. So for them to be able to do that clearly it's about adding even more of those capabilities around monitoring and managing your Mongo instance. We had Matt AC on today and he mentioned quite frankly those are a couple of areas we need to do better on and they're working on that. So I think they've got the right priorities. Clearly they're in a very good position. Riding a lot of momentum of the database itself which is just very popular. Got a great passionate community around it. So they are in very good shape. We heard some really interesting use cases today around some larger companies like ADP building mobile applications and using analytics really to inform some of the way they serve up the data through those applications. We talked with Charity from Parse today. It was very enthusiastic about what her company's doing kind of building the back end using Mongo to serve up to basically really make a simple and durable infrastructure and platform so that developers can build their mobile apps on top of that. So from partners to kind of the end users and the folks inside Tengen, very impressed today. Yeah so we obviously talk a lot about big data and David Floyer actually had a big data forecast that he published earlier this year on Wikibon. Lot of action in database. We've talked about this a lot. Certainly John Furrier has mentioned this a number of times. Database used to be kind of the boring market and now it's the smoking hot market and big data and Hadoop is part of that reason. I'm looking at those forecasts now. You're talking about a $5 billion market by 2017 with the no SQL portion of that growing about twice as fast as the SQL portion. Interestingly enough, within big data, SQL's not dying. People are adding SQL capabilities to big data. You're seeing companies bring sort of SQL to no SQL.  SQL's going to continue to grow because I think what we're seeing in this case, we're seeing Mongo on the transactional side of the equation supporting online applications that have to serve up data in real time to discrete users. Whereas SQL is going to definitely continue to grow, however, in the big data sense is to support analytic workloads. So you're seeing databases like Green Plum and Vertica are going to continue to see significant adoption because they just play a really key role in doing that high-speed, very fast data ingest and real-time ad hoc query capabilities that you don't get right now in something like Hadoop. So that's where I think a lot of the growth related to SQL and big data is concerned. But yeah, of course, no SQL's going to grow right alongside it. No SQL databases are adding capabilities every day to kind of get to that point where they are really truly enterprise-hardened. It's still a journey and we're getting there, but clearly from some of the attendees here and speakers of this conference, MongoDB, for instance, is in full production use in large enterprises, so there's no question it's enterprise-ready for certain use cases. So that's going to continue and as that happens, as that evolution continues, you're going to just see an uptick in the use of an adoption of no SQL technology. And then, of course, at some point, when we've talked about this over the last six months or so, Dave, at some point, the capabilities are merging a little bit. SQL databases are taking on some of the characteristics of no SQL being able to work with some less than fully structured data. And no SQL databases are starting to add more of the relational-style capabilities as well as some of the more enterprise-y capabilities or qualities. And at some point, the conversation is that a no SQL database is a SQL database is going to become less important and it's going to be more a question of what's your work, what's your use case, what's the value proposition of the different databases that can potentially serve that use case and making the best choice. And it's not going to be a matter of should we use SQL or no SQL, it's going to be what's the best database? Yeah, so now, you've obviously, you're the first person to really size the big data market space. And when you look at the pure plays, like a 10-gen or a Cloud Air or Hortonworks or, you know, and pick your pure play du jour, the actual size of the market is quite small today. I mean, we're talking about the, maybe it's hundreds of millions, you know, it's relatively small, but it's growing very quickly. But the market's still looking for that, you know, real IPO ready, big data pure play. Splunk, maybe Tableau kind of, you know. I wouldn't put Tableau in the category. Right, right, because those guys were sort of predated, you know, Hadoop, big data. Splunk, maybe not. But nonetheless, when you think about the database market in particular in the analytics business, the infrastructure business, no one has emerged. Clearly, 10-gen has an opportunity to be that. However, my analysis on this says they've got to expand their TAM, and the way in which they're doing that is into the enterprise. So that's why you're hearing so much emphasis on making Mongo more enterprise ready, things like backup, things like monitoring, adding, you know, the services on top of that training for free, which I think is brilliant, I think it's a brilliant model. But what's your take on the opportunity and challenges for 10-gen? What would your advice be to them? Sure, so I would, so I think the challenge is, some of it is just kind of perception. It's still a relatively young technology to start up, you know, in New York City growing like crazy, but still it's, when you compare it to something like an IBM and obviously there's a big perception in terms of the enterprise readiness of the product. But I agree completely with your analysis that the enterprise is where they need to go. That's where they're really going to start building revenue. What I would recommend is to continue doing partnerships like they've recently announced with IBM, where that partnership is all about allowing, making it easier to unlock all that data that's locked in DB2 and other databases and making it easy for developers to build applications on Mongo like they always have, but able to serve up data in these currently kind of off-limits or dark corners of the enterprise where all this really valuable data lives, mainly structured, but it's got years of historical data, extremely valuable but difficult up until recently, and at least in the IBM DB2 example too, for a Mongo developer to unlock it. So I think one of the keys is making Mongo more integrated and interoperable with kind of legacy data stores, being able to bring in data from wherever it may live. So I would recommend do more partnerships like that with IBM, make it easier to bring Mongo into an enterprise environment and extract value from data wherever it lives in the enterprise. When you start doing that, then you really unlock some of the possibilities of the new types of applications you can build. We talked today about taking your systems of record data and kind of the interaction data and merging those together and delivering a mobile application that you just can't do otherwise without both of those parts of the equation. So I would recommend doing that. I think it's also important to continue the education. Part of this is a natural evolution. I guess maybe the analogy I might use is in the R programming language is very popular kind of in the academic community and as students kind of leave the university and they go to the enterprise, they're bringing art with them. So that's putting pressure on SAS, for instance. I think something similar is going to happen with Mongo as we've got a lot of these young developers that love Mongo, they're very popular, they're building applications and as they start to grow up a little bit, literally, they're going to start popping up with more positions of influence inside large enterprises and that's going to help bring Mongo along. So I think it's a little bit of both of those things but they're very well positioned to do that. And clearly I think they have their eye on the ball. I think, again, Max Jerson, an impressive guy, I think he clearly understands and if you look at their announcements, they're focused on not just the enterprise but specifically financial services. They've got some big names speaking here which I was frankly surprised to see people like Goldman Sachs and MetLife at a conference, at this conference. So to me that shows that they've got some traction and I would encourage them to keep doing that. There were some serious practitioners here. Let's talk a little bit more about the IBM announcement, the partnership, the whole DB2 thing. Basically what we heard today from a number of our guests was the comparison to Linux when IBM made the move into Linux, it precipitated the adoption of that standard. Others obviously joined in, Oracle endorsing Linux obviously helped as well but IBM's role in open source is pretty substantial and so breakdown for us in your view what IBM is trying to do with the announcement that it's going to basically incorporate the Mongo standard into the DB2 such that DB2 programmers can access these capabilities natively. Well I think very simply IBM understands that MongoDB is a very popular database. They see the success developers are having building applications with it and they want to enable, they need to enable their customer base to enter the 21st century and start building the mobile and web applications that their customers demand. One way IBM could have developed some of this technology internally but I think they made the strategic decision that it was a better play to partner with MongoDB, bring them into make it make a compatible DB2 and really empower their legacy customers that way. I think whether this, whether it leads in the future in terms of the relationship with IBM, it's hard to say but I think clearly IBM understood that to really follow through on their mobile first initiative or promise if you will, they needed to invest in or partner with some technology providers that allowed them to really do that and make it easy for their customers to actually build these kind of mobile applications that take advantage of structured, unstructured data and the kind of applications frankly that we're becoming used to using in the consumer world and are increasingly in demand in the enterprise. So that's my take on where IBM stands on this. Again, I would recommend to TenGen to continue building partnerships out like this. I think that's really one way to start getting deeper into the enterprise and it's one of those things where Mongo is so popular and so well liked by the people that use it, the more people that use it, the better. So I would say leverage those partnerships to get into more user's hands. Do you think that TenGen's an acquisition candidate for IBM or do they not have to take that step? I don't think they have to take that step now. I think that's probably a little... Well not now, but the way IBM often does acquisitions is they'll let a relationship bake, they'll get to know people, are they a good fit? That's how IBM does it.  It's a good question and a hard one to answer. I wish I had a crystal ball. I don't know the answer, but I think it's fair to say that IBM wouldn't make this partnership if that wasn't at least a possibility. IBM is one of the best companies on the planet in terms of acquisition. I would say IBM, Oracle and EMC, maybe Cisco puts Cisco in there. Perhaps the three best as others. Intel's pretty good, Microsoft, obviously then you start getting to Google, but in the enterprise it's really IBM, Oracle and EMC. To me, the three big companies that are really, really good at acquiring and cut above everybody else. Yeah, I mean the reason I would say it's a ten gen and certainly a candidate for acquisition by IBM is that IBM, this was one of their big holes as I wrote and my research note when this partnership was announced, you know, we've often said IBM really has the widest and deepest portfolio of big data related products and services, but one hole I think was on this no sequel front. And specifically around database technology to help support mobile applications bringing in all sorts of data types.  So clearly if they don't have the technology they're either going to develop internally or acquire. So it's a possibility, I don't think it's imminent certainly, but. Well we were talking to a practitioner in the Wikibon community the other day and I agree with what he said. He said basically IBM's got all these pieces. They got the portfolio, but they still have to put the story together in a more compelling way that conveys the business value to the IBM customer. That's something that IBM is usually really good at. We saw, you know, a year ago last year you were at IOD. We started to really hear those business values messages. A year before that it was just sort of run amok. So I would expect that this October or November whenever IOD is really going to start to hear that Chris messaging, but that would be an expectation. And, you know, they're excited about the 10-gen partnership in Mongo. And IBM, as I've said a number of times, is big on open source, they're going all in. Yeah, I mean this is clearly, you know, when IBM puts their kind of stamp of approval on a technology like this, that's clearly a good thing for Mongo and 10-gen. So, you know, in terms of IBM getting their messaging together, I think they've been doing a much better job recently.  There were so many products and arrows and it was very difficult to follow. So right, so their challenge has been to kind of package those into services and solutions really that tackle business problems and translate all that technology into how it provides business value. That's still a little bit of a challenge for IBM. It's a work in progress, but they're getting better at that. And again, I would agree with you. I would expect a much cleaner message at IOD this year. All right, Jeff, listen, it's been a real pleasure working with you. I thought you did a great job today. It's been a fun week. You crushed it at the GE event. You really did a great job there conveying the whole industrial internet sizing that piece up. We did the O'Reilly Velocity Conference. Lot of similarities between what we heard at Velocity and what we're hearing from the developers within the Mongo community. It props to 10Gen for really shepherding that community and providing governance and momentum behind it. It's very clear it's palatable at this event. And there are several of these events. So I really appreciate 10Gen having us here. Go to siliconangle.com, check out all the blogs associated with the videos today, check out all the news. Go to youtube.com slash siliconangle and you'll see playlists from all the events that we do throughout the year. And also go to wikibon.org, check out all the free research that we have there. We're live on SiliconANGLE TV. We've updated that site, so check that out as well. Really appreciate everybody watching. Appreciate the tweets and the questions. Thanks Andrew, Alex, and Mick, great job. And to the team in Dallas and Kristen Nicole's team. All the great write ups that you guys do. Really appreciate it. And also Jeff Frick and John Furrier, thanks for all the tweets today. All right, well this is a wrap everybody. Thanks for watching. This is theCUBE. We really appreciate your attention and assistance and support. And we'll see you next time. We'll be at Hadoop Summit next week. Next Wednesday and Thursday live from the San Jose Convention Center. Look for theCUBE, watch us. Thanks everybody, we'll see you next time.


Happy anniversary to you, Happy anniversary to your family. Alright, my name is June Correa and with me is Miss Marie-Claire Alberto. Before we proceed to the actual harvest king, may we call on Professor Elizabeth Woods to formally open this event and our alumni homecoming week. It's a wonderful pleasure to be here this morning and to welcome you all to Erie once again because of course for none of you is this your first visit. For all of us, it's a place that holds special significance as an important place for dealing with the hunger and poverty problems of the poor. But it's also a place which holds opportunity for us as individuals, opportunity for excellence in science, opportunity for excellence in administration, support roles, research roles and opportunities for personal development and growth of our families and family members. So welcome to you all in your return to Erie from all those perspectives and I'm sure that you will have remembered how hot the Philippine sun is so I'm not going to talk for a long while. I'm going to simply say what a wonderful thing it is that you're here. I'd like to open the festivities for the week and I'd pass back to our MC to lead us towards the ceremonial house. Welcome everybody.


What's up people today's actually the last time you're gonna see this house for a while I'm actually moving out today have all my stuff Back there and then only in the back of my trucks fill the boxes. I'm not moving to my apartment yet I'm going on Savannah today. My parents are following me down. They have to go to orientation orientation orientation orientation I Have to go get the boat right now. So I'm telling the boat down there as well And everything's ready. Everything's good once you get down in Savannah. I'm gonna be down there Until I'm gonna be in a hotel for a week I'm gonna be in a hotel for a week as school's going on because they're not done with the apartment, but It's alright. That'd be okay, and I'm gonna end up moving in so let's get on with our day at the gas station And I was getting gas and look what pulls up a John Deere tractor Just got to the boat. Here's all the stuff that I was gonna shoot All the craps in there Got the boot on the truck now.  There you go So now it's time. We're going to Savannah. We're actually waiting on my mom right now She's grabbing a few things from the house and she's only come back here, but we're ready to get on Savannah You're on Yeah All right, no, what's happening today? All right, so we just got the scab right now with all most of the scab Filming stuff filming stuff for the news WJCL news Big Frank and some come on at what six six and eleven six and eleven But you guys aren't gonna see that because it's already gonna be by it's coming on six tonight You just film that just filming some stuff. He's actually filming some stuff right now After all this talk about scab fishing we're finally here finally about to make it happen So now we got to back up all this talk. We've been doing That's your girl why she in my section that's your girl why she doing role-play gone both ways like an intersection So today is the next day doing orientation right now.  Give us a way in back Any spring painted black we got the blogger out. I don't even care man I don't care people are looking at me. We got the vlog get the vlog going So just got back from the orientation So that was boring.  All right guys, so what? Yeah Well, let me let me do I I'm trying to get my blog. All right, love you So anyways Me and Daniel are about to go out right now. I just got back. It is like 1045 right now I Just want to go drive around you know get to know the city more and just kind of just kind of film some stuff I'm gonna be filming some cool stuff in Savannah guys I've been kind of splashed around with this whole film of things is like orientation Just wait till the regular vlogs start coming. They'll be really good I'll get back to you guys. Maybe today. Maybe tomorrow. Maybe tonight. I don't know, but there's Daniel Yeah, yeah, he's been talking to his girlfriend So you guys are probably watching this This is a few days later. I didn't film too much in this vlog the next day after this I film the whole day next day after that which is today film the whole day and I'm gonna keep on filming I'm gonna try to put out these daily vlogs and doing something a little different This is kind of like a sneak peek What's gonna be coming for me for a little bit right now? The fishing gonna be tough just because of school. I'm starting. I'm not even in my apartment like there's so much going on I'm gonna have to make a whole new video explaining a lot of stuff but guys I'm just saying this because this is probably something completely different and you guys are probably like whoa This is really different and and this is gonna change. This is gonna be a lot of a lot of different stuff Go on and I think it's gonna be cool. This is gonna be a lot of cool stuff This video was honestly really born in my opinion personal opinion. It's a really short video I just want to throw it out because this is something I can go watch Years from now I can say man. This is want to start college Right here So guys if you guys could please hit that thumbs up button If you guys want to see more college videos and please hit the thumbs up for me for pretty much my first college video Tomorrow's the first day of school and I'm really pumped So guys, please hit that thumbs up button comment below and what you guys want to see if you guys like the little Remixes let me know guys. Thank you so much for watching. I'll catch you guys at the next vlog


it's one thing to know the path, it's another thing to walk it. Can we walk through these five steps to increase our emotional efficacy? First is just becoming aware of your emotional experience. And the next step, which is emotion surfing, and emotion surfing adds to emotion awareness, hanging out with the uncomfortable emotion without acting on the urge. The third step, being really clear on what matters to you in any moment or context, and then being able to design actions that are aligned with what matters. And then the fourth step to emotion advocacy is when you try to surf an emotion wave, but it's a huge tsunami and you find yourself pulled under. Sometimes we do need skills, which we call mindful coping, to dial down the intensity of emotion or regulate your emotions, not for the purpose of getting rid of emotional distress or pain, but just so that we can get clear again about what matters and how we want to show up in that moment.


Hi, we're on with our next caller. Why don't you introduce yourself? Hello. Hello, hi. I'm Srisanta. I'm from Sri Lanka. I'm an English teacher at 28 Unison of KMB, TESOLXM, CAT, PET, FZ, and ILDS. I'm 24 years old. I'm really interested in learning and teaching language. Srisanta, welcome. Yeah. Yesterday... Go ahead. Yesterday... That's enough? No, no, no. Keep going. Sorry, we interrupted you. Okay. Yesterday... Yesterday I opened an English school in my area. I'm from Bandarok. It is rural city in Sri Lanka. Did you say you opened your own English teaching school? Congratulations. Yes.  Is that what you are? Yeah, that's true. And you're 24? Yeah, I really like Richard Benson. I think you might know about it. Right, here we do. You know, the Virgin Airlines, right? Yeah, maybe he started with one airplane or something. That's right. Now, are you the only teacher or do you have other English teachers with you? I started... This is a language school. There are only 100 lecture chairs in my school and 5 computers at the language club. But I think when the students come to my class, I will develop my English schools. And how many... Yeah, Richard Benson said that it's very easy to start business, but it's very difficult to survive in the fields. Did you read a book about Richard Benson? Is that how you know so much about him? Yeah, really. I'm a controversial speaker because I'm from Anuradhapura. Anuradhapura used to be a capital of Sri Lanka. But if you know Kalambu, Sri Lanka... Right. Yeah, I think it takes 6 hours by bus from Kalambu to Anuradhapura. It is a village. So I was born in Anuradhapura. I tried to teach Anuradhapura students to prepare for the Unistrup KMBT ESO exam. Oh, yes. I have a good dream for my city. Let's make Anuradhapura the best speaking city in Asia. Yes, here, here. That sounds good. Excellent. So you have a mission statement and a business plan, and do you have all those things? Yeah. Yeah. Very impressive. May I ask, where did you get the money to start? How did you take a loan or did you ask family? How did you get to start your school? I spent 1 million rupees for my English school. My father is a farmer, but I do some tuition classes in Kalambu. I earn money for the Singers' School. Smart. So you've been saving money to start the school? Yeah. When I was 18 years old, I was the youngest one who already finished TKT module 1, 2, 3. Both are from the Unistrup KMBT. Wow. Congratulations. You're very excited. And you've got the smile, you've got everything. Personality. The person. Wait, so how does someone become a motivational speaker? I've often wondered this.  Do you put that on a business card? How do you become one? I learn a lot of things because from John C. Maxwell and from Robin, he's from your country, number one leadership expert. We know all those names. Yes. That's good that you read these online or at the library, these books? Online. Online. Yeah. And Shishanta, how many students do you teach in one class of English? Yesterday, in this class, yesterday I opened, but I haven't done any marketing. Oh. Because in my country, this month, we are going to have, it's a very big festival, new festivals, new year. New year. So now I'm going to, now I'm not going to do marketing, but at the end of this month, I'm going to do marketing about my class, but in my school, there are a lot of teachers that help me to develop English language skill in other words. Teachers love me because I'm good at language and I love people, I do charity. I believe that. Yeah. So what ages are your classes going to be for? Is this for children or for older people? What age group? Both. Children and adults learners. Excellent. And in terms of, will you be teaching the class or do you have other people who will be teaching the classes too? Only, now I'm a teacher. Right. But these days I'm training two people to be a teacher, my girlfriend and my brother. Oh good. So it'll be a family affair when you start. I mean you're starting with one, then you expand to three. That's wonderful. It's a wonderful plan. Yeah. Do you have any free advice as a motivational speaker and an entrepreneur and hopefully a successful businessman? Do you have any advice for other people who would like to start a small business? Yes. I think that Einstein said that imagination is more important than knowledge. Oh.