So, we are doing a combined front-end group update with about the AC team and the DC team, me and Jacob together today. Let's just jump right into it. What are the progress that we have done over the last five weeks? Mainly one of the biggest achievements, which was a great teamwork over a lot of teams and with a lot of involvement of different people was the move to headless crew in all our testing so that we have now faster tests, we have more accurate tests compared to the actual rendering because phantom was always a little bit off and there were a lot of workarounds, especially for phantom.js that were removed. My grading is also working at the moment on a blog post which I'm really looking forward to it, documenting all the steps that we have done, all the big rocks that we have faced over this process and documenting this also to the outside world which is, I think, very interesting on such a large scale. Another thing that we have always kept an eye over on improving our performance, our front-end performance rendering time. So we have done constant improvements. In the past releases we have done bigger things like lazy image loading, et cetera. Right now we are already focusing more on a lot of smaller stuff, so we have changed the way how language files are loaded that they are loaded, only the files that you actually have that English is not loaded additionally, et cetera. We are looking very deeply into under-optimization so that only the JavaScript that is actually needed on the page is loaded. And one big topic that we started were inline SVGs so that all the inline SVGs that we had so far in range are now converted to SVG sprites which is exactly the next slide. So we have an SVG project which is an external repo for all icons and illustrations. The really nice thing is that we were able to change the workflow over that so that the SVGs are managed now mainly by UX. They can add the icons there. They can preview the icons there. Also the front-end is adding stuff but mainly the UX is doing all the work on the icons. In there we are reusing KitLab CI and CD for automatic optimization and spriting. So all the SVGs that are there in the folder are automatically optimized. They're combined to one file so that they are in this sprite which is then loaded much faster and is cached and which is a great achievement, I think that we have this automated and we want to even automate it more. And we have, on top of that, we have also a preview application as one of the main things that you do during a daily routine is searching for icons. So on KitLab Pages we are hosting this small view and next application where you can search for icons, simply click on it and you can copy it so that you can insert it directly in your code and reuse it. So all our illustrations that we are using and are in the RIP at the moment are previewable. Yeah, another big thing that we stepped into was GEO. So the AC team is now taking care of the GEO front-end. So if you have anything regarding that, simply ping me and you can find resources or can plan stuff ahead. Another big thing at the moment is for us hiring and I will hand over to KitLab. Yeah, so between the two of our teams, we're hiring five front-end engineers. We're revamping the hiring process. Docs are forthcoming. We've already implemented, in part, some of this revamped and it's already showing really good results in the candidates that we're getting. So we'll share those docs shortly. Team concerns, Tim. Yeah, still that's something that we still have in July. So especially with the performance, we still see a lot of stuff that we can improve and that we want to improve. But now we are getting more to the point that especially stuff that we need also from infrastructure and the back-end that needs optimization like G-CIP in finalization, the CDN finalization, where we are very close to activating the CDN. And the other big topic is resizing images. So resizing images to the exercise that we are displaying so that we push forward on those topics because they would be the next big, big, big steps to improve our front-end rendering performance overall and also reduce most probably the load that gets on our servers. So what are we currently focusing on? Those are our quarter four OKRs. And we have one of the biggest OKRs is simply crush 280 bucks and 120 new unit tests for both teams. Yeah, Jacob, give us a little bit of an overview. Yeah, so we're just splitting up between the two teams. We did some for me approximation estimation and we figured this is how much we can do. So it comes out to about two bugs per developer per week for the whole quarter. And we've actually been able to step ahead of this and we're getting ahead of this estimation. So we're actually doing really well in this. So this should really just absolutely tackle a ton of the major bugs that we're having. And then we're also getting ready for Webpack by we're doing these modules. You can see in the issue what we're doing there. We're taking the global code and we're making it modular. We have a huge list of things that we need to do in there. And we're just going to go in through them one by one and taking the situations where the code is global. And we're just turning them into modules and we just submit a merger quest for each one of them.  So, Tim. Yeah, one that's especially the modularization will be a big step forward for creating the next bundles, which is another topic that I'm focusing on. The AC team, which is the library updates and that pack bundle optimization, which does what does this mean? We are moving all our non-managed libraries that are still in the code base to yarn. We remove unnecessary libraries. So we take a look. Is this by now doable with just vanilla chower, script, et cetera? We are in the process of updating all these libraries to their latest version. And we're doing one merger quest per library so that they are done in parallel. Some of them work like you upgrade them, works. Some, a lot of others also have major changes because they are simply a little bit older. But what we want to gain out of this is on one hand performance improvements. We want to reduce also the dependency trees so that some libraries are dependent on a version of two and the other one is dependent on a version of four. So if we upgrade all of these libraries, most probably we'll get to the same dependencies of these background libraries. We get a lot of free packages from them. So I've seen already simply with the first three library updates, I was able to close also two free bugs simply by doing the upgrade because they were fixed in the library. And we should be also able to get smaller bundles over this task because a lot of libraries are now updated to the point that they use vanilla stuff that they don't need so many dependencies. So they're also getting sometimes smaller. And another big thing is then after these two big major steps to create really focused bundles on the specific pages that we need that we do more intelligent pre-loading that we do perhaps also loading only of bundles that are specific to specific browsers so that we only by example do transformation of the code to IE 11 but only then if you have IE 11 have a separate package and stuff like that we have much more possibilities in the future. As I said before, a big task is the SVG icons. But of course this means replacing a lot of icons and we have really, really, really many references to icons. So our current target at the moment is mainly to go from all the inline trace icons. So what was done before is that each SVG icon was simply inline into the HTML. What does this mean? So if you had the same icon, this was inline like 20, 30 times but was simply loading the HTML size. And simply by having now just a reference we are able to reduce the HTML size again. And we are also in that process getting rid of duplicate icons. We are updating the icons to all the wonderful icons that were created by Hazel so that we have really our own GitLab icon set. And in the next step and also in parallel at the moment, we are replacing font awesome icons which are like general system icons to become these GitLab special icons. Jacob. And sorry, yeah, thanks. For the DC side, we had refactored the issue comments in Vue.js and the cool thing about it was that it was kind of like a seamless process. Most people didn't know except that the issue comments just sped up a lot. And we have not been getting the same comments that the issue comments are slow and everything. So still the merger quest discussion comments are slow and that's the next big thing is to refactor all those. And that is a process that's currently underway to make huge improvements to the performance of the merger quest discussions because currently for larger discussions it's a huge pain in the butt. But once you refactor it to Vue.js then you can begin doing a lot of the other huge performance improvements from there because it's a good base, it's a good foundation to work from.  It's a little tougher than doing the issue comments because it has a lot more to it. But it's just going to make such a huge difference for the future of GitLab and the speed. So then finally there's any questions, feel free to ask them out loud or post them in the chat and give you a little bit. So thank you everyone. If there are no more questions until the count of three I am glad to end this from a functional group update. So it's a three, it's a two, it's a one. There is a dog, you get the additional bonus dog. See you in the team card. Thanks everyone.


Live from Las Vegas, it's theCUBE. Covering InterConnect 2017, brought to you by IBM. Okay, welcome back everyone. We're live here in Las Vegas at the Mandalay Bay for IBM InterConnect 2017, exclusive CUBE coverage. I'm John Furrier, my co-host, Dave Vellante, our next guest is Dr. Angel Diaz, who's the Vice President of Developer Technology. Also, you know him from the open source world. Great to see you again. Thanks for spending the time with us. Thank you. Boy, blockchain, open source, booming, cloud native, booming, hyper cloud, brute force, but rolling strong, enterprise strong, if you will, as your CEO, Jeannie was talking about yesterday. Give us the update on what's going on with technology and developers, because this is something that you guys, you personally have been spending a lot of time with. Developer traction, what's the update? Well, you know, if you look at history, there's been this democratization of technology, right? Everything from object-oriented programming to the internet, where we realized, if we created open communities, you can build more skill, more value, create more innovation, and each one of these layers, there's, you create abstractions. You reduce the constant count of what developers need to know to get work done, and it's all about getting work done faster. So, you know, we've been systematically around cloud, data, and AI, working really hard to make sure that you have open source communities to support those, whether it's in things like compute storage and network, platformers of service, like, say, cloud foundry, what we're doing around the open container initiatives and the cloud native computing foundation to all the things you see in the data space and everywhere else. So, it's real exciting, and it's real important for developers. So, two hot trends that we're tracking, obviously, are pretty obvious. That's machine learning in cloud, really hand-in-glove to get these machine learning really powering the AI, hitting IoT all the way up to apps and wearables and whatnot, autonomous vehicles, goes on and on. The other one is Kubernetes, and Kubernetes, the rise of Kubernetes has really brought the containers to a whole another level around multi-cloud. People might not know it, but you were involved in the CNCF formation, which was Kubernetes movement, which was KubeCon, then became part of the Linux Foundation. So, IBM has had their hand in these two trends pretty heavily. Oh, yeah, absolutely. Give the perspective, because the Kubernetes one, in particular, we'll come back to the machine learning, but Kubernetes is powering a whole other abstraction layer around helping containers go to the next level with microservices where the developer equations changes, not just the person writing code anymore. A person writing code throws off an application that has its own life and relationship to other services in the community, which also has analytics tied to it. So, you're seeing a changing dynamic on this potential with Kubernetes. How important is Kubernetes, and what is the real impact? No, it is an important, and what there actually is, is a couple of, I think, application architecture trends that are fundamentally changing how we build applications. So, one of them I'll call, let's call it code first. This is where you don't even think about the Kubernetes layer.  That's kind of the platform. Something like Cloud Foundry addresses the code first approach. Then there's the whole event-driven architecture world, serverless, where it has a particular use case, event-driven, standing stuff up and down, dealing with many types of inputs, running rules, and then you have, say, the more transactional type applications, microservices, right? These three things, when combined, allows you to kind of break the shackles of the monolith of old application architectures, and build things the way that best suit your application model, and then come together in a much more coherent way. Specifically in Kubernetes, and that whole container stack. You think about it. Initially, when containers have been around a long time, as we all know, and Docker did a great job in making container accessible and easy, right? And we work really closely with them to create some open source activities around the base container definitions, the open container initiative in the Linux Foundation. But of course that wasn't enough. We need to then start to build and manage been the orchestration around that, so we teamed up with others and started to kind of build this Kubernetes-based community. Docker just recently brought container D into the CNCF as well as another layer. There, within the equation. But by building this kind of, this almost this Russian doll of capability, right? You know, you're able to go from one paradigm, whether it's a serverless paradigm running containers, or having your microservices become used in serverless, or having code first kickoff, something you could have these things work well together. And I think that's the most exciting part of what we're doing in Kubernetes, what we're doing in serverless, and what we're doing, saying this code first world. So development's always been kind of an art form. How is that art form evolving and changing as these trends that you're describing? That's a great, I love that, because I always think of ourselves as computer science artists. You might even have spoken about that, that's awesome. Yeah, because it is an art form, right? Your screen is your canvas, right? And colors are the services that you can bring in to build and the API calls, right? And what's great is that your canvas never ends because you have, say, a cloud infrastructure, which is infinitely scalable or something, right? So, yeah, but the definition of the developer's changing because we're kind of in this next phase of lowering concept count. Remember I told you this lowering of concept count?  You know, as a developer today, you don't have to buy as many of those books because a lot of it's done in the API calls that you've used. You know, you don't write sorting algorithms any more. Guess what? You don't need to do speech-to-text algorithms. You don't need to do sentiment analysis algorithms. So, the developer's becoming a cognitive developer and a data science developer in addition to a application developer. And that is the future. And it's really important that folks skill up because the demand has increased dramatically in those areas and the need has increased as well. So it's very exciting. So the thing about that point about cognitive developer is that in the API calls and we went on the side of those books is the codes out there already in open source and machine learning is a great example. Look at what machine learning is doing. Because now you have machine learning. It used to be an art and a science. You had to be a great computer scientist and understand algorithms and almost have that artistic view. But now as more and more machine learning comes out, you can still write custom machine learning but still build on libraries that are already out there. Exactly, exactly. And then, so what does that do? That reduces the time it takes to get something done, right? And it increases the quality of what you're building, right? Because, you know, the sub-routainer, this library has been used by thousands of other people. It's probably going to work pretty well for your use case, right? But I can't stress the importance of this moment you brought up. The cognitive data application developer coming together.  Here we are again, and it's starting to explode with the microservices, et cetera, all the stuff you mentioned. But when you add cognitive and data to the equation, is this going to be a bigger explosion than the web days? So we were talking with some of the guys from IBM's, GBS, the Global Business Services and the GTS Global Technology Services, and interesting things coming out. So if you take what you're saying forward in the open innovation model, you got business model stacks and technology stacks, so process stacks, you know, business process and then technology, and they now have to go hand in hand. So if you take what you're saying about, you know, open source, open source innovation, and you had to say blockchain to it, you now have another developer type. So the cognitive piece is also contributing to what looks like to be a home run with blockchain going open source with a ledger. So now you have the process and the stacks coming together. So now it's almost the holy grail. It used to be this, hey, those business process guys, they did stuff, and then the guys coded it out, filled stacks. Now they're interdependent a bit. Yeah, well, I mean, what's really neat about blockchain is I always think of, to this point, about business processes. You know, business processes have always been hard to change, right? You know, once you have partners in your ecosystem, it's hard to change. You know, things like APIs and all the technology allows it to be much quicker now, but with blockchain, you don't need a human involved in the decision of who's in your partner network as long as they're trusted, right? And I remember when Jerry Cuomo and Chris Ferris and my team, he's the chairman of the blockchain, of the Hyperledger Group. We're talking initially when we kind of brought it to the Linux Foundation. You know, we were talking a lot about transactions because that was one of the initial use cases, but we always kind of knew that there's a lot of other use cases for this, right? In addition to that. I mean, you know, the government of China is using blockchain to deal with carbon emissions and they have essentially an economy where folks can trade essentially carbon units to make sure that as an industry segment, they don't go over, as an example. So you can have people coming in and out of your business process in a much more fluid way. What fascinates me about blockchain is great point is it takes the whole ecosystem to another level because now what they make blockchain successful, ecosystem components huge. That's a community model. That's just like open source. So now you got the confluence of open source software, now with people and writing just software and now microservices that interact with other microservices, not agile within a company, agile within other developers. So you have a data piece that ties that together. But you also have the process and potential business model disruption of blockchain. So those two things are interesting to me. But it's a community role. In your expert opinion on the community piece, how do you think the community will evolve to this new dynamic? You think it's going to take the same straight line growth of open source. You think there's going to be a different twist to it. You mentioned this new persona is already developing with cognitive, how do you see that happen? So I think there's two, let's say three points. So the first of all, on strengthening the community, what we've been trying to do architecturally is build an open innovation platform. So all the elements that make up cloud data AI are open so that people can innovate, skills can grow and you can go faster. So the communities are actually working together. So you see lots of interlocks and subcommittees and subgroups within teams, right? Just like this kind of nesting of technology. So I think that's one mega trend that will continue for the open source basically. Integrated communities, they do their own thing but they don't, to your point earlier, they don't reinvent the wheel, right? If I'm in cloud foundry and I need a container model, why am I going to create my own? I'll just use the open compute initiative container model. You know what I'm saying? And the integration point is that collaboration. Is that collaboration, right? And so we've started to see this a lot and I think that's the next mega trend. The second is when you just look at developers, in all this conversation we've been talking about all the technology, but the most important thing, even more so than all of this stuff, is the how. How do I actually use the technology? What is the development methodology of how I, at scale, build these applications?  You know, we at IBM announced about a year and a half ago at Gene Kim's summit. He does DevOps, you know, the garage method. And we open sourced it, which is a methodology of how you apply agile and all the stuff we've learned in open source to actually using this technology in a productive way at scale.  But, you know, once you hire, you know, say you got 10 people in San Francisco, you hire one in San Ramon, that person might also be on Mars. Because if you're not on the team there, you're not in the decision process. Well, that's not reality. Open source is not that way. The world doesn't behave that way. So this methodology talks about the how is really important. And then the third thing is, you know, if you can help developers, you know, interlaw communities, you know, teach them about the how to do this effectively, then they want samples to fork and go. Technology, journeys, physical code. So what you're trying to see a lot of us in open source and even IBM is provide starters that show people how to use the technology, add the methodology, and then help them on their journey to get value. So at the base level, there's a whole new set of skills that are emerging. You mentioned the O'Reilly books before. It was sort of a sequential learning process. And it seems very non-linear now. So what do you recommend for people? How do they go about, you know, capturing, you know, knowledge as to where they start?  The first one is directly in the open source communities. You know, you go to any open source community and there's a plethora of information, but more so if you hang out in the right places, you know, IRC channels, wherever, people are more than willing to help you. So, you know, you can get education for free if you participate and contribute, become a good member of a community. So, and in fact, from a career perspective today, that's what developers want. They want that feeling of being part of something. They want the merit badge that you get for being a core committer, the pride that comes with that. You know, and frankly, the marketability of yourself as a developer. So, that's probably the first place. You know, the second is, look, at IBM, we spend a huge amount of time trying to help developers be productive, especially in open source as we started this conversation. So, we have a place, developer.ibm.com, okay?  You can see the methodologies that I spoke about that is open and then you can also get the starter code journeys that I spoke about. It's how big it started. And that's coming out in April, right? That's right, that's right. The journeys. But you can go now and start looking at that at developer.ibm.com and see, and not all of it is IBM content. This is not IBM propaganda here, right? It is, you know. Real world examples. It's real world examples. It's real open source communities that either, you know, we've helped, we've shepherded along, and it is a great place to at least get your head around the space and then you can subset it, right? Yeah, so tell us about the last couple of minutes we have. What IBM's doing right now? We're from a technology and for developers. What are you guys doing to help developers today? Give the message from what IBM's doing. What's, what are you guys doing? What's your North Star? What's the vision and some of the things you're doing in the marketplace that people can get involved in? You mentioned the garage as one. I'm sure there's others. Yeah, I mean, look, we are maniacally focused on helping developers get value, get stuff done. Okay, that's what they want to do. That's what our clients want to do. And that's what Terms is on, right?  You build your drawing, you want to look at it. You want it to be beautiful. You want others to admire it, right? So if we could help you do that, you will be a better for it, and we will be better for it.  Then they're going to be fine, you know? No, no, no, that's not too fine. It's subjective, but get value of what they do. So how do they get value? They get value by open technologies and how we've built essentially cloud data AI, right? So our technology adds value, okay? We get value out of the methodology. We help them do this, this is around DevOps, tooling around it, and then these starters, these on-ramps, right, to getting started. I got to ask you my final question, more personal one. And Dave and I talk about this all the time off camera. You know, being an older guy, computer science guy, you're seeing stuff now that was once a major barrier, whether it's getting access to massive compute, machine learning libraries, the composability of the building blocks that are out there to create art, if you will. It's phenomenal, I mean, to me it's like the most amazing time to be a computer scientist or in tech and general building stuff. So I got to ask you, what are you jazzed up about? I mean, looking back in today's world, the young guns that are coming onto the scene, not knowing that we walked barefoot in the snow to school, back in the old days. I mean, this is like, it's a pretty awesome environment right now. Just give a personal color on your take on that, to change and the opportunity. Yeah, so first of all, when you mentioned older guys, you're referring to yourselves, right? Because this is my first year. I just graduated, there's nothing old here, guys, all right? You can still go to Sembler, come on, let's go. What is that? Look, you know, there's two things I'm going to say, two sides of the equation. First of all, the fundamentals of computer science never go away, all right? You know, I still teach undergrad seminars and so forth. And you have to know the fundamentals of computer science. That does not go away because you can write bad code. Okay, so no matter what you're doing or how many abstractions you have, there are fundamental principles you need to understand. And that guides you in building better art, okay? Now, putting that aside, you know, there is less that you need to know all the time to get your job done and what excites me the most. So back when we worked on the web in the early 90s and the markup languages, right? And I see some of the audience over there are no who helped author some of the original web standards with me. And he was with the W3C. The use cases for math, for the web, was to disseminate physics. That's why Tim did it, right? The use case for XML. I was co-chair of the mathematical markup language. I was the use case for XML. We had no idea that we would be using these same protocols to power all the apps on your phone. I could not imagine that, okay? If I would've, trust me, I would've done something. We didn't know. So what excites me the most is not being able to imagine what people are going to be able to create because we are so much more advanced than we were there in terms of levels of abstraction. That's the exciting part. All right, Dr. Angel Diaz, great to have you in the queue. Great inspiration. Great time to be a developer. Great time to be building stuff. IOT, and we even get to IOT. I mean, the prospects of what's happening in industrialization, I mean, just a pretty amazing augmented intelligence, artificial intelligence, machine learning, really the perfect storm for innovation, obviously all in the open. Awesome stuff. Thanks for coming on theCUBE. We appreciate it. IOT and making it happen with developers always have been big open source proponents, and they only got the tools, they got the garages for building. I'm John Furrier, Dave Vellano. Stay with us. We've got some great interviews. We'll be right back with more after this short break.