Live from Barcelona, Spain, it's theCUBE. Covering Cisco Live 2018. Brought to you by Cisco, Veeam, and theCUBE's ecosystem partners. Hey, welcome back, everyone. This is theCUBE's exclusive coverage. Day two, we're wrapping up the show here at Cisco Live 2018 in Europe. We're in Barcelona, Spain. Past two days we've been here. I'm John Furrier with Stu Miniman, talking to the most important people at Cisco, the top executives, some developers, and really kind of getting the lay of the land. It's the first time theCUBE has been at Cisco Live in its existence, so it's great to be here. Stu, Cisco Live, there's a lot of smart people, so it's great to have theCUBE. theCUBE fits beautifully with Cisco Live because you got people sharing. You have great, smart networking guys, but they're also doing applications. This is really an awesome opportunity because this is like the perfect storm for Cisco. This is an opportunity to galvanize their base, grow them into the new kind of talent to move forward in this cloud-edge world where the network needs to be more intelligent. This is your wheelhouse. You've been covering this for a long time. So, John, yeah, I was looking forward to this. It's been years since I've attended Cisco Live in person. There's a term we haven't talked about a lot this week, but I think it fits. It's the digital transformation. And Cisco is in the midst of this transformation. I sat in our open on day one. My barometer was going to be, look, how is Cisco becoming a software company? Of course, things like iOS have been in the guts of what they did from networking, but being here in the DevNet zone, DevNet, Susie Wee's team, really helping to drive some of that transformation. We had a great conversation with Rowan talking about the future. We were talking about apps, talking about so many of the different things that Cisco was doing to not just be boxes and ports. Hardware is still an important piece. I'm actually concerned that maybe they have a little bit of that hardware holding them back a tiny bit because Cisco has skills there. They have lots of expertise. It might be mostly software, but even when they talk about things like collaboration, there's hardware underneath a lot of that. Stu, Rowan Trollop, who's the SVP, a general manager of the applications team, is the rising star. He is being promoted. And watch this as a signal from Cisco. They recognize it. So, you know, we heard from Andy Jassy at AWS ReInvent. There's the old guard being the hell about Oracle. And then the new guard, trying to obviously position himself as the new guard to carry customers into the future. Rowan Trollop on his keynote yesterday, who was the big story because the CEO wasn't here. He was the lead dog, so he's getting promoted. He was talking about the future. So the question I have for you is, as an analyst, is Cisco an old guard or are they a new guard? Or are they moving to be a new guard? What's your opinion? Yeah, too soon to say. Cisco was one of the four horsemen of the internet era. Absolutely, they should have a place going forward. But look, they're not one of the big public cloud providers. They don't sell a lot to the hyperscale players. But, you know, they have a very strong position in a lot of places. Still dominant in traditional network and do very well in collaboration. You know, have a lot of software pieces. They've made a number of acquisitions. Viptella company we had tracked before doing well inside of Cisco. AppD, a lot of buzz what's going on. We got to learn a bunch about Spark this week, John. Heck, even little tidbits I got. There's these two colored globes sitting behind you. It's like, oh, it's Alexa apps. And there's been people doing developer labs this entire week. So Cisco, part of helping to educate and do that transformation. Other companies like Pivotal is a partner. Lots of partnerships. And not just the traditional infrastructure companies, but we heard about what they're doing with Google, with Apple and others. So I'm not ready to anoint Cisco as a winner in the new world, but if multicloud, which I'd love to get your take on what you think with the multicloud strategy is, but Cisco at least has a right to be at the table. They've got strong customer relationships. Strong in the enterprise, strong in service providers. But if Oracle's an old guard, then why isn't Cisco? I mean, Oracle is plumbing. They have these database deals. They're not going anywhere soon. So you can make an argument that Oracle is not going to be displaced anytime soon because they have the mass of deals. But a lot of people will say, and we've been said that Oracle's relevance is waning with new database growth happening outside the proprietary database. So, is Cisco relevant? Yeah, John, it's a good question. So for one piece, if you say, okay, how are they doing on the transition to becoming recurring revenue rather than boxes? They still have quite a ways to go. They're not far enough along that journey.  How much are they an infrastructure company? They're kind of straddling the line. They're moving up the stack more than some of the other initiatives in the past. It's taken hold, thousands of people. So, you know, I give them good marks, John. What's your take? I mean, I don't know. I mean, I think, here's my take on Cisco. Cisco knows the networking. You can't, like I was saying with Oracle, they're not going anywhere. No one's going to rip out Cisco and replace it. There's nothing else to replace it with. I mean, there's no other competition, really. The competition to Oracle, I mean, Cisco is not being on the right side of history. So, to me, I think Cisco should be worried about one thing, making the bet wrong on architecture. So, they own the network. The other thing that people don't know about Cisco that's competitive advantage is they know the edge of the network. They've been doing edge computing since it existed. So, okay, extending it out to IoT is not a big deal, in my opinion. I think that is going to be an easy get for Cisco. Extending it to wireless, they have that with their deal with Jasper. That's interesting. That's going to be a game changer. But that's not going to be their problem. Wireless, human, cars, that's the new edge. That's just an extension for Cisco. That is a major advantage. So, competitively speaking, I think that is a real point that they're going to really nail home that a lot of people understand. The second thing is that their DevNet program is showing that they're upgrading and advancing their capabilities up the stack and bringing along with them their entire developer constituencies, which were essentially network engineers. So, they were once the rock stars, those network engineers of any enterprise. You go into any enterprise, you say, the network engineers, they ran the show. Now, the threat is coming from an alpha perspective from developers. So, now you have this kind of dynamic going on, Stu, where the network engineers need to move up the stack to meet the new developers and that's where the rubbing's going on. And that's where the action, that's what DevNet's doing. They're doing a masterful job of my opinion. They're not over-driving, not over-playing their hand. They're in the cloud-native role with DevNet Create. So, I think their best move is to just continue to march down that path, but they got to own the IoT edge. Without the IoT edge, Cisco could crumble. Yeah, so, a couple comments on that, John. One, IoT, Cisco started messaging IoT really early and they've gone through a couple of iterations so that what they're talking about IoT wasn't what they were talking a few years ago. I like their story much better today. Absolutely, both from a wireless standpoint, they've got the hardware gear, like Meraki they talked on stage, some software standpoint, like Jasper. One of the areas we got feedback from the community, John, they're talking about containers in Kubernetes, sure. They're not involved with serverless yet. And that is a blindness. Is it something that the big public clouds are going to do there? You know, they're, I'm sorry? I have an opinion on that. Oh, okay. Cisco's running billion dollar partnerships. They're doing billions in dollars in revenue. So, I think you can't really judge them by their participation in these open source projects yet. I think they got to bring something to the party quickly. I think, it's too early to tell, I would agree with you on that point on this piece. They got to go to open source and they got to figure out a way to do it in a way that's not distracting from the core mission. If I'm Cisco, if I'm advising to see you, I'm like, march with the network as the value, maximize the software play, and don't blow off open source. They cannot blow off open source. Are they brilliant in open source right now? Outside of Lutucker, who do we see? Dude. No, I mean, from a network standpoint, Cisco's been involved across lots of projects, you know, not just open stack containers. We've talked about what they're doing with Kubernetes and Istio. Give them a grade, open source, give them a grade. A, B, C, or D, or F? I'd say at least a strong B. Okay, decent. No, I mean, look, they're not monetizing open source. They're not rallying around the flag. They're doing great with developers, which, John, I guess what we say, is it contributing for contributing's sake, or how does it fit in the business model? We did a couple of interviews here where it says, no, no, open source. We're not negative on it. They're not pushing against public cloud. They're not against these things. It just doesn't fit as much into their environment. I think the multi-cloud thing, well, getting back to your question about containers. So containers are being commoditized. Red Hat just bought CoreOS. Dockers, Docker. Docker's got a business model challenge. We've reported on that, Stu, and we're doing a feature report on it now. And so what are they going to do? But still, container is a goodness. People like containers. Is it super complicated? Not really. Is Kubernetes strategic and important? Yes, that's obvious. So the service match is interesting to me. And I think the net DevOps positioning that they announced here, Cisco is kind of bringing this DevOps culture to the networking world. They're kind of creating a new DevOps ethos at a networking layer. I think that's going to be a really, really big deal.  It's either going to work like a charm, or it's going to fail miserably. So what do you think? I mean, it lines up with Istio, it lines up with service mesh, programmable infrastructures, managing microservices. I mean, it kind of hangs together, Stu. What do you think? Yeah, I mean, John, it goes along with the whole trend we've been seeing. The people that were managing the network can't be managing devices, or even groups of devices. Intent-based networking is one of the big items coming into here. It's how do I let the machine learning, the programmability help me in this environment because it's only going to get more complicated. The edge you talked about is critical. IoT keeps growing. And it's not something that people alone can do. It needs to be people plus machines. And I've seen nice maturation of how Cisco does this. Cisco, to be critical on Cisco for the last decade, is they have thrived in complexity. And I think they're trying to get over that sum and shift their model to more of a software model. Well, Stu, I think you nailed it. So here's my take. Software model allows them to scale. With machine learning, they could do what Facebook and Google's done.  They have Site Reliability Engineers. They've changed the IT model to scale the number of machines that they have. The number of devices that are coming on the network cannot be physically managed by people. So this means machine learning and software has to automate it. That is Cisco's opportunity. I'm not seeing it clearly right now, but if that's what they're talking about, that to me will be the tell sign. If Cisco can create kind of a Site Reliability Engineer like what Google did for networks, that's a game changer. All right, Stu, final thoughts. Let's go through what's riff on what we saw here. Obviously, Barcelona, great city. The weather's been phenomenal. It's been really great. Good food, good tapas. But Cisco, good vibe. Cube in the DevNet zone. It's been really interesting to watch. People love the labs. It's very kind of chill and relaxed, but very active. The keynote, looking forward, not looking back. Notable point. The CEO wasn't here. So that to me... Yeah, it's the end of the quarter and he was just at Davos and there's a bunch there. He didn't come last year either. But look, Chuck will be at the Orlando Show. Hoping we'll have him on the Cube when we go there. We're going to be at the Orlando Show. Got the Cube at the DevNet Create Show again. And John, chill, I think, was the right word. And part of me is wondering, is it because we're here in Barcelona and it's just kind of a relaxed atmosphere of a city? I've really enjoyed this week. Or network people, as I said, used to be a little bit uptight. I mean, it's the risk and fear are things that kind of ruled in networking before and people seemed a little bit more chill here. Pros and cons, too. Or observations that were good and not so good. Observations, to me, were on the good side, was a lot of activity in the DevNet zone, a lot of energy in the hallway, in a Barcelona way. So it's a lot of European flavor. I was the signal I thought was good was the keynote was packed. You and I thought it might be empty, right? Given, you know, but people strolled in, they packed every seat. The other area is that you can just tell people were interested in the new direction. The critical analysis, to me, would be, I didn't hear enough data-driven. I want to see more data-driven, but I didn't want to hear AI changing the world. I want to see real practical examples of data-driven impact to data center, and I wanted to see more meat on the bone on multi-cloud. So I didn't really see much there. I just heard about it. It was almost like we're going there. Not a lot of data-driven, not a lot of multi-cloud. Outside of that, I thought it was really, really a great conference. Yeah, and John, we had some phenomenal guests here. So on the data-driven piece, Michelle Denady, Chief Privacy Officer, really good piece, and she said, oh, guys, you're missing it if you didn't hear the data-driven, and she drove home in the interview with us how Cisco is involved there. So, John, there's a lot going on. Cisco's a big company, big show. There's a lot we're not going to be able to get. Riaz Rehan got the IoT piece, seeing some new players, really helping to shift along this transition. Love Susie Wee's discussion about the four-year transformation that we're talking, and Rowan, strong executive, good ventures Cisco. Stock has been up, like most of the tech stocks, the last few months, but... I mean, we've got to mention that. Good points, too. New Sheriff in town on IoT. That was a great interview. Again, Susie's at DevNet's hit home run here. She's got a great group she's developing. Awesome stuff to do. So, last thing, John, right, if Chuck Robbins would give you a call and say, hey, John, right, I've got that 10, 20, 30 billion dollars that I might be able to play with. Any final advice for him? I would really shore up the collab stuff. I think there's a distraction there from the sense of that I get why it's developing, but if you use WebEx or use these tools, you're biased. You don't understand. It's a tool to you. You're just going to use it. I think that is a great data, and I think that the collab apps, if you look at it not as a software play, but as an IoT edge device, data-driven device, that's a good play. So I like the direction. I would throw a lot of dough at the collab and make that an IoT edge feature, because they can cross-connect great data from WebEx to Spark. And I think Spark is, feels like an app. I want to, it's not an app. It's just platform. Look, it's a messy space. You know, who leads in those spaces tends to be a lot more of the consumer companies that did this. Cisco killed most of their consumer stuff than they did after the, you know, they had flip and the set-top boxes. So, you know, very different Cisco. What assets do they have? But tell us, to answer your questions too, what I would say, I'd say, Chuck, own the edge. This is a strategic imperative. I would throw the kitchen sink at owning the edge of the network. That means from the core to the edge, and I'd push that edge all the way to the wearables, all the way to the implants in your brain in the future, own it end-to-end, lock that down, make it dynamic, make it programmable. That is a holy grail moment. And to me, lock it down, and everything will fall into place. You'll have cloud traction, you'll have ab traction, everything will happen. And they don't need to be the owner of the public cloud to be successful in what you said, John, to a good strategy. I like it. All right, theCUBE, with all the strategy for the CEO, Chuck Robbins, who's watching. Chuck, good to see you. Thanks for having us at Cisco Live. Let's do a great analysis. So I want to thank all the guests. Thanks to the crew here. Tony Day and the team, and Brendan and Brian. Great job, and all the people back home at theCUBE. Network and theCUBE, Network Operating Center in Palo Alto in Boston. This is live coverage. This is our wrap up from Barcelona, Spain. CUBE is calling it a day here at Cisco Live 2018 in Europe. Thanks for watching.


If you are stuck in clarifying and getting to a clear understandable message for your business or a very unified brand, I want to invite you to just let it go. I think there is too much misconception that somehow the purpose of your life should be fully expressed in your brand and in your message. Have you given yourself that kind of pressure? Well, let me explain why I think that's a big mistake. Because the purpose of your life, I don't think, is expressed, can ever be expressed in your brand and your message. Sure, you can wordsmith things and make it sound really holistic and grand, but guess what? You are going to keep evolving. And if you invest a lot of time and money and energy into this one message or brand, pay lots of money for a website that fully expresses that message and brand, I'm sorry, but you might have made a big mistake. And if you already invested those thousands, which I experienced that before, just let it go. Let it go. Don't let it hold you back. Be careful of the sunk cost fallacy. Look it up. Sunk cost fallacy. Oh, just because I invested so much, I need to hold on to it. This must be my brand and my message. No, let it go. Be willing to evolve.  Next day, maybe not every day change, but at least every month you can change.    The next month you are a bookkeeper.  It's okay. You got to let yourself explore, especially in the first couple years of your business, and you can still be making plenty of money during that time. Someone hires you for life coaching. Another person hires you for dog training. Another person needs your relationship counseling. You can do all of it. You can do all of it until eventually you realize, wow, people really get a lot out of my relationship counseling. So you're going to naturally gravitate towards more of where you're making more impact. It's a natural process. And so I'll say one thing, and then we can complete this video, which is, please detach your purpose from your brand. I said it. Detach your purpose from your brand because your purpose is way bigger than your brand at this moment or your message at that moment. For example, I'll give you an example. My purpose, I believe the way I phrase my life purpose, which I hope will change as I learn and grow, is to basically connect more with God in every moment. I don't know how you phrase your life purpose. I'd love to know, but please let it change too. But to connect with God in every moment just means something like bringing more joy, more love, more truth, more forgiveness and gratitude into whatever I'm doing at the moment. So how does that deal with my career purpose? My career purpose will also change, but my career purpose is always evolving and growing. And so I don't give myself the pressure of integrating my purpose into my brand and my message. It's crazy. It's like the more you understand purpose, the more you're like, that's an impossible task. Why are we even trying so hard to do it? What's more important? If you're trying to make money, if you're trying to get clients, what's more important is to sell what people want. That's much more important because if you sell what people want, then they're buy.  And that's, I think, more of how you're living your purpose, not the words on your website or the color scheme on your social media profile or whatever.  But if you are doubtful, whether that's really expressing all of who you are holistically, let it go. I have. I could never figure it out. If you asked me today, George, I thought you figured it out. Authentic business coach. Really? I don't know. I'm not even really a coach because people approach me as if, George, can you coach me one-to-one? Like, actually, I don't do one-on-one coaching anymore. So even my name is inaccurate. I'm not an authentic business coach. I'm more of a authentic business, I don't know, speaker, teacher, author. But I like authentic business ABC. So it's like, I don't care if my title isn't right. It's like, whatever. You don't care. Do you? Do you feel lied to that I'm not a coach? No, it's like people who consume your content, they don't go, well, let me compare that person's title with what they're, no, forget it. Let yourself evolve. Let your brand and your message continue to grow. Change it every day if you want to. Change it every day if you want to. Who says you can't? The people who say you can't, just let it go. It's not your eventual audience. It's not your audience of true fans. So your purpose is much deeper and grander. Let your brand be whatever it is. Whatever you come up with is fine for now. And then you'll change it. Let your message be whatever it is. Whatever you have is fine for now. You can always change it. What's more important for business, anyway, is to sell what people want.  So I hope this is helpful as maybe a relief for you that you don't have to be so tied down to one brand or one message or whatever, one title. Just let it go. Keep evolving. Thanks for joining me. I hope this helps.


Last week, Israel launched yet another round of bombing raids on the besieged Gaza. The three-day bombing killed over 45 people, including 16 children. The attack comes a year and three months after the brutal air raids and bombing of Gaza that killed over 260 people. The regular attacks on Gaza have led to the destruction of basic amenities and pushed a huge section of the population into poverty. What are the factors that led to this latest brutal attack by Israel? The regional politics also play a role in these attacks. So there were a few reasons why the Israelis launched this supposedly pre-emptive operation on August 5th against the Gaza Strip. I mean, first of all, this is what Israel does to Gaza, right? Gaza's been under this air, land and sea blockade for like 15 years. And Israel does these periodic massacres in Gaza, which are intended to cause suffering to civilians. This is what Israeli strategists openly call, quote-unquote, you know, mowing the lawn. The idea that, you know, they have to regularly terrorize the population in Gaza into submission in the hope that they'll like abandon resistance or become unable to resist. And that's never been the case. But that's why every, you know, few years you'll have these massive bombing campaigns on Gaza. Sometimes they last a few days. Sometimes other times they've lasted a month. So that is first and foremost important to understand that this is part of how Israel, as far as Israel sees it, maintains its kind of like siege on Gaza, maintaining it as this open air prison. Where let's remember, you know, over 2 million people live in Gaza. About 80 percent of them are refugees or the descendants of refugees from 1948, from the Nakba, when Israel was founded and they ethnically cleansed over 700,000 Palestinians. So this is like, Gaza really is this open air prison for people who were forced out of their homes because they happen to be the wrong, the wrong religion, the wrong ethnicity. So that's a side, you know, that we have to always keep that in mind whenever there is an Israeli attack on Gaza, that that is really the underlying reason for these periodic massacres. That said, you know, the stated pretext by the Israelis for this bombing campaign was that Palestinian Islamic Jihad was planning to launch an attack from Gaza on Israelis. And earlier in that week, you know, Israel had actually arrested one of the group's leaders in the West Bank city of Janine where there have been ongoing Israeli raids. So this is the pretext in the lead up to this Israeli assault. The Israeli media was really playing up the idea of this like imminent Islamic Jihad attack that was going to supposedly target Israeli settlements at the border with Gaza. So the Israeli population was primed for an assault on Gaza. Like the groundwork was laid for them to be to understand there was going to be an assault. The Israelis had put the border settlements in Israel on alert, cancelled schools, told everybody to be prepared to go to bomb shelters. So it's important to emphasize, however, that there never was an Islamic Jihad attack, right? There wasn't one that took place either before or after Israel's assault on Gaza. Whether there was going to be an attack, we'll really never know. But this sort of preemptive nature of Israel's attacks, this idea that Israel can attack before anything has even happened is also an ongoing pattern in the way that the Israelis attack Palestinians. They reserve the right, which actually violates international law to launch preemptive attacks on Palestinians, never really providing evidence that anything was going to take place. So that's, you know, so why did Israel launch this attack? It did take many observers by surprise. There's I think a few reasons that we need to take into account here. First, we have to take into account internal Israeli politics. So Israeli elections are coming up in November after the collapse of its coalition government under the far right Naftali Bennett. So the supposed centrist, Yair Lapid, replaced Naftali Bennett as prime minister since the collapse of the government. And we know that Israeli politicians regularly brag about their willingness to kill Palestinians as a way to win votes, right? So Lapid maybe was trying to gain popularity by showing he's willing to kill Palestinians. And the same goes for Defense Minister Benny Gantz, who we should remember, ran for office back in 2014. And during his campaign in a video, he actually boasted, sorry for office in the last round, but during his campaign, he boasted in a video that back in 2014 he had been responsible for bombing Gaza back into the Stone Age. So again, this is what Israeli politicians do. And it appears like, you know, Lapid's poll numbers did actually go up after this recent campaign in Gaza. And Netanyahu, according to recent polls, is actually likely to do quite well and be able to form a coalition or be able to form a government with like 61 seats. So Lapid, and that's how much you need, right, to like form a government. Lapid is actually very, very concerned about Netanyahu's high poll numbers. And so a part of, you know, this might not be the only reason why Lapid chose to launch this military operation because it doesn't really matter who's in charge in Israel. You always have these kinds of killings of Palestinians, but this certainly probably played a role in the calculation to launch this campaign as well as other acts of violence that we've seen across the West Bank in recent weeks by his government. So then another reason that has been brought up as possibly why the Israelis decided to do this is that, you know, there's this idea of sort of splitting the resistance, splitting the Palestinian resistance. So during this kind of 15-year long siege on Gaza, like I mentioned, you know, there's been several periodic Israeli attacks on Gaza that have killed thousands of civilians, destroyed tens of thousands of homes. Yet we have to keep in mind that all of these attacks, except for the one that we just witnessed, the target was Hamas. But this time Israel's target was Islamic Jihad, which is a much, much smaller group that, unlike Hamas, has no actual governing responsibilities. And also Islamic Jihad is closer to Iran than even Hamas is, and is much more aligned with the, you know, what we call the resistance axis, which includes Iran and Hezbollah. So in some, you know, some have, have, have speculated that this was a way for the Israelis to, you know, kind of go after Iran by proxy without really having to go to over the Iran as they see it and as, you know, Hezbollah as well, but also to force Hamas to choose to not get involved and therefore create some sort of fissure between the resistance groups, even though it didn't actually work. And, you know, rhetorically, Hamas actually supported Islamic Jihad's response to the Israelis. They didn't get involved themselves because they have other things to keep in mind, like that the fact that they have to actually govern the Gaza Strip. But they did support Islamic Jihad. They expressed condolences for the loss of their leaders in Israel's assassination on Islamic Jihad fighters. And they did support, you know, Islamic Jihad firing rockets back at Israel. And then another reason that's, that's been brought up as possibly, you know, part of the Israeli calculation here is sending a message to Hezbollah. So there are these maritime negotiations that have been taking place, which we've talked about in past episodes, between the Lebanese and the Israelis over delineating the maritime border, because there are these offshore gas fields in the Mediterranean that both countries would like to exploit. However, Israel is, because it's Israel, demanding more of the offshore gas fields that actually belongs to them under international law. And the Americans are the ones that are mediating these negotiations, which is of course a huge conflict of interest considering America, you know, is completely pro-Israel and funds Israel to the tune of four billion dollars a year in military aid. And also the negotiator who's been placed in charge is this guy, Amos Hodgstein, who is actually, you know, Israeli himself, as well as American, and actually serve in the Israeli military. But aside from all that, these negotiations have been ongoing. It has escalated, tensions have escalated in the past several weeks and couple months, because the Israelis sent a drilling ship to an area that Lebanon considers belongs to them. And, you know, Hezbollah has, because Lebanon has a very weak government right now, that's really unable to properly negotiate on Lebanon's behalf, especially because there's like this economic collapse and everyone in Lebanon is scared of like upsetting the Americans and U.S. sanctions. Hezbollah has kind of stepped in to act as like leverage against the Israelis. And Hezbollah Secretary General Hassan Nasrallah has repeatedly warned Israel that Hezbollah will actually go to war if Israel attempts to drill in Lebanese waters before an agreement is reached. And it has to be an agreement that is fair to Lebanon.  This was during his assura speech. He said that he, you know, we will not tolerate the idea that our wealth is stolen. And once again threatened, you know, we will go to war over this. So, and then also last month, the Israeli military actually shot down three unarmed Hezbollah drones flying over the Karish field, which is the field that, you know, both Lebanon and Israel have some claim over. And Hezbollah, of course, later aired drone footage showing Israeli ships in the area and saying, you know, just send them the message that we are capable of hitting your ships if you begin drilling in Lebanese waters. So the point is to say that many believe that, you know, Israel, especially Hezbollah, actually believes that Israel isn't capable of picking a fight with Hezbollah because Hezbollah is very strong and is capable of actually causing real damage if Israel were to start a war. So this was kind of pitting picking on a weaker arm of the resistance, right? Islamic jihad is sort of contained in Gaza and the West Bank certainly does not have the deterrence capacity that Hezbollah has, doesn't have the sophisticated weapons that Hezbollah has. So Israel was kind of picking on, you know, the weaker guy to send a message to Hezbollah. But in fact, Hezbollah viewed this as showing a real Israeli weakness because Israel wasn't actually able to, they weren't able to take out Islamic jihad. Islamic jihad still exists. It still has the capability to strike at Israel. And it did strike at Israel and this war ended in three days as a result. So it actually, this round of violence showed Hezbollah that Israel is actually weaker than maybe they had initially thought. So that's an element of this as well. Israel, of course, believes it did gain its deterrence, but like I said, Islamic jihad still exists. It can still launch attacks. So that doesn't seem to be true. That said, you know, after the ceasefire, which was negotiated by, brokered by the Egyptians, you know, Israel did go on to launch more operations, but specifically against the West Bank. Israel killed several Palestinians in an early morning assaults recently on the old city of Nablus. And the target of what was essentially an extra, extra judicial killing was this resistance fighter, Ibrahim al-Nablusi, who was a member of the Al-Aqsa martyrs brigade, who was wanted by the Israelis for organizing attacks against soldiers. And he had actually evaded several Israeli assassination attempts in the past few years. And he actually even recorded a fair royal message in his final moments telling Palestinians to keep fighting and to never put down their weapons. And of course, children were killed in this attack as well, which, you know, brings the number of children killed this year by the Israelis to 30. And so that, you know, all that's to say that Lapid, despite the war in Gaza ending has continued, what I believe is really this kind of campaign tour showing these far right Israelis that he can kill Palestinians and he should be the legitimate leader of Israel and trying to gain votes, which is, you know, pretty cynical, but really is how Israeli politics works. So, I mean, moving forward, we're probably going to see ongoing attacks, ongoing raids on Palestinians across the West Bank. There's always the chance of an escalation taking place once again between Israel and Gaza, especially as election season comes closer and closer. So, you know, whenever there's Israeli elections, it really is always bad news for Palestinians.


All right, well good morning, good afternoon, good evening everyone. Thank you for attending today's firefly developer workshop. So this is a very developer centric session today I have zero slides and lots of code to go through so hopefully you're ready to get hands on. If you have not had a chance to look at the gist that I sent out ahead of time with the prerequisites. I'll post that link. I'm not post that link in the chat. Please look at that right now and make sure that you have the prerequisites installed on your machine, like Golang Docker, and some sort of ID. You'll need that stuff set up in order to actually go through the workshop so we'll go ahead and get started here and I'll share my screen. And we'll just talk through what today's session is going to be okay so so this is kind of the setup that we were working with for the most part terminal on the left and the guide on the right. So, this is going to be very hands on very interactive. If you have questions as we go or if you get stuck. Please interrupt me unmute, ask your questions. We'll try to try to make this as classroom like as possible. So I'll walk you through the guide but this is really this this workshop is for you all to help you guys get your machines set up and so that you are prepared to either a build applications on. Yeah, so look at the workshop goals here. So at the end of the workshop, we want to have a dev environment that's capable of building apps on top of Firefly that they use Firefly. And also a dev environment that's set up for if you want to make changes to Firefly itself, you know, where to go do that how to do it and you have all the tools set up on your machine so that you can do that. We'll set up some sample apps from our repos run those and then we'll just take a look at all of the pieces and parts that make up a working Firefly stack on your machine. So those are the goals for today. Any questions before we jump in here. All right, so I'm going to skip over the prerequisite section. Hopefully you had time to do that ahead of time in preparation for the session. If you if you're kind of skimming through it real quick and checking that the two things to really check forward to make sure that you have everything on here are the make sure you have go installed. So I can run go version. I've got go 116 so I'm good there. You also will want to make sure your go path is on your path. So, I can let's see all echo go path. And then if I check my my actual path. I'll see that this go bin directory is on the path as well. If it's not. The quick thing to do is edit either. You can add a few lines to it at the bottom of it to put that on there. So this will this is important because we're going to install some binaries and you want those on your path so that you can actually run them. So hopefully everybody has that set up and you have at least a working go environment. The other important thing is Docker and Docker compose as well. Those are usually fairly straightforward to set up. So we will skip ahead here to actually setting up firefly so firefly CLI is a if you've attended any of our other sessions you've probably seen it in action. Maybe you've had a chance to play with it yourself. It is if you haven't it's a dev tool designed to set up firefly and all of its dependencies in a working environment on your machine. And it's designed to take all the hard dev ops orchestration work out of the equation for setting all that stuff up so firefly is a it's a distributed system. It's a microservices architecture so there are a lot of small pieces to it in lots of different software components and it's very modular so you can swap components in and out. So the firefly CLI is designed to help you manage all of that stuff. So it's pretty easy to install if you have go set up on your machine you should just be able to copy this line will run that and it should go install that the even if you have it installed. If you've installed it previously. I would run this again because we just released a new version recently actually I was working on it last night iron out a bug so that we wouldn't run into it in this workshop. Okay, so we'll see it's installed. If we look in my go path now. We should be able to see it in the bin directory and there's the ff executable. So if I run ff now we'll see the output from firefly. So that's installed. And I'll just I'll pause here if people are having trouble installing the CLI or you can't run it. Let me know. Because you're going to have a hard time following along if you can't run the CLI is anybody anybody having trouble or need some quick pointers. Nick if you don't mind. Would you be able to provide a brief introduction about firefly and the use case when should I use it. Sure. I had not planned that as part of the agenda, but that's a it's a good point I probably should have should have started off with that in case folks aren't familiar with firefly. My intention was the target audience here was somebody already interested in firefly but needs to know how to set it up. But yeah to just to just back up for a quick second. So firefly is a multi party system designed for enterprise data flows powered by blockchain is sort of how we describe it. So what does all that mean. It is it's it's a it's a piece of software it's many pieces of software that help multiple say multiple businesses want to do business transactions, and they want to use blockchain as a ledger for those transactions, and they want to do it in a secure way and they want to do it in, you know, maybe some pieces of data need to be shared with all members of the network. They're doing it in a private blockchain. So it's not on, you know, Ethereum mainnet or on some public chain. It's a private chain, but maybe not all those members of that network need to be privy to all transactions maybe you need to share some transactions only with one member of the network, or some pieces of data need to be broadcast to all members of the network. It's a way that it's a system that orchestrates all of those communications in a secure private manner, and let's developers focus on what's the business logic of the particular business problem that I'm trying to solve.  Well I need to put this piece of data on the blockchain but I need to leave this piece of data off the blockchain. Leave that to firefly it handles all of those complexity of those things for you so it takes, it's really about accelerating the growth and the adoption of enterprise blockchain and giving a platform that is just an API that's really easy to build on and taking away a lot of the complex or, or even not complex but just tedious to implement you know all of the messaging between various organizations and all the integration points it handles all of that for you. So that's kind of the goal of firefly in 30 seconds there. Okay, so hopefully you've been able to install the CLI. We will keep going here. So the CLI we talk about a stack. And I kind of borrowed this name, you know if you're familiar with cloud formation on AWS you have a cloud formation stack it's just a set of resources that's designed defined by some document so in firefly. A stack is it's an entire firefly network. So we'll create one of those so we can see when we ran fire when we ran ff the firefly CLI printed out a list of things that you can do with it. And the very first thing we're going to do is do an init. So let's ff init. There are actually before I do that. There are lots of options on the init command if you want to customize the stack, and not all of these are fully implemented yet. Yesterday on the community call we demoed in a in a in another branch of the CLI so not in the version you have installed. You can start to use fabric. We're also working on basu and another branch as well. You can you can specify a different database implementation. SQL light three is the default but there's also support for Postgres so if you choose Postgres here it will spin up another container for your database. So there's lots of different customization options when you are editing a new stack. So just wanted to point that out but if you just go at the defaults and we ff init it will ask you a couple of questions. If you want to script this there are ways to set all of these things ahead of time to so it doesn't go into interactive mode. So we'll call this stack name. We'll just call it oops. I already have one called workshop. So I'm just going to. I was testing that last night to make sure that this would go smoothly and forgot to clean that up. So I'm going to ff init. We'll call it workshop. You can feel free to name yours whatever you would like. I'm going to make a network of two members. And there it creates it. So as you may have guessed reading through the guide. Firefly CLI uses Docker and Docker compose to orchestrate all of the infrastructure here so it will actually tell you hey your Docker compose that I just generated for you is right here so if we want to take a quick peek at that. We can do that. And there's a lot in here. And like I said there's there's quite a few moving parts to this whole system so that's that's that's why we have the CLI is to automate the generation of all this stuff so you don't have to do it by hand because it's there's quite a bit so we have our data exchange nodes here. And we have our blockchain connectors, which in this case is going to be a connect. And as you'll see for each of these there's one for each member in the network. So we're going to try to simulate things as as close to production as we can here within reason. And we'll see to Firefly core nodes. You can see there are. There are a lot of ports that are exposed by all these things as well. So that's something to watch out for is just making sure that those ports are available usually. We don't run into problems there but and the CLI will help you check for those things when we started up. Here's our blockchain node and IPFS nodes here for file storage and then our token connectors as well and these are new. We're not going to get into tokens today tokens is still under development right now it's it's new. It's there in the stack but it's it's not quite done yet and then there's some named volumes that are exposed at the end so that's kind of that's just a quick peek under some of all the things that Docker compose is going to do for us. So now we've got so basically when we run ff init that just writes a bunch of configuration files to the disk. It doesn't actually start anything it doesn't run anything. And when we run ff start say workshop. I think in the guide I called my stack name simple you can name it whatever you want so I'm going to start my workshop stack here. And this is going to do a whole bunch of things so a it's going to. So right now we're seeing it initialize in the blockchain node so for Ethereum it's writing the Genesis JSON and putting all of the identities on chain. It will also pull the latest versions of all of the firefly components to make sure everything is staying up to date for you. It only does that the first time that the stack launches. So when once you launch a stack it will stick with that version unless you run the upgrade command. It will so so after it starts everything up. It will deploy a smart contract for you and it will register the identities of all the members on the network. So it's it's doing a whole bunch of things. In addition to just starting up processes, you know if you could just go run Docker compose up on that stack. You have a whole bunch of other manual steps that you need to do after that to actually get it to a usable state so the CLI is designed to automate a lot of these steps usually doesn't take this long to pull the latest versions. So I'm going to actually there's a way to skip pulling the latest. So I'm going to do that. So first I'm going to I'm going to reset this. So if you pass the dash and or dash dash no poll, it will skip pulling the latest. And I'm not sure maybe Docker is just Docker hub or something maybe having issues right now. All right, so it's copying some configs it's starting everything up now. Because there is a question that somebody got. Sure. Yep. Sorry, I don't have the chat up. There was an exception. I got okay. I'm happy to while this is starting up happy to help. What, what exception did you get. I don't think your audio is working correctly. I'm hearing a very high pitched sound. I don't know if anybody else is hearing that as well. Yes, that's better. Okay, so I was running ff start simple. It waited for some time and then I got the Docker run error. And it's asking me error resetting stack Docker compose down volume. Okay, not to find the file actually. So the first thing to check is, you know, in the guide here, so make sure Docker is running. Not everybody has Docker set to automatically start up on their machine so is Docker running on your machine. I'm not sure. It asked me to log in and log out. Yeah, so yeah. Okay, yep. So I will reset it and then I think the problem will be solved. Yeah. Okay, great. Thank you. And if you if for some reason you can't run ff reset on it. You could also rm dash rf. And it's going to be in your home directory in a directory called dot firefly stacks and then the name of your stack. So you could just, if you need to manually delete that directory for some reason that's where it's at. Yeah. Okay. Thanks. Sure. Yeah. Good, good call out there. Yeah, I forgot to mention that sorry so Docker definitely needs to be running. The CLI does not automatically start Docker on your machine. So you'll need to make sure that's running before you start running ff start or any of the other commands. And it just writes config to the disk so it does not need Docker running. But I think all of just about all the other ones do something with Docker so. All right, so we've got a working stack on my machine. Hopefully you have a working stack on your machine to or you're very close. I'll try to try to keep going slow here so people can keep up. So you should be able to click on these links and see the dashboard now. And indeed we can. So we haven't run any transactions here, but we have a working stack. You'll see the default URL that so that we clicked here and this is slash UI so you can you can go here and you can see it kind of we'll see it there's two sorry this is kind of cutting everything off here but so there's two network members. There have been no messages. And once we start sending some stuff we can go to the messages the data or the transactions tabs and inspect those but there's nothing in here yet. If we want to see the API documentation, the swagger definition for everything, we can just change this from UI we can go to slash API, and that will load this page. So here we can poke around and see all the different endpoints that we can hit the kind of, these are some of the important ones that we'll be focusing on today, you know broadcasting a message, and also sending private messages. And so these are the endpoints here you can see examples and all the different fields that are on there. Hopefully you should be able to pull this up on your machine as well. If, if you're just curious to explore the API, and you don't want to go through all the hassle of starting up a stack. This is this swagger document is published as well. You can find it at labs dot hyper ledger dot org slash firefly, and you can go to API spec. And this, this is the same exact thing. Whatever is published on this page is what is in the main branch of firefly. And I've also linked a few scroll all the way down to the bottom of the guide. I have linked to this swagger dock down here as well. There's also while we're down here, there's also a postman collection that you can download. If you use postman, I'm going to use it in a little bit to actually run some transactions. You can download this collection and it will kind of pre populate postman with a bunch of different requests that you can use to try out your firefly stack that you just installed. And I think there's a note of that in the guide here. Yep. So I can go here, grab that that Jason file and set that up postman. And we can, we can manually run some stuff. So actually let's let's do that now. I'm going to, oops, I will unmaximize these things so that I can bring up postman to I thought I had it running. So we'll just we'll run a couple of sample messages on it just to prove that it's all working and then then what we're going to do is go get a sample app and then run that against the stack as well. The sample apps are in which well postman is coming up here. You take a look at, well, we'll look at the sample apps in just a minute. All right. Okay, so this is if you open up postman and you import that collection. We'll see, I called mine firefly demo I think you can name it when you import it. Let's run a broadcast simple message. So we've got two firefly nodes running on our machine right now. One of them is listening on port 5000 and the other is on 5001. So we're going to we're going to send a request so we can access either one of them here normally like in production this would be like one organization would only have access to one and another organization will only have access to the other. Yep, let me post that link again for folks here. There you go. Okay, so this is going to be sent to the first member and this will be brought because this is a message broadcast. This will be sent to every member of the network so if there was more than one other member everybody would get this. So we'll hit send. And then we should be able to go look at. Let's go back to the UI. And here we can see that there was a message that was sent. Let's open up the second members network or Explorer as well. And they have the message as well so now that there's a message in here we can go to the data tab and click on this row. And then we can see there, there's the contents of the thing that we sent foo bar, and then we can see it postman that's the value of what we sent here. So, when you're sending a message in Firefly. There's a, it's it's wrapped at a, so that you're, you're sending, you're not just sending a piece of data. You're sending a Firefly message that contains one or more pieces of data and some information on how to send it. You can send it to and that sort of thing. So there's, there are in the docs, there's lots of different, lots of different ways to send messages. We're not going to get into all of them today. The focus for today's session is really to, to get the dev environment set up. And then the docs are there to kind of explore all all the different ways and features that you can use Firefly. So, I will show one more though we'll send a now so that was a broadcast to everybody in the network will send a private message now. And so this one's going to be a little different. So here, first of all, it's going to a different endpoint. So this is the messages private endpoint. And we still have a data array with one element here. In this case I'm just sending the string secret message. Last time I was sending, I was actually sending a JSON object so this value can be any arbitrary JSON object. For now I'm just making it a string. And then we also have a group with a list of members to send it to in this case I'm sending it from the first node in the network which is org zero on port 5000 and I'm going to send it to org one. So this will only be if there were more members of the network this would only be visible to org zero and org one. So hit send there, and we'll just go hop over here make sure that we see that as well. Okay, so when, when we sent that private message, the very first time we sent a message between those two it initializes a group so we see a group and it message here. And so that's why we see three messages even though that I only clicked send twice. So let's see, we'll go over to the data tab now and just make sure yep and there is our secret message. Okay, so we have a working stack. And at this point we're going to go run some sample apps against it now. I think there was another question in chat. Can we implement smart contracts with firefly. So, yes, their, their firefly has its own smart contract that it's that it's executing right now. If the question is about can you write your own custom smart contract and use firefly to run that. The answer is coming very soon. That's one of the next major things in the firefly project that we'll be working on. And yesterday's community call we demonstrated to what one of the goals of firefly is to be very modular very pluggable and open so it supports right now we're just we're using Ethereum because that's just the default. But yesterday we demonstrated all the same functionality working on fabric as well. So now that we have support for multiple different types, completely different types of blockchains will be building on top of that, the ability to run custom smart contracts as well. But we wanted to wait until we had support for different types of blockchains so that we designed custom smart contracts in a way that works across blockchains and so that it wasn't just pigeonholed into into one specific one. It's coming soon and very excited for that as well. All right, I'll pause here any other questions on hopefully hopefully you've been able to get a stack up on your machine and you've been able to send a couple messages. Please, you know, raise your hand or unmute if you are stuck or have questions will pause here for just a minute to make sure that everybody is kind of keeping up. I hear somebody talking but it's, it sounds like chipmunks sorry, the audio is not good. Hi, can you hear me. Yes, that's much better. Okay, so I'm running into some trouble because of Docker. I install installed it on Windows and it says WSL to installation is incomplete. And I'm running it on Windows 10. Okay, so. Yep. It is. It's possible to do some of this on Windows. And, and I think if you're running WSL to is it's, I think it's possible to do all of it. Right. Unfortunately, that is like the most complicated setup possible for this. And we don't have time today to walk through getting WSL to set up on Windows. There's there's some great guides elsewhere on the internet on how to set up that type of environment. Is it normal to have this problem on Windows. So I can fix it here. Yeah, so, so if, if you have WSL to set up and you're able to run Docker in the, the Linux. I don't know if it's, I don't know if containers the right word, but I'll just, if you're able to run Docker in the Linux environment on Windows, you should be able to run through all of this. I've done that in the past. So it, it is possible. But it is complicated to get set up. Yeah, so it's, it's really better to prefer like open tool for this development. It's, it's probably, it's probably easier to get set up. Yeah. So really that's just the complexities of how Linux and Windows work together today in the current version of Windows. It has less to do with Firefly itself. Okay, thank you. Yep. There was a question about the recording for fabric. Yes. Later today it will be up on the hyper ledger wiki in the Firefly lab page. We have a page for every community call and the recording will be up there. I haven't had a chance to post yesterday's recording yet but I'll do that later today. Great questions. Any other. Thank you, Bobby. Appreciate the link there. Before we go on. Yeah. So I have a question. While you set up in the Firefly, you mentioned the member is to correct whether that member is pointing to the organizations or what is that. Yeah, so if we go look at the dashboard, we'll see there are there are two members. And if we go, let's see, where's another good place to show this. We can actually query Firefly and see. We look at the API. We can do a get on network organizations. And where's the try it out but there it is at the top. Execute. And you can do this for postman to I don't have it in the collection though. So here's. So this basically, I just asked my local Firefly node hey get me the list of everybody that's in the network all the organizations. And there's there's separate endpoints for all of the, the node or the member. Sorry, all the nodes that are in those organizations. But we can see there's there's two orgs here. So this is me, I'm, I'm org, from the, oh actually sorry, I did this request from 5001. So, so this would be me or one here. And this is org zero, who's the other member of the network. So in the real world, this would be probably one company, and this would be some other company that have entered into some sort of consortium and that want to do business transactions with each other. They want to use blockchain want to keep some, some pieces of data private or some public and but but they want to do transactions with each other. Does that make sense. Yeah, got it. So my next question is, if, if in a terium be making their own product in it means for each transaction we need to spend some meter correct. So for coming to the firefly. So how did we work. So it was the question about gas and the cost of the transaction. Yeah, so, so the short answer is it's free. This is a, this is a privileged network. It's a price. So we're not running on a theory and main net here. So this is, I actually if we go look at let's, let's take a minute to look at what's running on my machine, because this is something that I wanted to show everybody as well. So I'll just open up my Docker dashboard here. And we can see in the workshop stack. There I have a go Ethereum or geth node running on my machine. And this this machine is this, this Ethereum node is set up in a private chain. So, when the firefly CLI started up it created its own blockchain that created its own Genesis block and then gave it to this node and said hey start a completely new chain. And in that chain gas is free. And so anytime you're running transactions in the private network, it's free there's no cost to run a transaction. It's, it just works fundamentally differently because the, the economy if you will is different in a private privilege network than it is on a public blockchain. Okay, so then for each member will get a separate public and private address correct if I am. Yes, so, so each member if we look here, this you can see that this is their their Ethereum address that's on chain. And they also each one of those has a private key as well. You can't see that from this interface but yes there there is a private key for each one. Okay. Yeah, I'm done with my question. Okay, cool. Hopefully, hopefully that helps a little bit. There's another question in chat. Can you please go through the left side menu again if possible, a one line explanation. Are you talking about on this page over here, this, this menu. Yes. Okay, sure. Yes, so this is so the firefly explorer is, it's just a way to look at the system and see what what's going on inside firefly. It's not a, this is not a, a, you probably won't use this in production. But it's, it's, this is a tool for when you're building your app to see, hey, what did I, I made a post request what happened, who got the data what does it look like on the other side. So the deep this is the default dashboard it's just sort of a summary. I can go to the messages tab, and I can see these are the individual messages that have been sent. And then there's data and transactions and so, so the differences between all these things are. When I make a post, I send a message, a message. If we go back and look at postman. This is an array. So I could have multiple data items in here if I wanted to. So one, one message could have could result in multiple pieces of data sent here. If lots of messages are going through the system. All at once, they could be firefly will batch things for better throughput. And so those could all get rolled up into one transaction that firefly will sort of it it buffers things, and it will hash and write things to the blockchain all at once in a batch. So, so that if you're sending requests fast enough into the system, you'll see, you actually have fewer transactions then you have messages sent through the system. And you may have, depending on if, if each of those messages had more than one data element you could have more pieces of data than you do messages. So hopefully that makes sense and kind of the difference in all three of those. And this is just a way to view each of the three messages data or transactions, and the dashboard shows the overview. All right, do a couple more questions here and then I do want to, let's see. We've got about a little less than 20 minutes left so I want to want to kind of get back on track here in just a minute for fabric. I'm sending private messages between different orgs will firefly create separate channels for each pair of orgs private data collections. Yeah, so it's a great question. So that that topic actually came up on the community call yesterday. The short answer is, there's more work to be done to support multiple channels right now. The fabric support is is not fully released yet but it's we showed it working yesterday. So as of today there's one channel that it uses, but that's that's not the end game there. There's there's more work to be done in firefly to support multiple channels but the short answer is it will be flexible and it will be up to you and whatever. If, if lots of channels works, and that's what you need, you'll be able to do lots of channels. If you need very few channels you'll be able to do that as well. So, but there is more work to be done on firefly itself to support that. Okay. I'm going to pull up the guide again. Where did that go. Oh, it's right here. All right. So let's let's run some sample apps now. I'm going to clone. There's another repo in hyperledger labs, firefly repos called firefly samples so I'm going to clone that. So this is a no JS app. This is meant to be just an approachable like very simple like hey here's how you write some code that sends a transaction to firefly. So it's going to be doing basically the same thing we just did in postman manually, but with some code. So we'll go into that directory. We'll run actually so in here we've got a CLI example and a UI example. So we'll run the CLI one first. So we'll go into the directory and we'll just npm install that. And these commands are right here in your guide to if you're following along. So that's going to go get dependencies and set that up. Okay, now we should just be able to npm start. And like I said, this is super simple. So all this is going to do is going to start up it's going to broadcast to a message with two data elements hello and world, and then it's going to make sure that it receives them on the other end, and it would send it from what it calls Firefly one, it's on port 5000, and it sent it to Firefly two, and this guy got it. So here, this sample actually demonstrates listening on a web socket as well. We'll just go peek at the dashboard again, so we can look at the data. Okay, so here's, yeah, so here's hello. And here's world. So these two data items were sent in this message right here. And you can see, yeah, so they're, this one had two pieces of data in it. Let's go to the other member and see if it got that message as well. Yeah, so here's a broadcast. Take a look at that one and there's, there's the hello world message that it received there. So super simple. We want to open up Visual Studio Code and take a look at what this sample is doing. We can see it's essentially just doing what we did in postman. Look at. So there's, this is basically just the kind of the flow through the thing here we define the data, and then we, we broadcast it, and then in Firefly TS. So this is, this is a TypeScript application. We define some basically just the data types, and we define a, so this is, if you wanted a simple example of a web socket listener, this is a good place to look actually. If you're interested in doing it in TypeScript or JavaScript on Node. So this is going to basically the, it's going to make an API request to send the message, but then it's listening to the other Firefly Node on a web socket for that message to come all the way through the system. So you get kind of both sides of it here. And then here's the simple HTTP request to actually send that message. So very, very simple sample. So this one's a code in this one. The there is a UI version as well. So if we go into that one. What's it called private data transfer UI. I, I'm not going to go through this. I think this one uses React, and it might take a little longer to install. I'm not going to go through and run all of this one right now but I'll just give you a quick, quick tour of what that one looks like. So this one will send this one has a couple of drop down menus. It will send either private messages or broadcasts. The name is actually we should rename it. It's a little bit of a misnomer right now. So it has a it's just a very simple like front end and back end. So here's some some routes that it defines for the web page interface to hit. And then that that back end will take care of making the requests to Firefly. So that's what we've got in here. Here's our app TSX. So this is this is the front end. Yeah, it's going to complain because I don't have all the dependencies installed. And this is, if you're familiar with react development, this should look fairly straightforward. If you're not, this is probably super confusing. But that's this. This is an example of a front end and a back end that you can use if you're curious on how to put one of those together. So at this point, I want to make sure we get through the good stuff in the amount of time we have left here so kind of looking at our goals. What have we accomplished so far. We have a we have a dev environment that is capable of building apps on Firefly we just showed downloading and building and running an app on Firefly we've made some manual postman requests to it. But we haven't. We've we've run sample apps on the machine and hopefully you're getting a working understanding of the components will. This that that may be that may be a stretch because there's a lot going on here but making making changes to Firefly itself is the major thing that I want to get into now so we were super excited that lots of people are interested in Firefly and we would love to have more contributions to it. We would also love if people are really passionate about it and really want to get involved. We'd also love more maintainers on on the projects as well there are a lot of different repos in Firefly I've linked to all of the different repos here at the bottom. There's a variety of languages that are used in them so you don't necessarily need go lying expertise to to be a contributor or even a maintainer on some of these so if you're if you're really interested definitely check them out please reach out to us. We would really like to get more contributors so this is that's the goal of today's session. Okay so so far we've run Firefly but we haven't actually downloaded the source code for any of the Firefly repos itself. Let's do that now. So this is, we're really shifting gears here now. I'm going to go back up to my just sample directory here that I made. We're going to go grab the source for Firefly core. And we're going to download that so Firefly core is. It's an orchestration engine. It is sort of the thing that communicates to all of the other different parts of the stack so it's communicating to public storage nodes is communicating to a blockchain connector to private data exchanges to token connectors and to a database and it's handling all of the message flow for you. So, it's, it's sort of, it's the orchestrator but all of the hard work all of the real the valuable work is done by everything around around it. Well, let's not to say that what Firefly does is invaluable but, for instance, the blockchain work itself is actually done by by the blockchain node it's and Firefly is really orchestrating all of those things together. All right so we've downloaded the code for it. Let's go into and we've gone into that directory now. So, I can compile Firefly by running make. And let's just do that right now this will run through all of the unit tests and it was, it'll make sure that you have a working Firefly binary here at the end of it. So, I'm, I'm going to, I'm going to stop the stack that I have running. So I'm going to run ff stop workshop, and I would recommend if you have a stack running, I recommend you stop yours as well. And here's why so so what we're going to do is, when I'm doing development. I would like to be able to connect a debugger to whatever I'm working on. And if we, if you remember, when we looked at my Docker dashboard earlier, everything was was running in Docker. And that's cool. It's, it's hard to debug when the thing that you're running is built in a Docker image that's published somewhere else and it's, it's just this complicated so to me it's a lot more straightforward if I can just debug a process is running on my host machine. And I can just go with that. So what we're going to do is we're going to create a different stack now. And this stack is going to have all of the components that we had before, except it's going to be missing one Firefly core node and that Firefly core node we're going to run on our local dev machine on the host machine. And it's going to through the magic of port forwarding be able to talk to all the dependencies inside that Docker compose stack. But we're going to be able to pause it, we're going to be able to step through in our debugger and do all of these things. So that's the goal that we're working toward. All right, so while this is building exactly there was one more question how can we disable Firefly when moving to production environment. I'm not entirely sure if Firefly is designed to be a production system. And so maybe is there a certain part of it, I see that you're interested in disabling. I'm not entirely sure I follow that question. Sorry, maybe we can come back to that. All right, so it is built. If I look here I have a Firefly binary that has been built now. And so okay so we've stopped the stack just keep going through the guide here. And now I'm going to we're going to create that new that new stack that I was talking about that's missing one so kind of talk about in the guide here, the this external flag will indicate to the CLI that I want to run one of these nodes outside of the the rest of the stack so I'm going to do that. And all this one will call it dev 2 because I think I already have a dev stack. I'm going to say it has two members, and it's going to generate all the config for me. I'm going to start dev underscore two, and I'm going to run that. And so what will happen here is it'll go through all the same initialization steps, and then it will pause. I'm going to open up a new terminal here. And this is the one that I'm going to run code workshop Firefly. This is the one I'm going to actually run my local Firefly on my host machine in. And so at a certain point as it's running through here. It will, it will tell us when it's time to run Firefly. And it will also, you can see in the guide here this is a sample of what it will look like so to say hey please start your Firefly core with a config file that points to this particular file. Okay, there we go so it says, and it will print out the config file that you should use. So I'm going to just paste that command over in this terminal I'm going to run it, and then macOS will ask me if I really want to allow it to listen on a port. So you'll see Firefly core come up over here. And then basically this the CLI sits there and it waits for something to be listening on that port as soon as it sees that that port is available. It will continue its setup. So this is this is super handy because there's a lot, there's there's some API calls that need to be made. When this thing first comes up to get it to, like we said, deploy that smart contract register the members and get everything set up. And then an error occurred, lovely. I will look at that in a little while here. So if something goes wrong and sometimes it does, especially when you're doing development. The CLI will will roll all of the changes back so it will try to get everything back to a clean slate so that you can run this again. Hopefully it'll work the second time. I'm not actually sure what would wrong here. It looks like it might have been something with with tokens or one of the newer things in here. So I'll look at this offline. I do want to point out though, and I realized we were running out of time. So just, I really want to show you how to connect a debugger to it. So we'll just talk through that real quick. So I'm going to open up Visual Studio Code in the in the Firefly repo. And there is a so you don't have to use Visual Studio Code. You could use your own IDE if you want. I know there's there's other go editors out there that that are also good but Visual Studio Codes is the one I use in the repo. There is a launch JSON file for VS code. And if you've named your stack dev, it already has a thing that's ready to go here so I could. I called mine dev 2, but if you called it dev, I could literally just come in here and hit F5 and run it. And then if the rest of the stack was running, it would connect to it, and then it would be, it would work and then I could go into any of the source code files here, say, in batch pin. And, you know, anytime anytime I'm submitting a pinned batch, I could put a breakpoint in here and I could inspect this code. Unfortunately, the stack didn't come up correctly so I can't actually demo the debugger working and actually stepping through the code which is what I really wanted to show. But, but that that is the process that I used to to actually set up the code base and be able to set up an environment because there's in order to actually run this code that I'm looking at here there's a whole bunch of dependencies you need a database you need a blockchain you need there's a bunch of stuff and so that the CLI is really the tool to lean on to to help you set all of those things up. But the using the external flag and setting up the stack the way we just did. That's, that's the way to basically let the CLI handle all the hard work of doing everything outside of Firefly and let you focus on. Hey, I just, I just want to focus on the Firefly code base itself and build. Maybe it's a new plugin, maybe it's, you know, maybe, maybe it's an enhancement or bug fix or anything like that. That brings us to the end of the guide. I left a lot of different references here at the end of it, including lots of different things places you can go for more documentation there is there's another. So I sort of built this guide from a combination of these pages so if you want to go read up more on this or walk through it on your own. You can either follow this guide or read through the documentation pages there and I've linked to all the rest of the Firefly repos here. And again, CLI setting up all these for you but if you want to go poke around into what all it's setting up, you can go into each one of those there. So I think we are about at time, but that is the end of the material that I had to go through today. Thank you very much for attending and just really, really excited that lots of people are interested in getting involved and I hope today's session was helpful. Thank you. Yeah, thank you. I do have time to I realize we're at time but if people have questions or have things they want to discuss I'm happy to hang around afterward and talk with you all if you are interested. So I think there are some questions you can look into a chat. Cool. How we can disable firefly. Yeah, so, so I see there was a clarification on there. So firefly is is firefly is designed as an enterprise grade production system. The CLI itself is a is a development tool. So, so hopefully that helps clarify it so if you're going to if you want to use firefly in production, you don't want to use the CLI to set it up you'll want to. There's a lot more things that you'll need to consider there in terms of network access security and you'll, you will. There's, yeah, you'll want to have control over all the things that the CLI is doing for you it's the CLI is basically going okay or I'm going to pick reasonable defaults for a local development environment. But firefly itself is designed to be used in production. We use it in production and it. Yeah, it's great. Yeah, thank you. So I will post this according to the Hyperlegion YouTube and then wiki wiki. Okay, that sounds great. Yeah, thank you. Thank you all very much appreciate your time and hope you have a great rest of your day. Thank you.


You know, I mentioned how we're going to have a part that's sub five watts per core go back five years ago That would have been a phenomenal mobile product, right? Right. So what you're seeing is you're seeing that just relentless focus on power efficiency Where every single best practice of what we had in notebooks before has now been brought to the server space and and that's where If you go beyond mobile and where arm has naturally sat for the last few years and cell phones That's where you know folks have described and want to take that next quantum leap Which is well we've taken a lot of things from the mobile space in x86 and brought into servers And now these folks want to take some of the advances from arm in the mobile space and bring that into The server arena as well. It's interesting in AMD. You obviously is selling into a lot of use cases and a lot of different applications One of course is the you know traditional enterprise Where you've got a data center supporting hundreds and hundreds of applications and maybe thousands or even tens of thousands of Users Those enterprise CIOs they don't even see the power bill. I mean probably 85% of them anyway Don't see the power bill, but this new emerging set of of applications Everybody's talking about power Can you talk about sort of the differences that you're seeing in your customers customer base and the trends in that end market? Yeah, I think that that is a that is a fair point to acknowledge it a lot of the enterprise customers the IT manager and the data center Manager isn't the same as the facilities manager. So yeah, they don't necessarily see the bill But it's just so much more apparent today for some of the other reasons because you can't enlarge a data center because you can't grow out of it Because you're grandfathered in to the physical space When folks can't scale and bring more servers into the data center the questions asked why and when the answer comes back power Many more people are now made aware of it Then if you look outside of the enterprise space and if you look into the web 2.0 customers These are folks that are doing things so radically different in the data center They're aware of every aspect of their business model and it starts with power where I know folks point at that and say The servers are disposable Electricity is my biggest cost and headache server breaks throw it away And that's totally true. I mean people don't realize it's one of those creeped cost Costs creeped up on the traditional enterprise. That's right And you know the pods HP has certainly a solution, but I mean it has to has to move to me It's a no-brainer that the AMD I mean the AMD vision has to tie in with arm because in the day It is about density and power that's right because clouds not going away storage is going to be Going away either we talk about solid-state and integration of disk It's really an interesting mindset though where you know the traditional data center thinks Oh, you know data center man is a data center. It's cost cost cost and these emerging customers are looking at it as a profit Center aren't they yes, they are and I think even if you if you once again you break it apart from like enterprise customers to some of The way the web 2.0 customers think about their data centers used to hear people refer to well This is our you know, Akron, Ohio data center, right and they would like give a name and that's you know That's the place they would take you to But you hear the web 2.0 customers. They talk about our data centers Right because they're plural because they're evolving their elastic. They're all across the globe They're 24-7 they follow the Sun and each one of them is just as important as the previous one It's just a constant expansion where does that constant expansion take place in the pursuit of the cheapest electricity that they can find? Right back to that cost of electricity. So do you see a re-engineering up? Let's get back down to some of the things that what you're teasing out basically is a mindset around designing You mentioned system level kind of thinking which what you're kind of referring to yes We also see the trend of this announcement is purpose-built. I mean they talk about they don't say it They said they might have said the word purpose-built. They said on the cube But you're seeing purpose-built. We saw Oracle open-world Larry Ellison basically sure purpose-building his solutions Is this a free fundamental new operating system is the data center now Fundamentally re-engineered operating environment I think you're just looking at the platforms differently and you're looking at the entire platform aimed at the power efficiency and that's where Products that we have coming to market. We don't look at just the CPU Yes, we bring in some of the best mobile power efficiency features We bring in C6 state previously that was a sleep state only used in our notebooks now used in our server We look at the memory that we put down on our platform supporting ultra low voltage dims of 1.2425 volts It's the best power consumption from memory You have to think about every aspect of your platform and that's the announcement you're seeing from HP today Is they're looking at the complete platform view. They're giving us those requirements on platform and we're incorporating that into our AMD opt-around roadmap as well Beautiful so you talk about to data center managers. They talk about there's no one thing you do a lot of little things and many many This is a laundry list of things they have to clean up, but but processors consume a lot of power I mean, I mean, it's it's got to be well over half of the Computer equipment is is is CPU is that fair? Not as heavy anymore. Not as heavy anymore That's where I'm things like memory do consume much more because if you look at what we did to bring out new levels of power Versions see dual core to quad core to 6 to 12 to 16 core Yeah, so you're doing all that in the same thermal design point So now you have 16 cores in that same design point where we used to have one or two before So there's the power efficiency scaling that you're getting by that benefit now What does happen though with that is folks need as much memory per core So the amount of memory put in a system so that's why it's so relevant that we look at the ultra low voltage dims To go along with that. So that's part of the scaling equation. So it is a puzzle my final question is more around your History at AMD as a company you get certain supplier relationships now with these kind of architecture You have to have collaboration with these ecosystems and we didn't we not what you guys know about ecosystems But the ecosystems changing or seems to be changing. What are the implications to the ecosystem? We're going to hear from my Kendall on the Pathfinder and our next guest, but talk about the ecosystem. How is it changing? I see rapid innovation on this on the product cycle. Is there different elements involved and we heard, you know, non CPU intensive So can you just share your your vision around the ecosystem that you're dealing with and some of the changes sure So one of the reasons I said you have to monitor and it's great to watch the ecosystem evolve is folks are looking at things like way More efficient power Power delivery so everything from the electrical department I mean the electric company all the way into the data center the power conversion the power supplies the entire food chain to make sure You're getting maximum efficiency. This is putting more focus on that. So that's going to bring on new innovation That'll bring out new breakthroughs. So we have to participate with the power supply vendors the UPS vendors Conversations with the electrical companies So it's that kind of ecosystem from the most basic electrical perspective and then obviously there's all the thermal Extraction and the cooling implications that you get to follow as well and make sure that you're following along on those requirements and understand What trends are going to happen in power extract thermal extraction? So true or false then final final final question true or false. This is instrumental to the future of cloud computing. Absolutely true Okay, great Pat Pat la VP at AMD. Thanks very much for coming on the cake. It was a pleasure having you excellent. Okay. Thanks