Live from Las Vegas, it's theCUBE. Covering VMworld 2017, brought to you by VMware and it's ecosystem partner. Okay, welcome back everyone. Live in Las Vegas, we are here in the VMware Village, VM Village, we're kicking off day two, our ending day two, wrap up here, this is theCUBE. I'm John Furrier with Dave Vellante with our wrap up guest, Peter Burris, head of research at wikibon.com, Stu Miniman co-host of theCUBE and analyst wikibon. Guys, great day two in the books, another day tomorrow on the wall to wall coverage, events tonight stacked up. Last night, great hallway conversation, we covered that on our intro this morning. Day two was about Michael Dell, Pat Gelsinger conversation, a lot of announcements with Google crashing the party at a one-on-one with Sam Ramjay who's VP of product management, head of developer platforms, not just Google Cloud, they're bringing all the developers to bear. Peter, this telegraphs your point about Google, not to be taken lightly. Oh yeah, well look, but look, we talked about this earlier and there are some very real things that have yet to happen, but just contrast this. Three years ago or two years ago, if you talked to the Google Enterprise Group and you said to them, well, you have some really great opportunities. What are you going to do with them? They'd say, whatever the consumer guys give us, we'll repackage. And now if you see what Google's doing, they're actually going out, creating new partnerships, creating new technology, they're actually acting like a real enterprise company. It's a transformation that's happening very fast. My guess is there's an enormous amount of stuff going underneath the covers in the new Google campus, but it's interesting to see that company become a real enterprise player before our eyes and it's going to be a consequential player. Stu and Dave, I want to get your reaction to something because we saw our observation this morning, Peter, I think you started out by saying the whole world's upside down, a new way to engage the enterprise. You mentioned VMware transforming as a company similar to what IBM did many years ago, but we saw Michael Dell here. We heard Sanjay Poon and the COO came on talking about how they're collaborating. He even made reference to the emerald almost merging with reinventing, kind of hinted to that where they would be showing up at their show, maybe working together closely. A new kind of relationship is building on how to be competitive, yet Google and Microsoft have to kind of catch up. And the question on the table is, is there diseconomies of scale in that? Can Google get the enterprise IQ to truly understand the digital transformation and bring that developer community and that operational scale of Google? And can Microsoft bring that enterprise knowledge of office, windows, et cetera, to the cloud at the speed of the disruption at the same time, change how they engage? Stu? Yeah, so John, it's pretty typical we talk about how when some of these technologies started, it's like, oh wait, no, they're not ready. Don't look at them. Public cloud was a dirty word at VMworld a couple of years ago now. We're embracing it. I'm sure you talked about Michael Dalitz. He's big partner of Microsoft's. They're going to be doing Azure Stack. The Amazon dynamic is amazing. John, last year we said, Pat Gelsinger, hey, Pat, you want to come on the Cupid re-invent? He's like, oh, are you inviting me? Well, we had Sanjay Poonan on at that show. Absolutely. I've mentioned it. I was at the AWS Summit in New York City. VMware was a partner presenting there. People are interested to look at it. How this bakes out, there was an interesting thing. I saw a tweet went out from Kelsey Hightower, a lot of people in the open source community. It's like, one technology killing the other.  And it's a joke, of course, because nothing ever dies in IT. It's all additive. The hotel of California. It's, you know, we'll talk to IBM and talk about their Z customers that are running mainframe. Oh, and you can run Linux and containers on that too. So it is, IT is a complex world. We're all going to have to kind of live in this space. Heck, so many of our guests that we have on this program, we're interviewing them at the second or third or more company that they've been at. So it's the ebbs and flows of the people and the technology and it's fun to document. Well, the question is, is it a zero sum game? Yeah. And so I've talked to a number of service providers.  But the question is, is it a zero sum game? Or is the, I mean, we had data centers booming, enterprises booming. Is this one of those, you know, boom years that everybody benefits? Just, just, just note on that. So VMware got out of vCloud Air. That actually made those 4,400 happier because now VMware is no longer a threat as well as a partner. So that service, the Amazon stuff and the Google stuff is bringing back. Yeah, they never liked vCloud Air. And yes, getting out is a good thing. And then next day, boom. But here's the issue that's, here's the real, to me, to my and the real other part of the answer is, does a knowledge of the enterprise and how the legacy and traditional applications matter? And the reality is to Stu's point, since you can check in, but you can never leave. It matters. That at the end of the day, it's going to matter. Your knowledge of how transaction processing works is going to matter. Your knowledge of how Z-Series handles, you know, handles storage or handles data is going to matter in the enterprise. And so the reality is, there is going to be, it's not a zero sum game. There's going to be a lot of, because of the complexity, there's going to be an enormous premium place and experience, how you package that experience, how you present it. It's going to be a lot of niches in this marketplace. A lot of ways of getting to that scale, but there's no question that what's most important is getting there fast and early. And the big three, obviously, Amazon, Microsoft, Google, all bring something different to the table. And the question is, what view of the cloud do they bring? VMware taps out of the cloud game with vCloud Air, has an arms dealer like approach, Dave. We talk about being an arms dealer.  But then VMware could service an entire set of new clouds. I call maybe second tier or secondary native clouds, where, hey, someone's got, I saw Jeff Frick and I were talking about a drone farming cloud, with drones that have applications for farms. It's going to be specialization. That speaks to a new set of service providers. And the question is, is the cloud service provider market about to explode? What do you think? Explode? Meaning, great, grow, big, does that long tail fatten out the neck and the torso? Yeah, because at the end of the day, at the end of the day, where you are located matters. Your ability to bring together classes of services is going to matter. And being able to enfranchise and federate all those things is going to matter. And if it is truly cloud, if it's a common cloud experience, the cost to a customer of getting into that is going to be relatively low. And so, what you're really testing is, is the cost of getting into a specialized cloud going to be more or less than the cost of going with a general cloud and start adding things. And there's going to be a lot of opportunity to serve particular classes of companies by different characteristics. Let me draw an analogy for you. That we talk about part, this is, I'm going to get political for a second, but we talk about partisanship in the US, right? And many years ago, people said, oh, the internet is going to democratize everything and it's going to be this wonderful, well what really happened is the internet made it possible for media companies to enfranchise audiences independent of geography. And now we've got highly specialized media sources that are all pertaining to a particular audience. Why wouldn't we expect, and software is effectively media, why wouldn't we expect to see the same exact economics and dynamic happen for some of these specialized... Make software great again. That's my motto. To that point, services has always been a highly fragmented and highly specialized market cloud is services. And I would expect, yes, to answer your question that you're going to see a lot more service providers explode, but they better have a differentiation strategy relative to AWS. So the TAM conversation around that's cool, but what's really happening here that was getting a lot of traction, and we talked about this earlier about the true private cloud report. I asked Sanjay Poonan, and then I talked to Sam Ramjay at Google who heads up the developer platform in product management. To your quote, this morning, a lot of IT's been driving costs out of business now or putting revenue on their agenda. He goes, really? And I asked him, what's your metric for success at Google? And he started to think about it and went back to the business value of technology. So this, I know there's a research area that I want to give you a chance to describe. What's the cutting edge metric around the business value of technology? Because in the cloud, magic quadrants don't matter. You can, the scoreboards are changing. At the end of the day is what value does technology contribute to business that drives top line revenue? Yeah, cost containment, I get that, but revenue. Well, so the traditional way of thinking about ROI or business returns or business value is you say, I'm going to say for a given application for ERP, I'm going to, which is the numerator, which is the benefit, so that's why I classify it. Now I'm going to look at the denominator, which of the different configurations of technologies make that given set of systems most have the highest return and it all becomes a cost question. So really where this goes is that increasingly what businesses are looking at are saying my customers are demanding digital engagement, my partners are demanding digital engagement, I'm going to use my data differently, I'm going to infuse, I'm going to turn products into services, I'm going to do all these different things with data, that's where the revenue side comes into play. Now, can you argue that it all comes back to cost and automation? Yeah, there's things you can do, but at the end of the day the question is, what does your customer see? Does your customer see a better service or a better capability, a differentiating approach to doing things? That is the non-standard numerator in the equation and that's where IT is increasingly, and with the business is increasingly focusing its attention. So as the increasingly what's happening is we're looking at a common denominator, Amazon's pricing and Google's pricing and all these other guys pricing is going to moderate to a set of common metrics and that means that now we can start talking about the numerator and how doing the numerator differently is going to be different. Okay, so let's take that and take it to the stew and Dale, I did comment on, we heard this race to the bottom, race to zero. That's not happening, your true private cloud report shows that the SaaS business and true private cloud just by itself is bigger than I asked. And we never believe that, we've never bought into it. And you know, it's funny, in some of the analyst sessions, you get to talk to some of the customers and talk to some of my peers here, something we hear from a lot of companies, not all of them, but cost isn't number one on the list, usually it's agility, it's entering the business, it's being able to move faster. Cost of price, of course, does matter eventually, but it's that being able to react faster, that agility that needs to go there.  Heck, we're spending all this time talking about public and private cloud and edge computing is just going to, completely change that landscape even more. As we go forward. And look, and the other thing is Amazon sets a pretty high price umbrella. I've never bought into the race to the bottom. I always said Amazon's going to be more profitable and everybody, Amazon's an infrastructure, they're an infrastructure company with 30% operating margins, which is like a software company. I mean, it's basically VMware's operating margin, maybe VMware's a little higher. And of course, Amazon has a much higher capital cost, but there's a big price umbrella that Amazon has created. That's an awesome opportunity. I'm interested in what you guys think about the recent momentum behind VMware. In the last two years we've seen a total change, right? Two years ago it was kind of negative, negative growth. And now it's tailwinds, positive momentum. Is this a product cycle? Is it expanded ELA's kind of a one-time thing? Or do we think this is a sustainable trend? I mean, I've said, I think the stock is under value. Am I right? Is this sustainable? I think you're right. I mean, to me, my observation is, I'll let you guys comment on it, but my observation is VMware was stuck in the middle of an identity crisis between the virtualization ops side and then trying to do cloud. And then you nailed it on the earlier intro segment where you said, there's no capex there. They got better margins because of it. And by making a decision on not doing cloud and becoming much more of an arms dealer, you can move the ops into the dev, right? And that's been a big stuck on the mud point for VMware. They got great ops, great enterprise, but they just weren't nailing the developer side. And that became a problem. Now you have clarity on the wave. Cloud IoT, I just do pointed out. Now it's very clear what's going on and everyone knows where the game is. Then the shift is going to come to, and this is why the Kubernetes announcement Google today didn't get a lot of applause in my opinion, Stu. I'd love to get your reaction. He said, I don't think this audience can connect the dots yet on that long play of the orchestration. So they're still stuck in, I got my house to clean up. I don't want to get the fluff and the headroom and the future vision. I got problems to do on my ops side. Yeah, I want to do dev, I want to do dev ops, but shit, I got to take care of business. Yeah, so today's question, VMware had reached a certain point. They'd kind of saturated the market for server virtualization. They made a number of bets. Some of them panned out. AirWatch, great acquisition. NYSERA, phenomenal acquisition. NSX, we've talked extensively about that. Push towards the developer community. Well, I think they've understood now. Pivotal's going to handle that. We'll shove that over here. There's not a developer track at this show anymore. The cloud piece, they fumbled it a few times. And now they've kind of understood it. So, kind of a natural progression. They made some moves. The ELA is something that I think they've sorted out. Their licensing agreement, how they have the partnerships with customers. We've talked extensively about some of the pricing. Some of the deck shares. The Mulligan on VirtuaStream, carry on, please. Yeah, so right, it's where they fit, where they partner, the relationship with the ecosystem. And a thing that, you know, what drove VMware to where they are, is those partnerships and the technology partnerships, as well as the channel partnerships. Some of those things I hear, Kubernetes, AWS, VMware and AWS, their partners are like, it's scary. I don't know if I make any money. Is this now VMware and Amazon just go to the bank and they cut me out of the whole thing? So, some of these, it's interesting. Right, most people aren't ready for the container piece. They're definitely not ready. You know, Kubernetes, they hear about it, but it's pretty early, so. Either your reaction, because this really kind of points to what Stu's saying, if you, yeah, I believe what he's saying, to be true, because I agree. They did their homework, they were listening. They weren't sticking their head in the sand to your transformation point.  My relationships with the business are changing. I now foresee that I'm going to have to reorganize my IT organization to take advantage of things like hyper-converged and whatnot. So I'm looking at an enormous transformation. In comes VMware, and the first thing out of their mouth is, we really don't know what we're doing.  Would you help us sustain these assets until we figure this all out? The CIO is going to say thank you very much. We're in Microsoft. So what's happened is VMware decided to get serious and stable. They decided to make some bets, and a lot of the bets that they're making right now, we're seeing it in the show, we're probably not going to pan out. But that's okay, because it's still- But the big ones are. Well, we think so, we think so. We think NSX as well. Look, all the, still listen. We don't have to go over them again. But what we are seeing is, and you know, Michael Dell and Pat and all the executives- They're paying attention. They're over and over. Open with an opinion. It's very clear that businesses like the VMware opinion. I think Stu and I and all of us probably agree that they could probably go further with that opinion. They could probably lay out an even better vision of what the cloud experience is going to be as they foresee it and how they're going to engineer to it. But it's very, very clear that customers today are saying, I got all this installed. I'm willing to continue to invest in care, taking all this VMware stuff because they have done a better job of laying out what my options are. Whereas a few years ago, the options were all over the map, which means they had no options. Yeah, they were groping for something. Okay, we got to wrap it up. I wanted to go around the whore in the final piece. We're going to go out tonight. We're going to party. We're going to socialize, stay up all night long, talking to people, getting the data. Not all night. We'll be in bed by 11. I'll be in bed by 11, I hope. I hope. Great conversations last night. A lot of hallway conversations. A lot of good chatter. So around the horn, most compelling thing that you heard, not in a session, in the hallway, through conversations and interactions. Peter, we'll start with you. Most compelling thing that I heard is there's some new stuff coming in the Google universe. That is going to have, potentially have a pretty significant impact, ultimately on how enterprises look at Google. I found that some interesting stuff there. The most compelling thing, just very simply, on the VMware side of things, was the, probably coming out of some of those conversations we had with Chad this morning, Dave. And the idea of, the idea that increasingly, you're going to look at these platforms. So a platform, a set of platform whores are on the horizon, where it's going to go back to what we were looking at many years ago, in certain respects, but written much larger. But that increasingly the way that people are going to evaluate the quality of a platform is not intrinsic to the platform, but how well it binds to other platforms. That's probably the most important statement that I heard out of, on the floor today, over what's happening. Stu. Yeah, it's, continue on kind of Peter's theme is, we're starting to see really, you know, it's gelling, some of this multi-cloud messaging. You know, been really teasing out with a lot of people, once again, when you get to talk to the practitioners as to what applications are they building? Where do things go? How are they moving around? And, you know, VMware is a trusted partner, one that they've really turned to for a lot of this. And the customers at least, are optimistic about what they're hearing. I've heard a bunch of them that are really excited for the VMware on AWS. More than I expected to hear. And, you know, it'll be interesting to see. It's been interesting. We've kind of been saying Microsoft, maybe there. You know, when we go to Dell EMC World, they're talking a lot about Microsoft. Microsoft Ignite's coming up. You know, those be a huge push. We've said for years, who has the best hybrid strategy? It's got to be Microsoft. Hands down. So, VMware. Although we haven't mentioned Oracle, it's going to be interesting. Oracle's still not out of this. Yeah, absolutely. I always say, follow the applications, follow the data. Oracle, Microsoft, huge application portfolio. VMware, still doesn't happen. No, I haven't heard one person talk about Microsoft or Oracle here. Not one. I want to chime in. I have heard about Microsoft but not Oracle. Yeah, me too. I've spent the last 24 hours have talked to a number of customers. And I will tell you, they're struggling to move fast. And that's, I like good news for VMware and Dell EMC because, you know, all the vision that's put forth and all this cloud native stuff and they're really having a hard time digesting a lot of this stuff. You've been saying it for a while. Hybrid cloud is BS. Nobody's doing hybrid cloud because it's sort of been defined in early days like federated apps. Nobody's even thinking about it, not even close.  So they're really having a hard time moving. So I think that's a good trend. Dave, I heard a great line on this. VMware is moving at the speed of the CIO. Yeah. That's a great line. That's a, you know, kind of double-edged comment.  I won't say I said hybrid cloud was BS. I did say hybrid cloud was doing hybrid cloud. I mean, because it's not ready for prime time, in my opinion. It's a way station, John. Yeah, it's a halfway house or it's a way station. What do you want to call it? It's a total sack. Sanjay, use that line today. Okay, my final observation is more of a, kind of an epiphany for me that kind of wasn't really, was a blind spot, but it was an awakening. The customers I've been talking to are really struggling with the merging of multiple stacks, hardware and software in new use cases that have been untested and undocumented and that's causing to the speed of the CIO conversation of, wait a minute, we can't just deploy some of this stuff at scale until we do our homework. We got to get the hardware stacks and the software stacks working together. We heard it a lot. That's been the number one hallway conversation. That means there's a lot more work to do on that front. Well guys, but it's a working together part. It's that how they bind together. It's in these new use cases are working together and this is not a software vendor and a hardware vendor. It's all going to be a data vendor at the end of the day and we'll see who can bring the stacks together. Okay, Pat Gelsinger. We had Michael Dale, Sanjay Poon and great day guys. Great stuff. Let's go hit the hallway conferences and go hit some of these parties and get more data for you guys. Thanks for watching theCUBE live in Las Vegas. Wrap up of day two here. I'm John Furrier, Dave Vellante with Peter Burris with Stu Miniman, this is theCUBE. Thanks for watching.


Hello everyone, welcome back to our channel. I hope you all are safe and sound. Many of you must have used face filters like the age filter on Snapchat or the blossom filter on Instagram. But did you ever wonder how these filters recognize your faces? The technique behind these filters is face recognition. Another fascinating concept of artificial intelligence. In this video, we are going to show you how to make a project that lets you choose filters among the ones displayed on the screen and apply it to your face using face detection extension of Pictoblox. Pre-requisites are a laptop or a computer with a camera, latest version of Pictoblox downloaded and a good internet connection. If you haven't downloaded Pictoblox yet, download it from the link given in the description box below. Let's begin by adding the face detection extension. Open Pictoblox. Click on board and select evive. Next, click on the add extension button. You need to keep two things in mind while working with the AI and ML extension.  Choose the face detection extension. Wait for a little while till the models get loaded. Let's begin by adding sprites to our project. Delete toby sprite by clicking on the delete button.  Let's make an additional sprite with a small message that prompts the user to click on different filters to try them. Thus, click on choose a sprite button and select paint. Use the rectangle tool to draw background and text to display the message. Now that the sprites are added, let's begin by setting the stage. Select the first face filter sprite. As we want to execute the program every time the green flag is clicked, place event flag clicked HUD block into the scripting area. To turn the camera on whenever we start the script, select the turn on video on stage with 0% transparency block from the face detection palette and select on from the first drop down. Now, get a forever block from the controls palette. Drag and drop an analyze image from stage block inside the forever block to continuous the analyze the image from the stage and apply the filter accordingly. Now to make the filter of the size of the face, drag and drop the set size to block from the looks palette. Place the get width of the face one block from the face detection palette inside the set size to block. Next, we need to detect the location where the face filter should be applied. Thus, add a go to XY block from the motion palette. Add the exposition of face in the X parameter, duplicate it and place it in the Y parameter. Select Y from the first drop down. Now let's make the filter library so that we can choose among the filters that we provide.  You can even choose the filters of your choice. Now let's resize the filter and make them clickable.  Next, set the size of the filter to 50%. Now to trigger a change in the filter, we will broadcast a message when a sprite is clicked. Thus drag and drop when the sprite is clicked block. Place broadcast message block below it and set the new message as heart goggles. Similarly do it for all the other face filters too. Now let's select the main face filter sprite and make a script to change the costume when it receives the broadcasted message. Place a when I receive broadcast block from the controls palette and select the heart goggles message from the drop down. Drag and drop the switch costume to block and select heart goggles from the drop down. Right click on the script and duplicated the number of times we have the face filters. Change it for each and every filter by selecting their broadcast message and costume from the drop down. With us, the code is complete. Click on the flag button and arrange your filters. To make the filters tilt in the direction in the angle in which our head tilts, we need to find out the angle of our head with the help of the position of the eyes. To know more, click on the link given in the description box below. You can make other filters than we have used and let us know by sharing it with us in our picture blocks community on Facebook. Also if you like this video, give it a thumbs up and don't forget to subscribe to STEMpedia and follow us on Facebook, Instagram and Twitter. Bye bye, stay safe.


Hai, terima kasih kerana datang. Sekejap-kejap saja. Kamu telah mencuba untuk belajar sebuah leksur. Bagus untuk kamu. Nama saya Jejun. Saya akan bercakap tentang Phoenix. Jadi jemput jemput jemput jemput. Siapa yang pernah dengar Phoenix? Jemput saja. Okey. Semuanya. Berapa banyak orang menggunakan Phoenix dalam produksi? Okey. Sebelum sejujurnya, ada sekitar 30 orang. Dan lebih daripada 10 orang menggunakan tangan mereka. Jadi... Bukan banyak. Jadi saya beritahu bahawa saya tahu bahawa kita perlu bercakap dengan Phoenix. kerana banyak orang menangis dan tidak tahu... apa yang mereka berkongsi dengan. Jika anda tidak pernah dengar Phoenix, ia adalah leksur web-framework. Saya akan berkata adalah leksur web-framework. Tapi bercakap tentang leksur web-framework... sebuah leksur yang baru, tidak terlalu menarik. Kerana di petang-petang, atau barangan. Mereka tidak menyebabkan perkara baru. Berharap ini digunakan sebab sebab sebab sebab sebab sebab sebab sebab... sebab sebab... sebab... sebab sebab... sebab... sebab... sebab... sebab... sebab... sebab.... sebab... sebab... di mana Phoenix benar-benar mempunyai, di mana saya rasa ia lebih daripada apa-apa yang lain. Jadi, sesungguh-sungguh bahawa web berlainan adalah sebuah masa yang benar-benar. Di mana-saat ini harus diletakkan, anda tahu, aplikasi web modern dengan Phoenix. Saya tidak terlalu baik untuk membuat kata-kata itu, tetapi beberapa adalah. Jadi mari kita mulakan dengan memperkenalkan stack. Seperti yang saya beritahu, ia adalah framework web di dalam leksa. Dan ia juga berlainan di beam. Semua stack yang anda katakan, ia adalah Ruby di rails, atau jango, written python. Tetapi dengan Phoenix, anda harus bersyukur mengenai faktor itu, ia adalah pengalaman Erlang. Kenapa? Kerana apa yang menarik adalah bahawa kedua-dua adalah komparatif baru. Phoenix 1.0 telah dibuat 2.5 tahun lalu, pada tahun 2015. Itu sangat-sangat sederhana. Aleksha mendapatkan 1.0 tahun lalu sebelum itu. Sekarang dalam termasuk teknologi konsumer, ia adalah Apple Watch yang keluar 2.5 tahun lalu. Dan ia adalah iPhone 6, yang adalah iPhone pertama dengan dua sizes. Dan Erlang datang dari tahun 80-an. Ini adalah Mobira City Man 900. Ia sebenarnya adalah Nokia yang pertama mobil. Untuk memasukannya ke perspektif, jika anda ingin jawa, jawa telah dibuat pada tahun 90-an. Dan Erlang mempunyai jawa selama 10 tahun. Sekarang, ia tidak ada kesilapan bahawa Aleksha syinteks membeli-belah dari Ruby. Untuk yang anda tahu, apa yang Aleksha nampak. Kerana ia adalah pembangunan. Jose Valin adalah sebahagian daripada timpang. Dan Phoenix II, dengan kata-kata, sangat menginsipkan oleh pembangunan. Kerana ia adalah pembangunan. Chris McCord adalah pembangunan pembangunan. Jadi, semua pembangunan dari Aleksha dan Phoenix, jelas-jelas membeli-belah Ruby pada pembangunan. Jadi, kenapa mereka memilih untuk membuat pakaian baru? Untuk pembangunan ini, ia harus menjadi sesuatu yang sangat istimewa tentang Erlang. Jadi, pilihan yang paling terkenal di Erlang adalah WhatsApp. Pada tahun 2012, mereka memiliki banyak perhatian setelah mempunyai pakaian yang berlaku. Mereka mempunyai 2 juta pakaian tcp koneksi pada sebuah pakaian. Mereka mempunyai 2 juta pakaian yang berkoneksi kepada sebuah pakaian. Mereka berkoneksi dengan sebuah pakaian. Mereka berkoneksi dengan sebuah pakaian dan mempunyai untuk mempunyai. Sekiranya saya tidak salah, pakaian CPU berkoneksi berkoneksi sekitar 40%. Ia adalah pakaian besar, seperti 24 CPUs dan 96GB RAM. Tetapi masih pakaian yang terkenal di setiap pakaian. Ada beberapa pakaian yang lebih menarik. Seperti jika itu tidak menarik, pada tahun 2015, mereka dapat mengalami sekitar 1 juta pakaian yang berlaku dengan hanya 50 pakaian. Selepas Facebook membuangkan mereka, mereka mempunyai sebuah pakaian yang lebih menarik untuk membuangkan pakaian yang lebih menarik. Tetapi itu semua yang mereka perlukan. Untuk membuat pakaian untuk membuangkan pakaian untuk membuangkan pakaian 60 juta pakaian pada hari yang lain, ada tiga kali yang mempunyai sms global sepanjang hari. Selepas ini, Chris McCord, pakaian pakaian memperkenalkan beberapa masalah yang memperkenalkan pakaian yang lebih menarik pada Ruby. Dan pakaian tentang WhatsApp. Saya bekerja untuk pakaian secara segala. Saya menemukan yang selamat oleh Erlang. WhatsApp pilihan tidak teruk. Erlang memperkenalkan oleh Ericsson untuk Telekom. Terutamanya untuk membuat pakaian telekons. Jika anda membuat pakaian telekom atau telekom startup, anda tidak perlu membuat pakaian ke dalam Erlang tetapi anda harus membuat pakaian ke dalam Erlang. Jadi Chris memperkenalkan dan memperkenalkan ke dalam Erlang. Dan sebabkan Ruby, dia tidak terlalu menarik untuk mencari pakaian Ruby, tukang yang hebat, memperkenalkan dengan cepat, memperkenalkan dengan cepat, tidak di sana. Sebenarnya, dia menemukan susah untuk membuat pakaian ke dalam Erlang. Tapi, dia menemukan beberapa perkara yang terbaik. Sebelumnya, sejak 1986, ia mempunyai dan dan Erlang juga memperkenalkan semua pakaian telekom di dunia. Jika anda menggunakan pakaian di mana-mana di dunia, sebuah peluang 50% memperkenalkan dengan sistem Erlang. Itu banyak pakaian yang memperkenalkan secara sukses. Sebelum selama tahun. Sebenarnya, beberapa sistem memperkenalkan 9 pakaian yang memperkenalkan. Jadi, mereka di luar sana, memperkenalkan pakaian Erlang selama selama tahun, dengan tiba-tiba, tiada masa untuk memperkenalkan. Tapi, tiba-tiba, pengalaman pakaian yang memperkenalkan. Kemudian, Chris memperkenalkan aliksyur. Dan dia memperkenalkan Jose. Ini adalah aliksyur kreator. Memperkenalkan kembali pada tahun 2011. Dia fikir ia gila dan Chris memperkenalkan dia. Tapi sekarang dia menemukan Erlang. Mungkin, aliksyur berguna. Jadi, Jose adalah terkenal di komuniti Reels. Dia adalah seorang pakaian yang memperkenalkan aliksyur dan memperkenalkan pakaian yang terkenal di Aliksyur Autentikasi untuk Reels. Dan seorang pakaian ini, Jose Malin memperkenalkan aliksyur kreator ini. Dan Chris memperkenalkan apa yang dia melihat, yang memperkenalkan sepenuhnya, apa yang terbaik tentang Ruby dan memperkenalkan mereka ke Erlang. Fokusnya pada aliksyur kreator dan memperkenalkan semua yang Erlang mempunyai. Dan Chris memperkenalkan Phoenix untuk menolakkan masalahnya. Dan di aliksyur ini, ia mempunyai web modern. Web modern memperkenalkan 5 aplikasi html, aliksyur API, sistem kreator. Dan sebab aliksyur berguna, aliksyur memperkenalkan aliksyur kreator dan juga aliksyur yang sangat mudah. Baiklah. Komuniti Reels selalu memperkenalkan aliksyur yang lebih mudah, kerja hampir berllingkai, berbicara berapa banyak periksa Twitter? Berapa banyak projek yang sering mengarangkan reaksi Twitter? Tetapi, masalahnya berfungsi pada kecil lebih kecil. Dia memiliki projek cara aplikasi yang berkata-kata bahawa sebaiknya api yang berbeza Dan pusesa melihat perjalanan setelah mengambil agar ada banyak projek. Jadi, dia memperkenalkan pelancongan hipunkah Jadi sesuatu yang tidak komputasinya sangat susah, akhirnya menjadi sangat ekspensif untuk menghubungi. Dengan Alexia dan Phoenix, kamu tidak lagi perlu membuat keputusan ini. Kamu boleh mendapatkan keputusan dan performa. Fokus adalah pada keputusan, tetapi kamu dapat keputusan dan kelihatan daripada langkah-langkah. Baiklah. Jadi apa yang boleh saya bina? Jadi kamu boleh fikir begini seperti jenis jenis jenis. Jadi kamu boleh membuat keputusan, kelihatan daripada langkah-langkah, kelihatan daripada langkah-langkah. Mereka semua ada di sana. Tetapi kamu boleh juga membuat keputusan yang tidak kompensif. Dan seperti yang saya katakan tadi, saya rasa ini di mana Phoenix sebenarnya mempunyai. Mari kita fokus sedikit pada keputusan. Apa yang saya maksudkan oleh keputusan? Jadi jika kamu menentu keputusan, keputusan dan kelihatan daripada langkah-langkah, membuat keputusan, kelihatan daripada langkah-langkah, semua yang kamu perlu membuat keputusan. Mereka membuat keputusan, kelihatan daripada langkah-langkah. Jadi keputusan ini bagus. Dan ia menolakkan web untuk menggabungi kerana kamu boleh terus membuat keputusan. Semua keputusan yang kamu perlu lakukan adalah menjadikan keputusan. Memang tidak terdapat apa yang berlaku sebelum untuk membuat keputusan yang klien perlukan. Kamu boleh membuat keputusan dan keputusan. Dan kemudian keputusan yang terdapat adalah untuk membuat keputusan yang berbeda untuk membuat keputusan yang tidak bergabungi. Jadi Phoenix adalah framework MBC. Ia berlaku dengan membuat keputusan yang terdapat dan membuat keputusan yang berlaku dengan keputusan yang berlaku dengan keputusan yang berlaku dengan keputusan yang berlaku sekarang. Tapi dengan keputusan yang berlaku, kamu membuka sebuah prosesan antara klien dan perlukan. Dan mereka bercakap dengan mereka pada sebuah mesyuarat yang menggunakan. Perlukan yang boleh digunakan dari klien, tetapi memperkenalkan ke perlukan atau beberapa perlukan yang berlaku di perlukan dan perlukan yang perlu diperlukan. Sekarang, komunikasi ini bidireksional dan boleh berlaku pada masa-mengar. Jadi ketika MBC adalah ekstraksi yang bagus untuk keputusan, MBC memperkenalkan keputusan yang bagus untuk keputusan. Jadi Phoenix memperkenalkan keputusan yang baru diperkenalkan. Dan boleh memikirkan seperti perlukan dalam MBC, tetapi perlukan masa-mengaranya untuk keputusan untuk keputusan. Setiap klien berlanggan untuk sesuatu yang diperkenalkan. Kamu boleh memikirkan mereka seperti ruang virtual. Jadi setelah kamu membawa ruang, kamu boleh menentu dan sebagainya akan mendengar. Jadi ruang adalah hanya sebuah ruang. Seperti yang kamu boleh lihat di sini. Kerana pelanggan juga memperkenalkan yang ada klien yang berlanggan untuk menyukainya. Dan apabila klien atau pelanggan memberi mesej kepada mesej itu, semua orang yang menyukainya untuk menyukainya akan menerima mesej itu. Jadi di belakang, ia adalah sebuah mesej dan di kanan, kita akan menyebabkan sebuah mesej. Dan ini adalah bagaimana ruang terlihat untuk channel. Selain itu, ini sedikit berbeza daripada kontrolan kamu di MBC. Ini adalah kode Alexia. Ini adalah kali pertama yang saya menunjukkan di sini. Seperti yang anda boleh beritahu, so the topic is room and the subtopic is everything related to this topic is handled by the room channel module which is the third, the second argument to this macro. I will explain what's macro later. And that's it. This is the client. And this is java script. You create a socket object. We should present a web socket connection in this instance. And you join the channel with the room lobby topic. After joining the channel, you can push any message to the server and it's pushing a new message. The new message message message to room lobby. They can be anything to be add command. So when you enter something, you can send whenever you have finished entering that value. And you can also subscribe to different messages depending on who has joined the topic. For example, you can listen in on new command. So whenever people public broadcast new command, you will receive it on the client back to the server. This is the module for the socket that I mentioned earlier that you can join. As you can see, it's listening to all rooms as I mentioned. And there's also a connect function here in case you want to process socket joins for validation, for example, whether you allow that client to join that socket. And here's the proper channel code. And like socket, there's also a function called join, which allows you to do certain people processing even. So if previously you don't allow people to join your socket, then it's either yes or no there. But after they join the socket, maybe you only want to allow them to join certain topics. And that's where you control it using the join method here. For example, you can join the lobby. They cannot join another room, which is private, room colon one or something. Handle in is the handlers for incoming messages. And this is the handler for add comment. As you can see, every time the client sends an add comment message, this handler extracts the comment and broadcast a new comment message. So, let me repeat that. So you're handling a message, incoming message that's an add comment, incoming message.  And everyone subscribe to new comment will receive this message. And that's it. That's all you need to do is to add real-time features to your application. So, one of the primary goals of Phoenix Chris said is to add real-time, to make real-time web programming as easy as adding a rest endpoint. I think he successfully did it here. So, channels are not just for browsers. In fact, it's client agnostic. There's a spec that you can write channels on any platform and as long as you conform to the spec, you can talk to it in a second. So, there are clients for iOS and Android out there used in production now. Channels are also transport agnostic and what I mean is earlier I showed an example of Phoenix socket join and that's WebSockets which is a default and a sensible default for bidirectional communications. But if that's not available, say, you're using IE9, you can fall back on long polling. And everything just works as far as the developer is concerned.  But what if you have more than one server? We're talking about stateful services and persistent connections. It's important to know which server is talking to which client. So, Phoenix builds upon Erlang's view-in distribution features to provide synchronization or elaborate on that later. But every time a message is sent, Phoenix knows how to send it for handling. So, it seems like magic. But remember that Erlang was originally created for telephones.  It's the exact same concurrency model that Erlang was designed for and it's the exact same problem faced by the modern web. So, here's a little bit picking under the hood. So, what happens is when a client connects to a Phoenix and Erlang process is spawned that's the green circle over there. It's an Erlang process. It's not an OS process. Like OS processes, Erlang processes are isolated and they run concurrently. They don't share memory with other processes. You need mechanisms to talk to other processes. But unlike OS processes, they are actually very lightweight. So, on my laptop here, I can run millions of processes and everything will still be responsive. Some of you notice as the actor model of computing. So, a process is created to handle the transport for that client. In this case, web socket session. And for each channel that the client joins, the process is also created. So, those yellow circles is probably room lobby or room one or room two. You know? If a channel joins two client joins two topics, it will be represented by two Erlang processes on the back end. Like an OS process, if a process crashes, it doesn't affect other processes. So, you can imagine that when a channel crashes a process, you did something weird there, exhaust the database wrongly, didn't pass validation or whatever. It crashes. But it won't affect other channels or the original transport. A new process is simply spawned. So, this is the model of computing implied by the actor model and it's incredibly fault tolerant. Now, if you're running one node, one server, my story is done here, but that's more exciting stuff. So, if your web app is getting popular and you need to scale by adding more nodes, there simply isn't enough CPU who handle the workload that your startup is getting. Phoenix chips with a PubSub feature which is powered by a distributor, Erlang. Alright. That allows you to talk to other nodes and synchronize data. So, you can spin up 10, you see a traffic spying, you can spin out 10 nodes and they all can handle channels and they know how to talk to each other and forward messages accordingly with built-in tools only built-in features. You can swap out distributor Erlang for Redis. I don't actually know anyone who has done it. That's how awesome this feature is. Action cable which is inspired by Phoenix channels. I'm getting ahead of myself. Has to be powered by Redis because they don't have distributed Erlang. So, right here I have explained how Erlang can do massively concurrent systems and concurrent means you can easily scale it for performance, horizontally scale but it's also fork tolerance because a process crashing does not affect in another process with 9-9 reliability. All this performance is theoretical but has it been tested? When Phoenix 1.0 was really someone suggested on the addiction mailing list that they should really put their claims to the test not just micro benchmarks but test that can put the framework under load and try to break it. So, the Phoenix teams found the biggest server they could find I think it was 40 calls and they set up a Phoenix channel spun up and hold other army of servers to subscribe to just one topic and here's the result. They started pushing load and clients joined a rate of 20 to 25,000 clients per second and that's across time. And steadily climb and scale all the way up to 2 million plus connections. Now, the interesting thing is that 2 million was actually a hard coded cap on the OS level because they were optimistic that you could even come close to 2 million when they were configuring for this benchmark they set it at 2 million but they could actually exceed 2 million and they think they could have kept going and if you spin up H-top you can see that it's a powerful machine 40 calls, yes and you can see they are all idle now. When they got the 2 million connections they downloaded a Wikipedia article and they broadcast it to everyone and everyone receive that Wikipedia article within 2 to 3 seconds and as he did that they saw the CPU spy and the things were lighting up but then after that everything just returned back to normal so that's channels yep maybe I talked a bit too much about channels let's come back and talk about what else Phoenix did so back to stateless applications it's also really fast when it comes to normal HTTP request right so here's another benchmark by the way disclaimer always take benchmarks with a pinch of salt as always you can see Phoenix is handling more throughput and latency than everyone except Jin or Play and it's not a fair comparison to Jin because Jin is a micro framework while Phoenix is a full blown MBC framework which also handles things like sessions out of the box so the only full blown frameworks here are Rails and Play and as for Play it appears to be faster and it's also one of the most inconsistent if you see the right most column not sure why maybe the JVM is doing funky things again but the the point that if you choose to believe this benchmark Phoenix is the youngest framework here so personally I think it's pretty fast for the youngest framework but that's just a little benchmark right this is a very famous they call it the poster boy article Bleacher report high traffic sports news site reduce 150 servers to just five after migrating from Ruby and Rails to Phoenix and they think they're over provision you can read the article with the news clip yourself okay enough about channels and performance let's round up the top a bit let's briefly talk about productivity so Phoenix is not just about performance in fact as I mentioned earlier the focus is on productivity over performance meaning if they ever accounted trade-offs where they choose between one or the two Chris will always pick productivity and what I mean by productivity is after you install a lecture installation is really easy just download mixarchive.install and you can already create a new app if you are coming from Rails this will look familiar this is the router this is very easy to read because like Alexia like Ruby Alexia has optional parenthesis so you can construct very readable DSLs so you have helpers like resources which you can find in Rails too that will generate all the corrupt routes for you there's scope which is new that allows you to define a top-level path component in group-related function together slash admin for instance scope also has another purpose wish to call attention to the pipe-true browser there that means for all routes that belong to scope apply the browser pipeline to it so what's a pipeline a pipeline is just a set of middleware you wish to apply to just this set of routes so you normally want to do very different things for different routes for example standard browser request versus API request for browser request you typically want to fetch the session and that's very very different from API request and this allows you to group middleware to different routes and treat them very differently at the same time make it very readable and maintainable controllers again if you're a Rails user this you will familiar with the only difference is probably show where there's pattern matching in params to extract the ID there's also generators in case you want to generate boilerplate really quickly in addition to generators there's also tasks like mixed-acto migrate to migrate and generate migrations here in my opinion is one of Phoenix killer features all views are functions so what do I mean by that all views here is something called abandoned elixir very similar to ERB in Ruby and this template is actually compiled at build time into a function and what I mean into function I really mean just another function so thanks to elixir's metaprogrammic features all your templates are compounded functions and when you deploy and you run it because they are functions they are all loaded into memory at runtime and they are just read off memory whenever a request comes in so that's one of the reasons why and most people are shocked to find out that when they first spin up Phoenix the responses return within nanoseconds and not microseconds and you heard me write nanoseconds because they don't need to do any disio or any parsing nothing needs to be read from this everything is just read from memory all that slow stuff is out of the way when views are just functions so that's what you get out of Phoenix if you're not familiar with elixir there are other productivity boosts there we have an amazing console in Movedian it just gets better at every release they added breakpoints as a built in help they can just type I almost never refer to the web documentation I always try to tap and auto complete in IX to discover documentation and how to use certain tools certain functions there's also observer which allows you to inspect at run time what processes are running so all those are Erlang processes you can see the repo pool and that's your database pool I was completely soaked on this stack when I decided to kill one of the connections and it spun back up literally like I can't see I thought I wasn't killing it that's how fault tolerant Erlang is you can see the pubs I mentioned earlier and all that so Eric MJ the maintainer of Hex Hex is elixir package manager not unlike NPM for node and Ruby gems for the Ruby community kindly share this data for me popularity wise it's been going exponentially since the start it's at 3.6 million downloads now Phoenix 1.0 was launched in August 2015 so a little bit in the first row I guess and not showing any signs of slowing down in fact I think it's accelerating this is data all the way up to last January not last January the past January and a little fun fact Phoenix is actually the second package ever published on Hex so I work for e-commerce company called Bazaar and we build our app from ground up in elixir and Phoenix so yes although the stack is quite young and you may not have heard of it we are using it in production now and we are shipping elixir code daily so if any of these things excite you and you want to work on bleeding edge web technologies every day come and talk to me so that question so you said that you didn't use this or anything like that for distributive program so do we actually use distributive program in your application today? Ya, I'm using Pub-Sub I guess that counts I guess but do you use different nodes? Do I use different nodes? I don't use different nodes Well Phoenix Pub-Sub uses that underneath so I would say I'm using it indirectly I haven't directly used I did oh, this is a good question last week I did have to console into production to debug something and I use distributive to connect my IES console into the the running node and set big points on it which is insane actually it's the first time we're doing it so that counts as distributive but you're unmanipulate a big server like no, it was unmanipulate it was it was across IPs okay because I tried the deploy is pretty complicated because you need to just sort all the different instances yep yep so I'm going to plug it's impossible like we use a rubber so I'll plug another product here I'm using Nanobox as an engine and all that is taken care of you just have to do both attach yep and it can find the other node awesome just like that yeah yep so since up private like VPN so you wouldn't get traffic that was the issue people have because it's not secure if you can just connect to any node so within that subnet net they help you set all the cookies and all the settings yep since Phyllis is kind of new I mean it's been few years but you still run into a situation where you might not have set of libraries yep it's my primary right now so what exactly I hope that it could fall back or a long but a long packages also having their own issues so won't you actually put in that situation okay so the question is if the ecosystem is weak what do you do I don't have a good answer because it's my primary problem but what I found is because Alicia is so easy to code in I could quickly spin up roughly just what I need moreover it's very very similar to like syntax wise to Ruby so there was once or twice where I actually looked up a Ruby library find out how they did it and just rewrote it for example a sluggyfire library which you can find was I looked through a lot Ruby libraries for that yes so the sluggyfire library is open source I'm gonna open source in another library soon just stay tuned yep yeah okay one more question sure because you mentioned Alang in the slides so it's probably a question to everyone so one of the things for this Alang you won't do it as well in Alexa which is basically adding syntax on about Alang and Phoenix is doing great but in terms of investment into Alang I think there hasn't been much that's what I have and in fact what about scalability wise of course it was British actors in mind so British VMs the Java VMs the JVM person were actors in mind that's why it's called us I think in some ways it's like same kind of acavis like acavis program but in terms of being CPU on CPU on processing I thought that Alang VM actually has to choose yeah so the question is has there been that much investment in the Alang VM these days yes and if someone is processing CPU on processing I don't know if he wants to answer in the community so I've heard Alang is not that great so people sometimes resolve to remain uneducated uneducated into fist that's good okay so to answer the first question first if you follow the Alang repo it is there's a lot of development going through it so I'm not sure what you mean when you said not having invested I know a lot of investment banks I would name them it's critical to their production they just can't abandon the platform there's no way like I said half of the world's telecom runs in Alang you don't deprecate a language just like that when it's so widely used so I wouldn't be too worried about language development in the sense that it's going to be abandoned or anything like that but maybe you'll be worried that development is a bit slow but they have to it's so mature and so better tested and so proven like you can't just change things too much right but surprisingly thanks to Aliksha coming on board Aliksha is bringing that developer mindset from Ruby Jose himself and a lot of people from Aliksha hipsters they call is adding a lot of changes back into contributing a lot of changes back to Erlang for example, UTF-8 atoms and that sort of thing so we are seeing pace actually picking up on OTP actually Erlang OTP to answer the second question Erlang DM it's not exactly great for CPU bound work I've shown you things like 2 million connections those are not CPU bound those are IO bound work and that is correct the beam is actually optimized for low latency very quick responses the scheduler is very very pre-emptive and very aggressive on top of that if you spend a little bit too many CPU cycles they call it reductions if you spend more than 2,000 reductions it just ask you to shut up and it will just give that CPU cycles to another processor so the right tool for the right job if you're trying to do CPU bound work like a game engine please don't write it in Erlang Erlang is great for doing what I think the modern web needs now you want very fast very quick responses like fast latency and whenever you need CPU bound work most of the time if not all of the time coming out to a background process now that background process can be managed by Erlang but the actual computation can be done in another language like these days Rust is quite popular in the literature community and you want to do this background process even maybe outside the server that you're running literature on so that they won't fight for CPU cycles so you can continue to serve those responses quickly and then and synchronize all the CPU bound work and give it to languages who are better suited and the thing is almost every language is tuned other than Ruby and Python is tuned for CPU performance like C, Rust we have those languages doing that already why not a language optimized for latency and to me I think the biggest computing problem is actually serving web pages why is there no languages they are optimized for latency oh thank goodness there's Erlang and election now just to add on point I mean for Erlang why people say there is no latency is because the GC is actually done on the process itself and everything that is within that process that very likely process once the process dies everything is collected GC immediately so it's many many many small GC versus like Java, JDM one big GC they go through all the generations and pick it up and GC all the stuff but for Erlang it's that process immediately throw in the whole chunk because no memory is shared so when you know the process is done you just kill that memory you don't need to stop the world because let the stop the world coverage collection and that's why sometimes you screw in the android too fast you get jitters anyway if there's a language that was designed from day one to be on the back end it would be Erlang you know like Java was originally designed for smart TVs and now it's the biggest server-side language not yeah server-side language it is Ruby was just a little shell-shifting tool and now but Rails is number one use now but here we have a back-end language designed from back-end from day one you know so how do you get started and what resources would you like to write and collaborate are you saying how or if you want to get started what should you do and how do you get started okay so it's quite interesting so originally so I was building this project it was an MVP and we did it in Rails because it was the fastest but then when we the MVP was successful and when we wanted to to take it further someone in my co-working space just suggested oh have you looked into a lecture and I was like what's a lecture or have you looked into Phoenix oh I don't know what's Phoenix so I actually decided to watch Phoenix videos before I even knew a lecture I didn't really care about what a lecture was I thought this channel thing is really cool this real-time stuff is really cool it's exactly what I need for what I'm trying to do all those problems I faced building MVP could be solved with Phoenix you know and it was only after that that digging into Phoenix that I discovered how awesome a lecture is and by extension how awesome Erlang is so that's how I got started alright how do you get started there's a very famous guy called Dave Thomas who sort of introduced Ruby to the Messers he wrote a book called Programming Ruby he happens to like a lecture just as much and he wrote a book called Programming a lecture by Dave Thomas so look that book up I learnt a lecture using that book but if you don't want you want something faster with more tutorials the official guides on alecturelang.org alecture-lang.org are really really really good to onboard new people to my company I normally ask them to try alecture coons yes, there's a coons for a lecture as well so those are three very different ways some writing books some like just learning from a company editor that's three choices right there for learning Phoenix though I still think the official book is the only and the best way unfortunately it's extremely outdated now because Chris doesn't have time they change a lot of things between the current version of Phoenix and the last Phoenix we're at 1.3 now the book is for 1.2 the book is projected to be completed middle of this year but no guarantees because it was projected to be completed middle of last year the best thing can do because they change a lot of things around is to actually jump on alecture readable but jump on alecture slack where I hang out all the time and ask questions there alecture community is one of the best I've ever met they are all very very helpful which is really good bonus slide so that's the city man that I mentioned by Nokia Mobera it's actually released in 1987 which is one year after Erlang came out so Erlang predates this phone even alright thank you