A rigid tank is divided into two equal parts by a partition. One part of the tank contains two and a half kilograms of compressed water at 400 kilopascals and 60 degrees Celsius while the other part is evacuated. The partition is now removed and the water expands to fill the entire tank. Determine first the entropy change of the water during the process if the final pressure in the tank is 40 kilopascals, then the entropy change of the surrounding air assuming the temperature of that air is constant at 25 degrees Celsius, third the entropy generated by the process, fourth what does that number imply about the operation of the process, and fifth what would the best case scenario pressure be. So in this process I have rapid expansion. You'll remember from our chapter 5 discussion that ideal expansion and compression happens very very slowly. Therefore the fact that this is expanding rapidly with no restraint or restriction whatsoever, it is likely to be relatively inefficient. Exactly how inefficient we will explore by quantifying the losses with entropy. I'm going to define my system as being the mass of water. At the beginning of the process I will call that state 1. I know the initial temperature and pressure are 400 kilopascals and 60 degrees Celsius. And then at state 2 the mass isn't changed. The total volume is doubled because the problem said two equal partitions. The fact that the mass doesn't change but the volume doubles implies to us that the specific volume doubles. And then I know that the pressure at the end of the process is 40 kilopascals. So the first thing I asked for was the entropy change of the system. Well, the entropy change of the system is just going to be the entropy change of the water. The entropy change of the water is just going to be the entropy of the water at state 2 minus the entropy of the water at state 1. Where do we get the entropy of water you ask? Well, where do we get any properties of water from our steam tables? If we go into our steam tables we can see that for a given temperature and pressure we can look up the entropy as a specific quantity, lowercase s.   I know the mass is constant so it can be factored out. Little s2 minus little s1 and I know the mass already. s1 and s2 come from property tables. So using t1 and p1 I will need to look up s1. Using v2 and p2 I will need to look up s2. Since I need v2 to look up s2 I will add specific volume 1 to my required lookups at state 1. So you guys ready for some property table lookups? Here we go. First thing I have to do is fix the phase. I'm going to look up the saturation temperature corresponding to my pressure of 400 kPa which is 4 bar. At 4 bar I have a saturation temperature of 143.6 degrees. My temperature is 60 which means that I have not yet boiled which means that I have a compressed liquid. If I go into my compressed liquid tables my lowest pressure subtable is 25 bar so I'm going to be making the approximation that my s1 and v1 are sf and vf at our temperature. I am assuming that the pressure has no effect in the compressed liquid region. So at 60 degrees Celsius s1 is going to be approximately 0.8312. So s1 is approximately sf at T1 because I have a compressed liquid at a low pressure. And that sf at 60 degrees Celsius is 0.8312. 0.8312 kilojoules per kilogram kelvin. And v1 is going to be approximately vf at T1 which is equal to 0.0010172. cubic meters per kilogram. Then I can multiply that number by 2. So calculator if you would please 0.0010172 times 2 is 0.002034. So 0.002034 cubic meters per kilogram. Now I have a pressure and a specific volume I can use that to look up the specific entropy. So first question, what is the phase at state 2? Well I go into my property tables at a pressure of 40 kilopascals. And 40 kilopascals is going to be 0.4 bar. Which means that my specific volume of a saturated liquid is 0.0010265. And my specific volume of a saturated vapor is 3.993. My specific volume at state 2 is between vf and vg. Therefore I have a saturated liquid vapor mixture. Which means that I'm going to be describing the quality at state 2. Which is not the same as the quality of the energy at state 2. As v2 minus vf divided by vg minus vf. Which is equal to s2 minus sf divided by sg minus sf. I could calculate the quality at state 2, but I don't need it right now. So I'm just going to skip directly from the specific volume to entropy. And I'm going to let my calculator do the multiplication. So I'm not going to handle that algebra so that hopefully you can see where my numbers came from a little bit more clearly. So 0.002034 minus vf which at 0.4 bar is 0.0010265. Calculator that is not a zero. What are you doing? Divided by 3.993 minus 0.0010265. And I'm setting that equal to the thing that I'm looking for minus sf which is 1.0259. Divided by sg which is 7.6700 minus 1.0259. Solving that for x and I get 1.02758. Let me double check that that wants it in kilojoules per kelvin. That implies a total entropy not a specific entropy so I'm on the right track. Now I have two and a half kilograms multiplied by the value of little s2 which is 1.02758. Minus the value of s1 which was 0.8312 and that's in kilojoules per kilogram kelvin. Kilograms cancels kilograms leaving me with a quantity in kilojoules per kelvin. So calculator you need it again. That's 2.5 multiplied by 1.02758 minus 0.8312. So my entropy change of the system is 0.49095 kilojoules per kelvin. Part A done. Part B wants us to determine the entropy change of the surroundings. Well, I could look up the entropy of the surroundings at the beginning and end of the process but I don't know enough information to do that. What I have to do instead is go back to our definition of entropy for an internally reversible process like what the surroundings are experiencing. I have del Q over T. T comes out of the integral therefore I'm left with the integral of del Q which is just Q so this becomes Q over T. So the entropy change of the surroundings in this case because it's an isothermal process and therefore internally reversible is Q over T. The T here is the temperature of the surroundings which I believe is 25 degrees Celsius. The heat transfer is going to be the heat transfer exchanged between the system and its surroundings. For that I have to consider how my heat transfer comes about. I have a rapid expansion process. Expansion generally implies a decrease in temperature. I mean if you rapidly expand something it often gets cooler so I'm generally going to have a heat transfer in as a result of that. So for the moment let's just call that Q in. Again if we get a negative number at the end for Q in that just means that I chose the wrong direction. Now Q in is to the system but is from the surroundings. So that quantity of heat transfer is the same from the perspective of the system it's an input from the perspective of the surroundings it's an output. So in order to solve for the amount of heat transferred between the system and its surroundings I'm going to figure out how much heat transfer is exchanged within the system. So if I figure out the Q in to the system that's going to be equal to the Q out from the surroundings. Does that make sense? So even though right now I'm analyzing the surroundings I'm going to do an energy balance on the system. So first up I have a transient process therefore the left hand side of my equation is important or at least not negligible. And it is a closed system so E in could be Q in or work in. E out could be Q out or work out. Next I recognize that I am assuming heat transfer is in for the moment. So I'm going to get rid of Q out and I have no opportunities for work. The only opportunity that I could have is boundary work. I know I hear you in your mind thinking but John we're expanding the volume we have a change in volume does not imply a boundary work. Well boundary work is the work associated with expansion here the expansion process is into nothing nothing is being displaced. The boundary doesn't have to push against anything as it expands therefore there is no boundary work. The change in kinetic and potential energy of the system itself is assumed to be negligibly small. So I'm going to get rid of those terms as well. At which point I have delta U is equal to Q in. So the Q in to my system which is equal to the Q out from our surroundings is equal to total U2 minus total U1 which I can write as mass 2 times U2 minus mass 1 times only U1.  And again we are analyzing the system to figure out the heat transfer into the system because we know it's the same as the heat transfer out from the surroundings. So yes this is U1 and U2 of the system and the mass of the system even though we're thinking about the surroundings right now. So mass I know U1 and U2 I have to look up. So I'll add to my list of things to look up U1 and U2. U1 is going to be assumed to be UF at T1 just like S1 and V1. So jumping back into the saturation tables by temperature for was that 60 degrees Celsius? Yes indeed 60 degrees Celsius. U1 is going to be approximately 251.11. Then at state 2 I'm going to end up with the same interpolation because the interpolation for quality is also equal to U2 minus U1 divided by UG minus UF. Therefore I can say that same integral, excuse me, that same proportion can apply to internal energies. So now I'm going to write U minus 251.13 because that's the value at, nope, try that again. We are at a pressure of 40 kilopascals and at 40 kilopascals I have 0.4 bar. I'm interpolating between 317.53 and 2477.0. So let's try that again. My proportion of the way I am across my specific volume which is equal to 0.002034 minus 0.0010265 divided by 3.993 minus 0.0010265 is equal to the thing that I'm looking for minus UF at 0.4 which is 317.53. Calculator, come on. Minus 317.53. Then we divide that by 2477.0 minus 317.53. And we get an internal energy at state 1 of 318.075. So back down here I'm going to take 2.5 kilograms multiplied by 318.075 minus my U1 value which was 251.11 kilojoules per kilogram. Cancel the kilograms and I'm left with kilojoules. So 2.5 multiplied by 318.075 minus 251.11. We get 167.413 kilojoules. So the heat transfer into the system is 167.413 kilojoules and because that's the same heat transfer as what leaves the surroundings the heat transfer out from the surroundings is also equal to 167.413 kilojoules. If I paid you $5 that's a positive change to your money, a negative change to my money, my money out is 5, your money in is 5. Next I have to plug that into my equation but we have to be real careful here because the value of this delta is important because we are basing our entire simplification for delta S of the system plus delta S of the surroundings is equal to S gen based around the positive and negative aspect of this number. So we have to think through what to use as Q and for the purposes of this equation Q is in. This equation is defined with heat transfer in the inward direction. Just like how boundary work is defined with a delta V that is positive that means boundary work is defined with a work output. So if you get a positive boundary work that means that you have a work output. If you have a negative boundary work that means you have a work input. Same is true here. The Q in this equation is specifically Q in. If I have a Q out I have to plug in negative Q in. So what I plug in here is negative 167.413 kilojoules divided by 25 plus 273.15 Kelvin. For the purposes of this equation Q is always in. Another way to think through that is to think about the PV and TS diagrams. On a plot of pressure with respect to specific volume, movement to the right represents work out. Movement to the left represents work in. The equivalent graph for heat transfer is temperature with respect to entropy. And our directions are reversed. Now movement to the right represents Q in. Movement to the left represents Q out. You can remember that as being opposite just by remembering that it's opposite. You can also remember that by saying well Q out is heat is fire. You know who else is fire. Beyonce is fire. So Beyonce is Q out. Therefore any movement to the left to the left because everything you own is in a box to the left is Beyonce and therefore fire and therefore Q out. Whatever means you use to remember the directionality of heat transfer and how it affects changes in entropy. You do you. So we're saying the entropy change of the surroundings is equal to negative 167.413 divided by 25 plus 273.15. And we get a syntax error because I used a subtraction instead of a negative. So the entropy change of our surroundings is negative 57.1506 kilojoules per kelvin. And that's our answer to part B. The negative is important here because for part C we're going to be adding together these two numbers. Our entropy change of our system was a positive change of 0.49095. Our entropy change of our surroundings is negative 0.561506. So when I add those two numbers together I get the entropy generated by the process which is negative 0.07. Now what does that number imply about this process? If you said the fact that S gen is negative implies that this process cannot happen you are correct. Remember a positive S gen implies that that process is irreversible. An S gen of 0 implies that the process is perfectly reversible. There are no losses. An S gen that is less than 0 implies that the process is impossible. It would be violating the second law of thermodynamics. So for part D we say S gen is less than 0. Therefore this process is impossible. A better way of saying that would be to look at this and say, well this process cannot occur in such a way that the pressure is 40. So we're starting at 400 kPa and we are expanding to 40 kPa and we are determining that that process is impossible. So now if there were no losses, if everything were perfect, what would our pressure be? That's useful because we can figure out what the best case scenario pressure is and then because we know it can't be less than that we know that the pressure at the end of the process must be greater than or equal to whatever that result is. So for part E we want the best case scenario which means that we want a reversible process which means that we want S gen is equal to 0 and for S gen to be equal to 0 that means delta S of the system must equal delta S of the surroundings. So we could guess and check pressures and observe that as we increase the pressure this number goes down and this number goes down. However, we would observe that the only point where they are equal to each other is when they are 0 because they don't intersect anywhere else. They intersect only at 0. Therefore delta S of the surroundings is 0 and delta S of the system is 0. So what does that mean? Well, for this to be operating perfectly that means that there must be no heat transfer because delta S of the surroundings is 0 therefore it's an adiabatic process and delta S of the system is 0 which implies this is an isentropic process. So note that ideal compression and expansion is isentropic. So now in our new end state v2 is still whatever we got earlier it is still 0.002034 that's cubic meters per kilogram and now the other property that we know at the end of the process is S2. So we're saying S2 is equal to S1 that's the ideal case which would yield the best case scenario pressure at the end of the process and that specific entropy was 0.8312 so now we have two independent intensive properties now we can proceed to look up the resulting pressure the problem with this particular lookup is that our property tables are built using temperature and pressure as one of the driving properties to figure out what the pressure corresponding to this entropy and specific volume are using the tables is very difficult so difficult that I don't want us to spend any time on it so what we do instead is let a computer do the work for us if we let a computer do the work for us we end up with this MATLAB code and the pressure at the end of this loop where we are converging on an answer is 0.1987 bar so we can say that pressure is 0.1987 bar or 19.87 kPa so what does that imply? well it means that the problem with this pressure was not that it was too low it was that it was too high so we know 40 is impossible we know the best case scenario is 19.87 kPa therefore our actual pressure must be less than or equal to 19.87 kPa if everything were perfect the best case scenario pressure is 19.87 for everything else it's less than that


Now, the chief of naval staff, Vice Admiral Awol Gambo, has flagged off the 2022 Operation Obagame Express. It's aimed at improving security among naval forces of the Gulf of Guinea and allied countries. The exercise took place aboard the Nigerian Navy ship Annenes Thunder, the only port in the local government area of River State. The report. Exercise Obagame Express is part of efforts to protect the maritime sector of the economy for sustainable use of the resources and effective security of maritime trade. The chief of naval staff, Vice Admiral Awol Gambo, set the exercises designed to improve operational readiness. It also promotes maritime domain awareness, information sharing practices, and tactical interdiction expertise of the Navy. The exercise is designed to improve regional collaboration through joint operations, intelligence sharing and harmonized legal frameworks to enhance the collective capabilities of Gulf of Guinea nations against maritime crimes. The naval chief said it is instructive considering efforts of the federal government at operationalizing the Africa Continental Free Trade Agreement. According to the United Nations Conference on Trade and Development, the African Continental Free Trade Area has the potential to boost intra-African trade by 33 percent and cut the continent's trade deficit by 21 percent. It is thus envisaged that Nigeria and indeed the Nigerian Navy would provide a lead role in this regard. Vice Admiral Gambo commanded the United States government through the U.S. Africa Command and other international partners for facilitating and sustaining the exercise. He expressed hope that this year's exercise will achieve the target of ensuring security at several waterways among the Gulf of Guinea nations. The flag officer commanding Central Naval Command is Rear Admiral E.D. Abbas. He assured that the exercise will keep businesses alive and provide the impetus for enhanced overall maritime safety. Exercise Obangami Express 2022 presents that ample opportunity for the Nigerian Navy to work together with other regional and friendly foreign navies in the spirit of the Yawande Agreement. The exercise will aim to create a safe and secure maritime environment for shipping and other economic activities through the prevention of piracy, sea robbery, crude oil theft, illegal bunkering and other forms of criminalities within our maritime domain. Partementally, in all, 24 friendly forces will participate with representatives of the agencies like the U.S. Africa Command. So you get notified about fresh news updates.


Hi and welcome to the session. Let us discuss the following question together, which says find the degree measure corresponding to the following radian measures. Third is 5 pi upon 3. So let us begin with the solution and we are given 5 pi upon 3 radian and we have to find its degree measure. Now since pi radian is equal to 180 degrees therefore 1 radian is equal to 180 degree upon pi. This implies 5 pi upon 3 radian is equal to 5 pi upon 3 into 180 degree upon pi. Pi answers out with pi and also 313, 3 into 60 is 180. So we have 300 degrees. Yes, 5 pi upon 3 radians is equal to 300 degrees. So this completes the solution. Hope you enjoyed. Take care.


Let's take a seat, let's get settled down, and get in the class. All right, I'm going to have this guy do like three minutes on questions, five or three questions. Any other type of questions? Do you sit in more or less the same spots? I see some familiar faces in some familiar places, just less of you. That's right, you're all here. Okay? So we can do like a regular expression example? Not, because I don't think that would be valuable. I think recitation sections would be an awesome place to do that, or office hours. Just because I want, we need to cover new stuff today. Okay, that's right. So like yeah, it's on syntax analysis stuff, like first sets, follow sets, and those kinds of stuff. I mean we're getting the follow sets now, but I don't want to backtrack too much, and I don't know if I can do a good regular expression example in like the one minute left that I have. Do you have any examples on the YouTube at all? Or are they like previous classes or something like that? Yeah, maybe. Yeah, so any more. And I can look through and search for all my past videos. I'm sure we've done it at some point. Or, I don't think there's a class in here after class. So maybe afterwards you bring up your question again, and maybe a quick example after class. Sure. Cool. Okay, any other questions? Yeah. Are we still doing parsing techniques or are we done with that? We are. We're going to close that up. We have, we have three follow sets. What was this? We just had the slides up. Yeah, so we need to cover follow sets so we can do parsing so we can actually do how to write a predictive recursive descent parser if we haven't talked about it. So how we can actually write that parsing code that we saw based on any grammar once we calculate first and follow set. So we're going to do that. We'll be done with syntax analysis. Then we're going to move on to semantics, which is really interesting. Cool. All right. Let's get back to it. Okay. So we kind of talked about it on Wednesday. We talked about and developed our intuition behind. We kind of saw that, hey, just using first sets, I can't actually tell if I can parse a grammar just, or parse a string. So create a parse tree given, either you can think about it, a string or a sequence of tokens just by peaking ahead by one token. Right? And we saw that we need this new function called follow that represents what comes after a non-terminal. What kind of tokens can come afterwards? And so we talked about the function signature for the follow function. It takes in, in this case, unlike in first sets where it took in a sequence of terminals and non-terminals. Here we only care about the follow of non-terminals. And it's going to return a set of terminals and end of file. Subtuitively, we talked about that, the very kind of, we're going to crash the starting non-terms. This is why it's good to be here. So the starting non-terminal will always have the end of file be followed after it. Right? Because we just kind of know that we, there we have S. It's going to generate any kind of random tree, any kind of rules are going to happen. It's going to result in some string or sequence of tokens. And we know that after that is end of file. So we know that end of file is always going to follow our starting non-terminal. Okay. So let's kind of develop, so we're not going to go into the rules just yet, but let's use this as an example to try to think about what follow means. Right? Should it be based on our understanding of what the semantics of the follow function is and what this grammar looks like here? So we have S goes to A, B or C, A goes to little A, B goes to big B, little B, B, C goes to C, little C or epsilon. So the first thing we want to ask ourselves is, okay, so what's going to, what do we already know just from looking at this grammar? What can we know about some information that we know about some of the follow sets here? It's information. It will be followed by end of file Y. So what, some of the rules we're looking at here, so like this, so if S goes to A, that's the rule we're looking at. So then what do you know about S first? Yeah, end of file has to follow S, right? We kind of just showed that in that terrible tree diagram, right? So then why does, why do you think now that end of file would be an A's follow set because of this rule S goes to A? Yeah, so we go back to our tree, right? We know looking at that rule we have S. We know there's a rule S goes to A, and no matter what happens, right, the end like all possible strings that S can generate is going to be the same as all possible strings that A can generate, and so whatever follows S here is also going to follow A. So yeah, that would be a good thing. So we would think maybe that end of file would be an A's follow set. Does that apply to any of these other rules? And S goes to B, right? It's the exact same situation, right? So that would be based on our previous logic and reasoning. And end of file should probably be in B's follow set. So it's the same truth for C. Yeah, there's no difference there, right? And so one of the key things, I want you to think about that, we're thinking about now, right? When we do first sets, we're looking at, if I want to try to get the first set of S, I look at all the places where S is on the left-hand side. But here when I'm talking about follow, I care about where is that non-terminal used in the grammar? So where is it in the right-hand side of rules? So what about, what else can we know about that? So okay, we got some pretty good information there. If we get the first rule, what are the rules? Or what not rules, but what other things? B, little B follows is in the follow set of BY. It literally follows, right? It's directly after. We have a rule and we don't care it's on the left-hand side. We know when this rule is chosen, right? If we go back to my example, right? It doesn't matter what happened up top. It just happens to be that this is a B. It doesn't really matter. But we know that that's going to generate a B and always a little B when this rule is chosen. And so whatever B generates, we know that what follows it is definitely going to be this little B. And it doesn't, we don't care when it happens. We just know that this rule exists. Therefore, there's some possibility that a small B will follow, can follow a big B. Cool. So we have in B's follow set now, the end of file and little B. So what else? Any other information we can know based on our reasoning and logic? Little C follows C. Yeah, by the same reasoning, little C also follows C. So let's see. Oh, look at that. So smart. I just did all this. Okay, but this is just like eyeballing it, right? And kind of trying to develop some intuition. So let's think about what we were doing when we came up with those rules to try to understand and think about the rules themselves. So this is not the only thing. So I'm getting a little better at this. Or maybe you don't think so. I think so. Cool. Okay. Sweet. Okay. So I had this rule. I have S goes to A. So what was the first thing we knew that we just talked about? What was that one bit of information we started with? End of file is blood. End of file is blood. So starting on terminal. So we know that, right? We've just basically proven that by a terrible drawing. That makes sense, right? S generates the entire string. So there could be, can there be other things that follow S? Not in this grammar exactly, but maybe in a different grammar, right? There's no restrictions on where S can appear on the right-hand side of a grammar. We've got S appearing all over the place, right? But we know that S, the starting on terminal, always has the end of file in its follow set. Okay. So let's think about this. So for our second, when we just went through this, we had S goes to A. What did we do there? So what did this tell us about A's follow set? Yeah, it should be the same as an S? Exactly the same or? We're talking about sets, right? Yeah, it needs to contain, right? And why? Because we can see here that S will generate an A so that anything that could come after S can also come after A. But we need to think, right? If we're trying to derive a general rule, we want to think about the different cases, right? So is this only rules of the form S goes to A? Or if we said A goes to B, does it still apply? What if we threw an alpha before where alpha, as we're using again, is a sequence zero or more symbols? And what about would it apply in this case? Or more cases, I guess, one more. Alpha, B, alpha. I guess there shouldn't be this thing, technically. We'll go with, right, just some sequences. So is this applied at any non-terminal? So I have four choices here. A goes to B. So the rule, right, that we kind of derived was if we have something in this form, we can add, so this would be basically add first of A, sorry, not first, follow of A to follow of B. So that's what we came up with based on this, right? So here we're adding, so this is like a rule in this form. A goes to B. So we have B, so we add the follow of S to the follow of A here. So here we extend this rule, can we think about extending this rule to any of these other circumstances? Does it make sense? Or is it just rules of this form? Do you want me to draw trees? Do you want me to draw trees?  So we saw this case, right? A went to B, which went to whatever. And we know that whatever came after A is the same thing when it comes after B, definitely in this case. Well, let's go to this case. A, if A, I have alpha, which could be any number of things. I have a B, and then I have a delta, which is any number of things, right? So this could go to anything. This could do anything. And this could do anything. So does this tell me anything about the follow of A? Like, how do I relate follow of A to follow of B here? What was that? Follow of B is going to continue to follow of A. Really? What if this delta is just a lower case A? Right? Because delta can be a sequence of terminals and non-terminals. So it's just a lower case A than by our other reasoning that we talked about. Well, we know that little A should follow of B here. That's the only information we can gather here. So we have follow of A tells us what happens here after this whole thing. But does it tell us anything about what follows B? Not necessarily. Okay, so that's this case. Try this case. A, B, alphas, sequence of terminals, non-terminals. B develops anything. Delta can go to anything. And fundamentally, the follow of A tells us something here. So again, we kind of have the same thing. So does the follow of A tell us anything about the follow of B based on this rule? No. All right, so we have our final case. It's fun, I've actually never done this before. Delta creates anything. B goes here. And then A, right, A is this whole thing. So the follow of A is what's after here. So now does the follow of A tell us anything about the follow of B? Why? It's the right most of our rules, right? Because we know whatever A expands to, B is the right most. So whatever follows A must also follow B. So now we're going to have to extend our rule a little bit. The rule is if we have something of the form of this, because why did we use beta in this example? If we have A goes to any number of sequence of terminals or non-terminals, then beta, add follow of A to follow of B. So let's revisit this diagram. Or, eh, let's go here. Let's revisit this diagram. No, sorry. I'm going to revisit this one. So why didn't we rule this one out? Why did this not tell us anything? What condition caused us to rule this out? Yeah, maybe there's a non-terminal after B. But what if we got rid of that condition? Or what if we said, what if we knew that delta could go to what would help us? Epsilon. Epsilon. And how do we know if delta goes to epsilon? Yes, if it's in the first set, right? If the first of delta contains epsilon, then what? Follow of A. Yeah, then we should add. So we know, just like our diagram, right, if this can go to epsilon, there's a certain case where it will go to epsilon and go to nothing. And that means what follows A also follows B. So we have, well, that was the second rule. So we basically have our second rule here. And maybe you notice some parallels. Let's think about, like, one. So we have A goes to, let's say, alpha, B. Let's do it a little bit differently. Let's say it's B, what do we want to call it? B0. Let's say B0, B1 all the way up to BI. It's a little different from the notation we were using before. And so similarly, you remember how the first set rules we were talking about i's and zero's and epsilon's and first sets. So what would that mean? What would my equivalent kind of here be? So if I have the rule in this form, but I need another condition because we know I just can't put, I can't add the first of A to the first of B0 all the time. So what's my condition? Yeah, epsilon exists in the first of B1 and B2 all the way up to epsilon existing in the first of BI all the way to it, right? Then my first of, was it the first of A to the first of B? Yeah. This is the problem when you start mixing them. Somebody that's easier for you to follow in the lower case. So just like on first sets, right? Essentially these two rules give us an algorithm. What does this rule say? This is the second rule. Like in English kind of. Yeah, if it's the right-most symbol, then always add the first set of A to the first set of B. So I have the first set, sorry, the follow set of the left-hand side to the follow set of B. The right-most. Well the left-hand side, sorry, you have the follow set of the left-hand side non-terminal to the right-most non-terminals follow set. We'll go over this in a second. It'll be a lot easier. And this says basically, so I'm making it ring, it's not a very effective right of the change. So this rule, so this rule that we just came up with basically says, okay, and there's an epsilon in the right-most, there's an epsilon in the first most of the right, sorry, there's an epsilon in the first set of the right-most symbol, then we can add the follow A to the follow of the next one, right, and this will keep going. Although this looks actually slightly different as we'll see how this applies, because we really only care about B-zero, because we're going to try to calculate first of S, first of A, first of B, first of C. So we do this and we say, okay, if I'm interested in the first of B-zero, well, if it's at the very end, I know I can always add it by this rule. And if there's epsilon's in the first set of everything after me all the way to the end of the rule, then I know I can also add the first of A to the first of B-zero. We're going to have five rules. Okay, let's think about our second one here. So we had B goes to B, B, B-lilby. B goes to B-lilby. So what would this be like in a rule? So the right-most, okay, let's change it slightly. If I change this to A, does that change what you were going to do? So remember what we're getting out of this. What's our goal here for this part? What do we add to B's follow-up set? Any ideas for a minute? Yeah. So what did I do? So what did we do here when we did it for this one? What did this rule tell us about B's, big B's follow-up set? It has little B. And we know that, we're talking about that, it's because it comes directly after big D. So does it matter then what this symbol is on the left-hand side? It could be A, S, B, D. It doesn't matter at all. It's in the right-hand side of this rule. So, so this was we add, so what are we actually adding here? The terminal. So let's think about how this situation would change. So let's add this. This is a little thing. Not again. Why does that happen? We're going back to C's. It makes no sense. Okay. So now on this, very similar, but what do I know about the follow-up B? Follow-up B is D. Follow-up B is what? Follow-up B. Which is what? The set containing D. Right? So the way you should check, and this is the way we're trying to come down and think about things, is okay, I added this guy, this terminal here to D. What was I really doing? In this case, are you adding this terminal, like big D is a non-terminal, right? So it seems different. So what if you were adding what in this case? The first set of big D to the follow-up B. Just like what you're doing here, with the first of little B, the second-hand little B, and you added that to the follow-up B. So if you're going to rule the form A, it doesn't matter. It goes to N. Does it matter what happens when it comes to before B? It doesn't even come to before because I only care what happens next. What follows B? Literally, the follow means we don't care at all about what comes before. So I have B followed by oh, we'll go back to C. Followed by delta, there should be anything, right? For this case, we don't really care about what comes afterwards. And so if we have this in this form, then we do what? Let's go C and follow-up B. This makes sense drawing-wise because we have A, we have whatever junk's happening here. We have a B, we have a C, and then we have delta, right? So we know that this is going to generate something and C is going to generate something. And what I care is what is the first thing that comes after B is the first thing that C starts with. And because C follows B in this example, then the first of C must be in the follow-up B. So now, just like I did when we were doing rule three, what case should I consider now? Case where C has epsilon, right? What if I had C or epsilon? Or here, whatever, B or epsilon, right? So just like right here, the idea is when C is epsilon, this thing goes to nothing. And so what is what follows B? The first of delta in this case. Exactly. And since we're super good at this, we can write it in this form. Right? So we have the fifth rule which basically says if we have a form A goes to alpha B let's go zero B1 all the way to BI Wait. Oh, it depends on the general. BI B I plus one all the way up to BK so this is all the way to the end. So let's say, so I want to add BI plus one's follow set to B zero. So what would that mean? Yeah, B1 through BI must have epsilon in their first set. So if this so if the rule is on this form and B epsilon exists in the first I'm going to get that because I want to write this faster all the way up to then just like before I'm going to add at first of B which one? I plus one to follow of B zero That's it. Five rules. Yeah? C to the follow of B Ah, because we don't know the shape essentially do you think we're at like this, right? We don't know the shape of whatever this tree is that C is going to generate, right? The first test first set tells exactly what characters can this tree, this string this sub-string that this generates start with but it doesn't tell us anything about what how many strings how many strings and sequences there are right whatever the third character is or if C let's say always generates a terminal then what delta starts with does not matter to the follow of B because whatever delta starts with can never follow B to think about it like this so if we have S, A goes to B little C, D right? So I know that this rule if this is my only rule this gives me a parse tree like A and B little C B right? So B can do anything and can have first sets the first set is going to tell me what character happens here the follow of set is going to tell me what happens after D B will do whatever the first set tells me what character what token B starts with and the follow of set tells me what comes afterwards so does D's first or follow of set affect B's here because there's a C here I'm missing the point like why if B here D follows B D follows as well when we talk about follow we don't want all the characters and all the tokens that can follow right? We don't care about the sequence just like with firsts we don't care about what is exactly that first character that could be there every follow set will contain exactly one element no it's only talking about the element that directly follows this non-terminal in the resulting so let's think about it like this for first sets so if I have A goes to B, C, D right? when I think about a tree I have A, little B little C little D but the first set here I only care about B B I know that all possible strings that A generates they will only ever start with B and I don't care what any of the other strings are that's in there so similarly to follow sets if I B goes to A B so to answer my own question can have multiple elements when the construction rules say that a single non-terminal goes to several different sets of terminals and non-termals that's when the follow set would have multiple elements so you could use like for instance here you could have A goes to big A, little E or you could have A, A, F whatever there's going to be two in any all possible strings in combination of these rules the only two terminals that can ever follow the A non-terminal in this grammar and when I say follow me directly afterwards are either A or F that's it E or F yes, the first ability is the first of little F in this case R, A, E and F only care about what comes afterwards and just that first character terminal so for here that's why because this C essentially occupies that next terminal after B and it can never go to Epsilon it can't go to nothing so it doesn't matter to look at D at all with the formal definition of follow sets I didn't it was formally defined on the first slide I'm missing so that I think that we just came up I had to come up with the intuition that the follow set are just a set of things that clearly can follow exactly, yes so it's the set of terminals and or end-end-of-file characters that can appear immediately after the non-terminal A so also to clarify the end-of-file does not appear in every non-terminal's follow set correct, it may not but it will appear in one of them at least one always discarding non-terminal because of the first rule so it seems like if these, it seems like these rules are a lot more difficult than first sets maybe you're different to me, it seems a lot scarier but actually they're a lot simpler the first rule is super easy always apply it, add end-of-file to the starting non-terminal you do that once and you're done the second and third rule just basically say they're basically the second rule is the case where you are the last element and the third case is is there epsilons between you and the last element and the fourth and the fifth are about adding first sets so these are also the similar type of rules so let's go through the example again, so we need first sets, why do we know that we need first sets? we need first sets for rules four and five for rule three, right? so we need to calculate first sets first so calculate first sets so what does this mean when you're doing it on a test you actually get the first set right because it's going to mess up everything else also programming is it worth it to start on follow sets if you're not passing all the test cases of your first sets? probably not it depends on how close you are on a deadline you might have to do some game theory things about how much you can get done but if you really want to make your first sets rock solid that way you know there's not a problem because once you start coding follow sets now you have to start worrying about is my logic for calculating follow sets correct or did I mess up first sets so it's a lot easier to think about these tasks in terms of really different stages like stage zero is really just all about you reading in the data into some data structures that you can iterate over and manipulate right and once you have that then you've read in all the data correctly you're good to go to start doing first sets and to start calculating over that data so anyways that's how I submit to the program okay so same thing like before I'm not going to go into the example but we have follow sets and we have follow sets we don't want to get into any crazy recursive situations so we're going to do the same way start with empty follow sets for all non-termals in the program and then just like first sets we're going to keep applying all of these rules to all the first sets in turn until we get to a point where the follow sets do not change and then we know we don't have any for any more information and we're done calculating follow sets so the rules are actually the way we wrote them handwritten and these are pretty much the same so if s is the starting symbol of the grammar then add end of file to follow s super easy thing to do you only have to do this once are these slides, I know there are the video but are these just the slides available because the last four lectures I'm finding that my notes are basically a long series of instruction rules yeah all these are online ok and we know, we talked about if we have a rule so here I switched around b's and a's a little bit because here I'm thinking I want to calculate the follow of a that's what I want to calculate so if I have a rule of the form b goes to whatever and a is the very last right most symbol in that rule then I know I can add the follow of b to the follow of a then here I guess I did it a little different then here I care about a again so I'm trying to say what do I do with the follow of a I say well if epsilon exists in all of the symbols after a to the end of the grammar they can all go to nothing and so we can add the follow of b to the follow of a this is the rule that we came up with we use b zeroes and b here I that's a little consistent and of course you can think about these c's as either in this case you can think about them as either terminals or or you can think about them as symbols terminals or non terminals because your program is probably going to consider them as symbols in your grammar but you can calculate a c zero is a terminal you know that is epsilon exists in the first set of terminal epsilon exists in the first of little a no no it can't right the first of little a is the second containing a you already calculated the first set ok so then these two rules basically say how do I propagate follow sets from the right from the left hand side symbol to something on the right that's essentially what these are saying the next rule say ok what about where a is actually used itself because I know a rule in this form is telling me that c zero follows a right and so this rule ok good so this is something we didn't talk about when we were doing the first set why do we subtract out epsilon here yes epsilon cannot exist in the follow sets right follow set is terminals and end of file that's it and so you can think about this rule 4 is another base case you always always always if you're calculating the follow of a add the first set of whatever comes after it minus epsilon to a's follow set always do that 100% of the time and the fifth rule basically says ok but if there exists an epsilon in first of c zero then you can add the first of c1 minus epsilon to the follow of a and if there exists a epsilon in the first of c1 you can add the first of c2 minus epsilon to the follow of a and if there exists an epsilon in the first of c2 I don't even know if I'm saying it right then you can add the first of c3 minus epsilon to the follow of a just like adding the first sets you keep going until one of these symbols has an epsilon does not have an epsilon in its first set so let's think about c0 c1 c2 right so or maybe even c3 so by rule 4 we will always add c0 to a for the first of c we will always add the first of c0 to the follow of a makes sense it's literally going to be that right but there exists a case where c0 can go to epsilon to go to nothing which means that the first of c1 is going to follow a but there is a case that c1 could go to nothing as well and that means that in that case the first of c2 will follow a so what happens if there is epsilon all the way c0 to ck what do we do? it's rule 3 right it's crazy you only have to worry about it it's kind of already done for you yes just like when we calculated the first sets we were only adding to these sets so the sets are only growing bigger because we don't have epsilon in the follow of sets it doesn't make sense as we define the follow of sets we only care about we only care about terminals terminals and end of file alright we'll throw our handy dandy example that we used last time s goes to abcd a goes to cd or little a big a b goes to b c goes little cc or epsilon d goes little b or d or epsilon I'm sure you all remember this these are the first sets that we calculated it's in your notes right just kidding right so we need these here just keep them here in time as those reference and then we follow our algorithm right so we're going to first initialize all the follow sets to the empty set except for well I guess alright we can do this cool okay so we have all the rules on the top hold on we have all the rules on the top of the grammar and we have all the first sets that's all the information you need okay s which rule applies 1 right rule 1 applies s is the starting symbol of the grammar we add end of file to the follow of s okay then how do we apply rules 2, 3, 4 and 5 where do we apply them to what do we care about right hand side so we need to find rules so and the important thing in here some of you we want to find all the instances where s appears in the right hand side of the rules and then apply all these rules to all of the instances right so if you think about a case like a goes to b little b b little c what would be in the follow of b here right it should be b and c right because you only care about you care about the follow of these what are all the possible terminals that could follow b and here even though there's b in this one rule right it appears twice so we have to apply rules 2 through 2 through 5 to this b and then apply rule 2 through 3 to this b this is where the left hand side appears in the right hand side because you said s because we were concentrating on s but if anything is ever in a left hand side do you study all of its instances in the right hand side and apply the rule of each instance yes so it's all so you can think of the things on the left hand side are all of the non terminals but here's a specific difference in why I make this distinction on the when calculating first sets we look at like if we were calculating the first of s we look at all rules where s is on the left hand side those are the only rules we care about but when calculating follow sets then s appeared in the right hand side of rules so if we look at every single rule to see if s appears anywhere and here we see s does not appear anywhere so none of rules 2 through 5 apply so if our production is a gives bb then in the follow side of b first of b yes the question is if we have a rule a goes to bb bb right so by rule 4 it would say if we were looking at this instance of b we would add the follow of b the first of b minus epsilon to the follow of b and then when we look at this instance we would see that rule 2 applies and we would add the follow of a to the follow of b it's important so follow of s into 5 oh ok we're talking about a so now we're talking about a so how many rules does a appear in the non-terminal a appear in the right hand side we have s goes to a b c b and a goes to a b a right so there's 2 rules so we need to look at each instance in turn so we look at the first one and we say is s the starting symbol of the grammar or is a the starting symbol of the grammar no right it's not going to apply you can also think of this as a rule every single time you just initialize the starting non-terminal with the end of 5 that could be a different way to do that then we say does rule b apply is a the right most non-terminal sorry not in the right most non-terminal is a the right most symbol in this grammar this rule sorry in this rule that we're looking at right now no so rule 2 doesn't apply if rule 2 doesn't apply will rule 3 apply oh maybe sorry so then rule 3 says is there so rule 2 says am I the last one if no then is it possible for me to be the essentially the last one because there's everyone after me all the way to the end of the rule can go to epsilon can go to nothing so it's the same thing as if I was the last symbol so are there epsilon's in the first set of b c and d nope you can stop to b so rule 3 doesn't apply rule 4 so we add the first of what to the follow of a first of b minus epsilon so b to the follow of a and then we say does rule 5 apply is there an epsilon in the first of b no so I've done rule 5 does not apply cool then I have to look at this other rule right I have to remember I have to look at every instance of a in the rules are we over time nope, shoot alright we'll go over this example again I'll just like go through it in slow motion when we're watching this video pretend I'm saying what he's saying


With Andreas Berg, CIO of Wolfcron, who is an SAP customer, Andreas, welcome. Welcome, thank you. Good to see you. So we're here at Sapphire in Orlando, hearing very big messaging from SAP around two big things really, HANA, the in-memory solution, and of course, mobile. And so I always try to measure the effectiveness of a company's marketing by talking to customers. And so do those. And how do those things resonate with you? Are you actually doing anything with, for instance, mobile today in your environment? But we want to talk about that. But first, start us off by telling us a little bit about your organization. Yes. My name is Andreas Berg. I am CIO of Wolfcron AG, European Crane Manufacturer, with his head office in Switzerland, Turing, and production facilities all over Germany. We are a mid-size company, 550 employees. Our main markets are in Europe and Middle East. And we have a rental fleet of tower cranes of about 600 pieces. OK. And so you've been an SAP customer for a long time, obviously. And you've seen the transformation of that company in many ways. And we're now seeing another one. What do you make of all this talk about mobile, for instance? Is that something that you're pursuing? Yes, I have to make one correction. We are SAP customers since 2006. So we just have finalized the international rollout throughout over Europe in the beginning of this year. Now we have one SAP system with one client and many companies in this SAP system. And it works fine. But we have had one problem that was the process for our service technicians. A service technician at Wolfgang has to assemble, disassemble, and to repair cranes all over the world. And this work was not supported by IT so far. So the problem that we had was, whenever there was a service order coming in, we did not know who is the right person, where is the person, is it free? After, finally, we have found the person and we had to direct him to the right place all over the world. And all what we did in this process was paperwork.  He had to send us paper. And it took weeks and months from the beginning of the order that we were able to send an invoice to the customer. Very expensive, inefficient. Inefficient, yeah. So you must imagine the form for the service technician had six carbon copies. So one for the customer, one for the technician, and four for the organization. With 2,000 to 3,000 orders per month and four carbon copies in the organization, all the data I had to be keyed into the HR payroll system or the quality assurance system or the SAP system for invoicing. So many people were working on this issue and this was really not productive for us. So we had to find a mobile solution and finally we found it. It is very simple. It is an iPhone. An iPhone for the technicians. They are very proud to have one because it's for them as status symbols. They are treating it very well. It's cool. Yeah. And we have a so-called SAP connector. It's a piece of software added to our SAP system which organizes the communication between the iPhone and the SAP system. Dave, one of the things we've been hearing today and love to get your perspective as a CIO and kind of out doing business on SAP is with this HANA product, that innovation from SAP, a lot of the folks that follow our content and who are watching on the web, they're consumers. They're using consumer products, games, the web, mobile devices, Apple's obviously driven that. Now Android was seeing surpassing on a market share basis on Apple, although not as fully developed as Apple in our opinion. The experience in the consumer lifestyle, right, and that's good. It feels good. That's coming to the enterprise where people are working doing business. So what the SAP is really saying here is that that experience is coming to the enterprise. A once dictated environment where you have to do certain things, certain policies, things are slower, certain processes so that consumerization is happening. How has the mobile aspect changed your business and how is it changing your business and what's your outlook and how you see this world going forward? Okay, with this service solution, we are now much faster. It is sophisticated. We can streamline the processes and so on, but this is not the end of this story, of course. What I want to do is in the next coming months to make our CRM, Customer Relationship Management, also mobile. So we will giving iPads and iPhones to all our sales reps all over the world and they will communicate as in Chrome with the SAP system. So they can load down their key performance indicators, the information about the customers, how the business is going, the business intelligent information. So this is a huge step forward now that we have. And for me, it's very important. I'm the IT responsibility. I do not need hardware. I do not need middleware. So everything is happening in the cloud. I still have my SAP system. To support my SAP users in the back office and the iPhones and the iPads with their apps are working more or less without any. You have that whole edge concept where I remember when networking was advancing, you had the notion of branch offices. You had the central operations and then let's have branch offices and you have to have network access and have a dynamic provisioning. That's now at the device level. I mean, it seems more complex. How are you handling all that? What's the technology that eliminates that complexity? Is it core cloud technologies? Is it the software at the edge? How do you get that effectiveness? Well, the access of the branch offices and different companies in different countries is still via the wide area networks. That is, stay the same. But all the mobile solutions, that is cloud computing in the future. So, cloud computing, in my opinion, is safe. So you have big providers like Amazon behind the cloud, let's say it's this way. And I feel very secure with the solution. But what I said, you have to travel a lot. All our top managers, our service technicians, our sales manager have to travel. And we were not able really to give them the right information when they needed it. So the mobile is a new wide area network? That's the new, the mobile networks are what you're using in the cloud power sector? Yes, it's correct. GSMNet and so on is almost always available. So, and the good new is I do not need direct and online access to the SAP system. These devices are working as in Chrome. So you can download the data, you can upload the data to the SAP system whenever you have access to the net. Dave, this is interesting comment about the hardware and middleware. I mean, we're hearing that. I don't need hardware, I don't need middleware. And that's what vendors do, they throw hardware at people. Hey, you need more gear, gear up. And it's like, that's more management. It's got more cost, more management. Exactly. It doesn't make you faster. And Andres, you say the cloud is safe. You feel comfortable with the cloud. You know, studies show that CIOs, what keeps them up at night is the security in the cloud. But why do you feel it's safe? You feel it because it's better than what you had before or the processes are starting to mature? What's your opinion on that? Well, as I said, behind the clouds, there are big providers like the telecom companies or Amazon, and they have much more money than I have for security. I cannot really provide security for my company. I think they can it with their. So also you see the cloud is more secure than anything you could provide. Exactly, that's just my opinion. We're getting some comments from some of the people on here. It's like describing how fast everything's gotten and I'm the other guy, I think he's talking about me trying to wrap it around Hannah. I necessarily want to wrap it around Hannah. I think Hannah is an advancement. It's SAP's version they're trying to put out there as fast memory. And that's consistent with the trends of like Fusion IO and caching. But it's not so much about Hannah. The cloud is a synchronous, there's no paperwork as he's saying in his comment. The speed is the key and it's not so much about Hannah. It's about the fact that you can do it, right? You're right. And so what do you make of Hannah? I mean, is that another part of your strategy? Yes, to be honest, it's the first time that I hear Hannah as a development of SAP. But I have no idea. So knowledge management in our company. So cranes are complicated devices here and there are many news all over the world about cranes. And to provide all these news to our engineers and technicians, I could use a database loaded into the main memory, of course. And all the possibilities to search information. So this is the first idea that I had when I heard from Hassell what he's doing with Hannah. But it's interesting to you. Yeah, of course, knowledge management is an issue. And also business intelligence, of course, has worked much better with Hannah. Andres, we want to respect your time. I know you were running late, but we could keep you here all day and have a good discussion. My last question is, how's the role of the CIO changing? You know, it used to be CIO, in America we used to joke, CIO stands for career is over. I don't know if they joke like that in Europe. But the role is changing, isn't it, with all this notion of mobility and changes in infrastructure and the cloud? And how do you see that changing your role? I feel, as in CIO, more and more responsible for the decision makers, let's say it's this way. It's no longer the processes. In the past, I had to look how it's invoicing doing, how can I improve purchasing, department, and so on. I think these things are over now. So we have implemented SAP and everything works fine. So in the future, I have to bring added value to our top management, to our sales rep. And therefore, I need new devices, new databases, new communication possibilities, and so on. Excellent. OK, we're here live at Sapphire now with Andreas Berg, who's the CIO of Wolfkran, a large crane manufacturer in Europe, across Europe and across the Middle East as well. And I'm Dave Vellante. I'm John Furrier. SiliconANGLE.com, SiliconANGLE.tv, the leading source of tech news, and this is theCUBE, our flagship telecast. We're on the ground covering SAP Day 3 in-depth coverage. Thanks so much for coming on theCUBE. We really appreciate it. Thank you.


ICOs or Initial Coin Offerings became hugely popular during the 2017 crypto bull run, when many investors saw them as a path to easy financial gain. According to data from Coin Schedule, over a thousand ICOs raised more than 21 billion dollars in 2018. However, the majority of projects did not survive the bear market, which underlined a highly-risk nature of these investments. In fact, the majority of tokens lost most of their value, some of them proved vulnerable to security breaches, while others turned out to be outright scams. Nowadays, the reputation of ICOs as investment tools is heavily damaged. We decided to look at three examples of last year's failed ICOs, and thus the people behind the projects as well as ICO experts what exactly went wrong. Launched by Harvard Dropouts, Rory and Kiran O'Reilly, JEMS was designed to be a human task crowdsourcing protocol in which users could hire workers to perform microtasks. JEMS are small tasks that require human judgment to be performed online, such as filling surveys or tagging pictures. We started talking to them about JEMS probably in the fall of 2017. They're interested in basically building a more peer-to-peer version of what Amazon Mechanical Turk is, which seemed interesting to me because the fees on Mechanical Turk are pretty high. JEMS aimed to challenge the leading platform in the field, Amazon Mechanical Turk, notorious for charging users with high fees and offering low wages. According to the White Paper, the competitive advantage of JEMS consists of a mechanism that guarantees task completion and incentivize workers' integrity with minimal transaction fees. I just kind of started talking to them about like, well, how would you actually build this on Ethereum in a way where it was scalable and you could actually have people do lots of tasks without wanting to kind of throughput limitations In order to enter the JEMS White List, investors were asked to perform a proof of care, which consisted of promoting the project on social media. Just prior to the ICO, the amount of hype surrounding it was huge, with the JEMS Telegram channel counting over 50,000 subscribers. However, things started going wrong when the company tried to maximize profits by conducting the ICO according to the Dutch auction model, with no fixed hard cap and bonuses given to investors who buy first. This triggered a negative reaction among the community, with many accusing the ICO of being a money grab. Eventually, JEMS decided to cancel the public sale, opts to conduct a private one instead, and keeping 75% of the tokens for the team. As a result of the poorly conducted sale, in the following weeks, all the hype fizzled out and most of the community abandoned the project. On the marketing side, yeah, I mean, initially they did a really good job of building a huge community, and then I think as both like as like excitement about ICOs kind of went away as the market went down, but then also the fact that the community kind of kind of dissipated the sale of both those things kind of made a lot of the interest go away. Later on, JEMS was sued by a allegedly infringing trademark's rights, and it eventually had to change its name into Expand. The token lost almost 100% of its value in the following months. The B token was launched by Venus, a peer-to-peer home sharing platform based on the Ethereum blockchain that aims at becoming Airbnb's direct competitor. Its team was composed of people with experience at reputable tech companies such as Uber, Facebook and Google. Venus aimed to eliminate the middleman in the home sharing market. It promised no transaction fees on bookings through their sites, while sustaining itself solely on the rising value of the B token supply. Supported by a passionate community, the B token was among the most oversubscribed ICOs of the year, with over 100,000 applying to the white list. The token price for the ICO was fixed at 0.14 US dollar. However, the enthusiasm completely faded away when some hackers stole 400,000 dollars from investors through a phishing scam. The phishing scam really killed our momentum, and I think that that really shows that security is number one. So after you get enough funds or get enough hype or on the uptrend, you should definitely focus on security. It was a third party that was compromised, not us. But you can imagine just the amount of reputational damage that we took for even giving our information to third parties. Right after the phishing scam, many criticized the B token team for underplaying the incident and not communicating properly with the audience. It's very dangerous to communicate after any type of compromise, whether it's our fault or someone else's fault, because we don't want to really be admitting guilt, per se, in a public way. Our lawyers are very worried about the fact that if we say, oh, a hack happened, it's like saying we got hacked when actually it was a third party that got hacked, and we would incur a lot more legal liability. But I think they really warned us to just make sure we do one or two vague messages. But in retrospect, I think we really could have and should have probably taken a little bit of a legal risk there in order to protect our users better. Despite the ICO hard cap was reached with a total $5,000 either or $4.5 million as the sale closed, the token value quickly dropped in the following months and today is worth only a tiny fraction of its original value. As a consequence of the bear market, B token recently announced it will start charging small fees to its customers, thus losing its main competitive advantage over Airbnb. So we were on the uptrend and then the hack kind of like flattened us. And then the bear market kind of killed us. And then the bear market kind of killed us. We realized that we really need to build a sustainable revenue model to survive this type of winter season, as opposed to just like, hey, we're in Airbnb with no fees, and we do charge a fee. We instead of charging zero, we charge like half of Airbnb's fee, which is like, you know, 8% compared to 15, 20%. So in terms of the security, we've definitely locked things down. We've realized not to really assume trust in any of our third parties. So we have a ton of different like filters and checks going through any of our, you know, Google domain names. So basically, like back then we had like one or two or three parties that could post on our behalf essentially, because you know, they send automated emails from from our servers. Now all of them are like limited. Texas based Aries Bank project dubbed itself the first decentralized banking platform. The White Paper had promised traditional banking services such as FIDIC insured bank accounts, Visa linked debit and credit cards. Just a month after the public sale started, the US Securities and Exchange Commission halted the ICO amidst fraud allegations. Eventually, it came out that the company had no partnership with Visa nor the authorization to offer FDIC insured accounts. In fact, it even lacked a proper license to conduct banking activity in Texas. The ICO turned out to be an outright scam which resulted in the theft of over four million dollars. In December last year, Aries Bank executive Jared Rice was arrested by the FBI and then fined together with his associate Stanley Ford for a total of $2.7 million. The two were also banned from participating in digital security offerings. We asked Ali Madavi, ICO advisor and partner at Blockchain Founders Fund to comment on the ICO. Aries Coin or Aries Bank was I think one of the projects that really put real challenges to this industry and really damaged the space. There was no real probing into what was this information legitimate. No one really asked for contracts or really pushed for contracts. The community didn't push for evidence on whether or not this insurance was real, whether or not it was possible to get SEC insurance on this sort of thing, whether they had any sorts of licenses as potential investors into the project. You do have to do your due diligence. You do have to ask those questions and if a company is not willing to listen to even a small investor putting in let's say a hundred bucks and they want to ask questions and if the community is not answering that through say like ask me anything or through Telegram or you know any any other sort of venue like I think that already shows some red flags that it's not worth putting your hard earned money into a project like this. What did we learn from the 2018 ICO experience? The speculative hype surrounding crypto was the main factor that led both investors and startups astray. Projects that focused solely on profits without paying attention to real world application, security and communication were bound to fail. However the crypto community seemed to have sobered up since then. Since most speculators were burned by the market and weak hands shaking out, 2019 could spell a new beginning for ICOs.


No, no, no, no, no, it did not. I'm really salty about this. I have to have another surgery on my residual limb for a bunch of nerve issues and kind of reconstructive stuff and I have been putting it off. I don't want to be in a hospital. I don't want to see doctors. And I figured, you know what, eventually the pain's gonna get enough that I don't want to ignore it anymore and that happened yesterday. Everything is built up enough. This leg got messed up that I was like, you know what? It's time. I need this to be better. I want to be able to consistently walk again and so I broke down and scheduled surgery. Gonna be a bit of a rough one, I have been told. We'll know if it worked in like six to 12 months because it's nerve stuff. It's kind of complicated. Fingers crossed. It will be successful. I will be living in less pain and hopefully be able to use my leg again consistently. Until then, I would like to extend invites to my pity party, which will be taking place for a while. I'm very sad about this, but it needs to be done.