Hello, thank you all for staying here and I'm very glad to have this opportunity to give a talk at Apache Conference in North America and today I will give a talk about Apache Commence Cripto, another view of Apache Commence. Okay, my name is Dapeng and I'm a Committer of Apache Commence Cripto and I'm also a PMC member of Apache Sentry and I'm focused on big data and the security and Shenna is my colleague and he contributed many improvements on Apache Commence Cripto and Apache Peak and he also contributed some improvements on open JDK and it's a little pity that Shenna couldn't come here so I will give this talk by myself. Okay, here's the agenda of this talk. First of all, before we discuss Cripto, it's better to take a look at Cripto graphic and then we will talk about what is the Commence Cripto and why did they create such a library and after that I will try to give a bit deeper and we will talk about the performance secret and lastly, I will show you some API, I will show you how Commence Cripto is securing big data and I also show you some API samples and I have a question, how many of you are familiar with JCE and Criptographic? Okay, no, okay, okay, so no, no, I will give a brief introduction about Cripto graphic. Okay, Cripto graphic is a big topic, so I'm going to cover all the first things. Let's only recover some Cripto primitives and the low-level algorithms. They can be classified as the following types. Semantic encryption is used for confidentiality, DES, tribal DES, RC4-AES, popular semantic algorithms and asymmetric encryption is used for authentication and K exchange such as RAC and Deep Helmets and ECC and so on and HACI algorithm is used for provide digital fingerprint for message integrity and authenticated encryption is fundamental of Cripto primitives. It is a convention of confidentiality and integrity and then random number generator and is used for or used for generate the key and the IV for the curve graphic and it has the pseudo number generator and the true random number generator and before we talk about low-level algorithms, there is a concept mode of the operations and it allows the self-output to avoid creating identical input data and there are some modes like CTR mode and CPC mode and GCN mode. Okay, let's get back to what is the RPG Commons Cripto and this is a high-performance Java Cripto graphic library which is optimized by Intel AES technology. And it weps open SL engine and it is high-performance and we use the GNI between the Java and the native and we also support the GNI and okay here is the history of Commons Cripto and Intel big data team worked with Apache hardware community to improve the performance of HDFS transparent encryption. First it is called the HDFS Cripto codec and which is based on Intel AES technology and open SL codec and it could improve the performance by 17 times over and this is a significant performance improvement and later I will also give a talk about Intel AES technology. Okay, we found other projects also have in-question requirements such as Spark HDFS. So we created a library Chimera project. We wanted the library to along other big data projects to easily contributed the advance for Intel AES technology and this project will handle the effects of the compiling of native library of Linux. Okay and we found for some reason we found Apache Commons Cripto, we found Apache Commons community would be the best place to host this project and also many PMC and commuters from Apache Commons community have improved this project and such as the coder refactor documentation, coders dialing under the release many things and let's look at the features of Apcom's Cripto and it provides low-level algorithms currently only AES right now and you can use it to encrypt your data and implement your own Cripto graphic proposals and it also provides streaming API. You can use the high-level API to encrypt and decrypt your data from stream and channel and we also provide a random API. It has a true random number generator. We say the accelerator by hardware. Okay you may have a question if we already have GCE and then why did we create another view? GCE support a lot of algorithms and GCE is also very powerful so I will give a talk about the background and the motivation of our project. Currently some Java Cripto graphic proposals such as the SASO and are using in-efficient and weak low-level algorithms 3DS, RC4, etc. and we know that Hadoop and Spark users are on very big data and if the low-level algorithms are weak and the data will be renewable to attack and what's more the performance of GCE is bottleneck. We need to take security and performance into account. GCE is impeccable for big data users. Okay then which algorithm should we choose? DS is insecure and broken and triple DS is too slow and RC4 is well known for its speed. However recently it is considered to be insecure. It was prohibited by RFC and both Microsoft and Mozilla recommend developer disabling RC4. So when it comes to security the winner is undoubtedly AES. AES is secure and it's considered as an industry standard and however the problem is that the performance of AES in GCE is not good enough for big data users. Performance does the matter here. Okay let's look at the benchmark numbers. Here is the throughput of the symmetric encryption algorithms from this chart we can see that triple DS is very slow and RC4 which is famous for its speed is a bit faster than AES in GDK8 and we can clearly see that the performance of AES in common script is outstanding and it can more than a gigabyte per second. It can be about four times faster than RC4. Okay let's look at the authenticated encryption and now the ecosystem is almost using HMAC Shell and HMAC MD5 and AES DCM mode is secure. It was designed for high performance and however nobody want to use it because it's not supporting GDK7 and its performance in GDK8 is awful and it improve in GDK9 but it still not good enough. We can clearly see that the common crypto AES DCM mode is very fast about six times faster than RC4 and HMAC Shell 1 close to one gigabyte per second. Okay in some case let's say application generates a pseudo number key and send it to client and a detector can guess the key by observing the sequence of output and therefore pseudo number generators are considered to be insecure and the random class in GDK is a pseudo number generator and it is insecure. The secure random in GDK is strong and crypto random in common script library is true number generator and both of them are strong and from the performance level common script is the winner and we can see that common script is about 13 times faster than the secure random of Java. Okay here comes the conclusion common script is secure and fast and it's a better alternative okay and using common script to secure your big data and no performance bottleneck animal and you may ask what make common script so fast okay here is the performance secret and the secret one AES AI technology AI means new instruction and there are a few instructions and let's take one of the instructions AES in C for example the specification document says the AES algorithm have about 10 to 40 rounds and each round consists of several processing steps and these steps are complex and time consuming and which AES AI only a single instruction and the CPU will do all this stuff for you it will improve the performance remarkably and the AES AI is also enabled in JVM and since GDK 8 update 45 so why is the common script still faster than GDK and still five to seven times faster than GDK okay here comes the secret two pipeline and instruction level parallelism and the one instruction takes seven CPU clock cycles let's look at the upper figure and the destination trajectory in two instructions are the same and the data dependency exists and the second instruction have to wait about seven CPU seven CPU clock cycles until the first instruction have finished and if we break down if we break the data dependency as the logo finger shows the destination rejector are different and then all the instructions can be skewed in parallel okay and there are other reasons why common script is faster than GDK and in GDK 8 AES is not well optimized and UPSR has a lot of tricky signals and you may ask why they not open optimized GVM and GVM is becoming faster in GDK 9 we can see the hardware acceleration is enabled in GDK 9 and we also contributed to patch and the patch is contributed by my colleague Shenda and parallelization optimization into open GDK 9 and the performance of AES CBC and CTR mode is close to open SL now but the bad news is we discussed in the last section and we need we need to wait a few we need to wait to adopt GVM in our software production yeah so so we we only make the data optimized it's better to use the common script and which is optimized okay here is our work of common script and Intel AES and technology and the and the big data user are major for security security and performance Hadoop and SPAC users counterweighted counterweighted counterweighted to use the common script and AES technology and the they this work are all related work and the first and the second is about the SPAC and the software and the RPC in SPAC is using common script to to encrypt the data from a wide attack and it also bring a lot of performance gain and the hdfs in quick but uh transpire no game question is also used uh Intel AES and anti technology which is boring uh about uh 17 times the performance and uh and hbase uh in hbase uh may improve the transpire in the table and the column finally may increase with common script and it also show a greater performance gain in the benchmark and we also improve the RPC increase of hbase and the performance is also very good and currently we still have a 2GRA in development uh one is open optimizing the Hadoop RPC encryption performance uh it is something like the all worker in hbase and uh and we are also working on the GRA for replacing Hadoop crypto uh codec with Apache common script okay let's see some more API samples and here is the API samples and the upper sample is the random number uh random generator uh it is similar to gdk and uh use factory to get an instance and just fill the ivy and the key and and the and the cipher the soft cipher is the same same and use the factory to get a cipher instance and and pass a mode of uh pass a mode yes and uh you need cipher and to final and close the cipher okay uh here is uh example for decryption decryption uh is the almost the same and uh adjust uh uh set different mode and this is different uh cipher cipher cipher the method for cipher is the same but the mode is different uh cipher mode is the decrypt mode and also need key and ivy uh we must close the cipher uh when we finish the encryption okay uh here is the stream sample and uh it is also uh and uh we we we can see uh the stream api can secure the stream and channel data and the stream is based on the cipher cipher is based on the the mode and currently uh how do uh how do uh using the uh sorry spark spark are using this okay and here is the status uh of uh of our project and uh and the feature work currently is the the first release uh the first release is uh is released and currently the cbc and the ctr mode is supported and uh ccm mode will be uh released in next release and uh we we will also uh planning to cover a model for this uh such as the support asymmetric key uh algorithms uh such as the rsa rsa and seta and uh and if you are uh interested in contributing to commas crypto and if you are uh uh you can create a jira and create a request on github and you can also send an email at the mail list of abaji commas okay okay it's a little shout thank you thank you


Hi. Can you hear me well? Yeah. Good. Okay. So, as Daniel said, my name is Nikolai. I work for automatic. I have a small website at techshoplay.me, and you can find me as Nikolai beyond Twitter. A lot of you might have already heard, there is a huge bus around the forthcoming REST API in WordPress, and there are many projects using REST API in one way or another, like Calypso or many other people are already building stuff with REST API. And the most common use case for the REST API is building single-page applications. These are JavaScript-based applications running mostly in the browser as a front-end and using something like the REST API as a back-end. So, before we go even deeper, first, why would we even want to use single-page applications? Because they seem like a totally different way of building web apps. They seem a bit different from WordPress itself, and most of the people here have been building things in WordPress. Why do we need to change even something? Well, there are two main reasons, and one of them is that single-page applications can be a lot faster, especially in cases where the user stays on our website a lot longer, because we don't have to reload everything on every single click. It makes them often at least feel so much faster than traditional web applications. And also, just because all of the transitions can be a lot quicker and everything lives in the browser, we have a lot more flexibility. This means that single-page applications can be a lot more engaging, too. Because we can do so much stuff with the user when we're liberated from the constant request to the server. And it was pretty obvious when we launched Calypso, which is the new WordPress.com front-end that it just felt so much, so much faster, and we could do a lot more things on the front-end. If you want, you can just go to WordPress.com and test it out, or not. It's fine. So now that we know why would we want to build a single-page applications, I would just like to take a step back quickly and talk about something else. I would like to talk about change. So if we know one thing about people, is that they hate change.  And also, people are not incredibly good at following changing states as you might see, and as you might have seen on the streets. Just for our nature, it is very hard to follow what is going on. We are much, much better suited for a slower pace of life where things almost do not change. It is just an evolution thing. We very, very much prefer sitting and observing. And actually, change is exactly the difference between classic web applications and single-page web applications. In a classic web app, let's take the WordPress admin.  So every time you make a change, the whole page reloads. We just trash everything we have and we start fresh. Which also historically has been very, very common. Instead of change something, let's do a revolution and change everything. And this is how classic web applications work. And this is actually pretty, pretty convenient. However, in single-page applications, we don't start from scratch at every single request. Instead, we have to just apply a small number of changes to the UI. We have to go for some more data to the server and come back and then change only this small bit that changed. So it very often leads to huge amounts of complexity, just it's mind-blowing and things very, very quickly become a lot more complicated. And this is why, if you have done a little bit more complicated things with jQuery in the browser, it very quickly becomes this huge mess of callbacks, updates to the UI, fetches. And it is just hard because it is our nature to not be able to easily follow and to deal with change. And here comes React. So React comes from Facebook and it is a small UI open source library. React is not a framework unlike Angular or Amber. It is just a UI library. It just deals with the changes in our UI, in our HTML inside the browser. Now we're going to show a little bit of code. It's nothing too complicated, so do not be scared even if you are not an incredibly serious developer. It's so fine. The core part of React are so-called components. And each component is something actually pretty simple. The main thing in the component is a single method called render. Its only goal is to return the markup for this component, the HTML. As you might see, this HTML here doesn't really look a lot like JavaScript. And you'll be right. This is actually something called JSX, which is an extension. Again, it comes from Facebook. And it allows us to write tags instead of some weird function calls and objects. And it makes it so much easier to work with designers and people who just know HTML like all of us probably. Internally, all of this is actually translated to plain and simple JavaScript objects. And then it is executed by the browser. Something really cool about components is that they can be nested. Let's say we have a post component and inside we want to have a post meta. And this is not magic. Post meta is just a variable which leads to another React component. It's nothing more. So our custom components work at the same level as the HTML elements and we can nest and mix them as much as we want. We can also pass our arguments to components which in JSX look like HTML attributes and they're called props. And all of the props can be accessed inside of the component in this dot props. It's pretty simple. Sometimes a component needs to access that data which does not come from the outside, but it sometimes wants to keep its own state. For example, let's say we have the post meta and it can be hidden or it can be shown. So it makes a lot more sense to keep whether it's hidden, not in props, but somewhere deep inside as something called state. And when if we want to change something in our component, let's say we want to have a button which shows and hides the post meta bits. We can use something called this set state. And we can change the internal state. And here comes probably the most interesting bits of React is that we don't need to actually change the UI ourselves. The moment we change the data, React is smart enough to render the HTML itself. So we don't have to do absolutely anything. And this, to be honest, was the main reason we started using React because it makes all of those interactions so much simpler for the developer. I'm sure a lot of you have used jQuery style. UI is where if a button is clicked, when you click a button, you need to check the current state and sometimes show a certain piece, sometimes hide the certain piece. And especially in cases where you have more than one thing to show and hide, it almost always leads to some inconsistencies which are very, very hard to debug. So I showed you the main things about components. I want to go a little bit deeper about why components can be really cool. The first reason you kind of already saw is that components are composable. We can nest them incredibly easy and as deep as we want. We can have a master bar and then inside we have a user greeting. Inside we have an avatar. Inside we have some text. Inside we have some logout link. We don't need any boilerplate. Every component is a first-class citizen and it doesn't matter if it comes from the browser like a paragraph or a span or a div or it comes from one of our colleagues who wrote a logout link component. And exactly for this reason, components make it really easy to see the building blocks of an application. Usually when you are viewed a source of a typical web page, you see a lot of diffs with a lot of classes and you don't always know what those, what exactly do those mean. And with React, it is really easy to see the structure of our applications because again all of the boilerplate is very well hidden behind those components. See, you can have a master bar, then you can have a masthead, then you can have a navigation which can and any one of those can mean whatever you want. It can have as much HTML or JavaScript as you want. And of course inside you can have just plain paragraphs and text. Something incredibly cool is there is a Chrome and I think a Firefox extension, too, which lets you actually explore on a living web page in your browser the React components. Actually, this is from WordPress.com. I think, yeah, this is from Calypso where it's so much easier to see, oh, here is a post component which has the site ID. Here is what kind of posts it is showing. Here is who is the author. It is showing images. And then here is a list of all of the posts inside an infinite list. So if you're a developer, if you want to do an infinite list, you just put everything inside an infinite list component, you just tell it how to fetch new ones and that's about it. And all of those look exactly like HTML. Another great advantage of using components is that since they are very well isolated, they are so much easier to test. And by testing, I mostly mean no automated unit testing or integration testing, whatever. I'm kind of interested in security stuff sometimes. So it is very useful that components really help with React itself. They really help with text assess problems which are by far the most common vulnerability on the web these days. Anytime you pass any data to props or to state and use it inside a JSX, it is automatically basically escaped because React assumes you pass text. Of course, you sometimes want to pass real HTML. Let's say you need some markdown stuff or some HTML is coming from the database and React is pretty flexible and it lets you do this. However, you need to do it like this. You need to pass the actual, the raw HTML as a prop code dangerously set in our HTML. Which will probably remind you that if you really do not know what you're doing, it may be slightly dangerous. So this has been really, really useful. No XSS. Another cool thing about components is that they're not templates. They're not using some underpowered weird templating language. They're using plain JavaScript. We can write loops. We can write if clauses. And it's so just JavaScript. We don't have to learn too much. And a lot of designers these days already know a little bit of JavaScript and PHP anyway. Also, we can use all of our functions or libraries directly there. We don't have to import them in weird ways. Components are also incredibly easily reusable. Let's say we have a comment and in comments we have avatars, right? Let's say we build an avatar component where we pass the email and it builds all of the gravatar stuff. We can incredibly easily reuse exactly the same avatar component somewhere else. Let's say we can have it in the comments. We can have it in the post meta to use the author email. And we don't have to write the whole boilerplate with md5 of the email where we always forget to convert the email to a lower case. And sometimes it doesn't work. Also, let's say we want the avatar to do something special on hover. I guess you've seen those where it shows your, let's say, your gravatar profile or your website profile. So if we were using the same avatar component everywhere else, it would be really easy to just change it in one place and voila, we have this hover functionality everywhere else on the website. Because every component includes both the markup, both the HTML and the JavaScript needed for all of the, usually it is mostly the JavaScript needed for all of the event handlers and sometimes doing some requests or stuff like this. And it's very handy that a component includes both because they're in one place. Except that for many, many years, people have been telling us that we should be keeping our logic and our markup separate, right? And we all know that separation of concerns is good. However, I have a few questions. First, how often do we need an event handler and how often do we use it without the HTML it is attached to? Or how often do we need a DOM element without any of the event handlers? And to be honest, the answer is almost never. So HTML and the display logic are actually the same concern. However, for most people, the problem is that JavaScript and HTML are different technologies. And this is why there is this urge to separate them. But we're not separating technologies here, because HTML and display logic, again, are exactly the same concern. One of them doesn't really mean much without the other. Because why do we care about a button if we don't know what it does? So they're just the same concern and they belong together. And from my experience, this works incredibly well. Okay. I think I showed you a lot on components. However, we haven't mentioned something. We haven't mentioned the elephant in the room. It is the whole re-rendering magic. And it's actually really like magic. You change some data here and your UI updates automatically. We have done this before or we have tried to do something like this with Backbone. And it had few problems. First, everything was moving around because every time we threw away the whole component. But usually, the biggest problem is that most people think it is just incredibly slow. Because on every small change, if we get rid of everything and try it again, to be something like the classic web applications, just doing this very, very often. However, it turns out that in practice, it is very fast. The moment you change something, the UI updates automatically no weird resizing and just very fast. And the reason it is very fast is something called a virtual DOM. So instead of removing everything and recreating the whole component, virtual DOM makes things a lot smarter. So every time we want to make a change, so every component that is affected, first, we call it's render method, which we saw before. And the render method usually doesn't do much.  And ideally, a render method will do only this. It will be fast because it is called very often. It will not have any side effects. Render methods do not do requests or stuff like this. Then, render returns, as you saw, a tree of JavaScript objects. Then, React keeps the previous version of this component. And it makes a diff. It calculates the difference between those two trees. And sees, oh, is there any change? And if there isn't any change, it just doesn't do anything. But let's say, oh, they added a new diff tag here. So then, when it has all of the changes, React computes the minimum set of DOM changes it needs to do to take the page from the previous UI state to the next one. To take it from the previous version of the HTML to the next one. And there are some pretty smart algorithms which lets us combine changes, for example. Instead of adding a million li items one by one, it says, oh, I'll just add them together. Also, it batches a few dates which have been done very close to each other. Let's say, first, you click something and it needs to both add a few list items, but also update a counter somewhere up in the header. React will probably wait a bit. And on the next redrawing frame of the browser, it will just do them together. And it makes it so much faster. The virtual DOM, however, is not only useful for faster speed. Because we are not dealing with the browser DOM anymore and we have our own structure, we can do a lot of really, really cool things. For example, we can just render these pages on the server. We are actually experimenting with this in Galypso for some logged out pages. And it can be really fast because, first, you render the page on the server, you serve it to the client and then React picks up all of the changes. So you don't have this massive amount of waiting on the first load. We can also use this virtual DOM to render things not only in HTML, but in SVG, VML, we can use a canvas. If we want to build an avatar component, if we want to add a moustache props or a moustache option, we can very easily do it still within the virtual DOM but use a canvas. And it can still look like a normal HTML component. Also, we can run things in a web worker. This is a new thing in browsers where it can run things in parallel. So we can just render something or we can run the different algorithms which are sometimes complicated. We can just run them in a web worker. I told you a lot about components, but probably my favorite and last thing I promise is that they're very declarative. Instead of telling it what to do, we just say here is the HTML we expect. It's like imagine instead of following a recipe or instead of reading a recipe and following it, imagine that you can just lay out all of the ingredients on the table, then you show somebody the end result, and magic, you get the cupcakes. And React is actually something similar. You just explain here is the HTML I want. And it depends on some state. And every time the state changes, React makes sure we get exactly what we asked for. And as an added benefit, this is the final version of the HTML. There is no chance that some jQuery bit in the far corner of our application will change our prop, will change our HTML in an unexpected way. This makes it really declarative, very easy to read and very predictable. Of course, it's no all great because React is just a UI layer. It doesn't have unlike Angular or Ember. It doesn't have a router or a state or things like this. It's just not a framework. But there is a huge community around it. You may want to try something like Redux, which gives you state. You may want to try React router, which gives you a router, and they're pretty cool. Also on Ahead.io, there are some really great tutorials, video, very often by the authors of those tools. And of course, React probably requires a little bit more of architectural thought, which you may or you may not want. But the general principle is often more interesting than the tool itself. I wouldn't be surprised if something like React is like a browser's work in a few years. We have been using it really extensively at Automatic for our Calypso project. And it's all open source, so you can go check it out. And if this is interesting to you, just find me after that and we can chat about it. Just a few more seconds, final summary. If you want to remember just a few small things. First, we use components. We don't use templates and they have all of the JavaScript together with them. Instead of rendering and changing things ourselves, we let React render stuff. And the virtual DOM is simple, fast, and really fun. One last thing. It would be great if you can come tomorrow at the contributor day. First, we can have more time to chat about things like this. And in my experience contributor days have been enormous amount of fun and everybody learns something. And I heard have you ever had a contributor day before? Yeah. So you can make history and be part of the first real contributor day in Finland. And this was everything for me. Thank you. Thank you. Thank you, Nikolai. Any questions for Nikolai? Any questions about React? One in front. Thank you. Hello. Thank you. Just had a question on React and the WordPress admin. Do you think that will happen? Why and when, if that case? There aren't any plans. But probably the way WordPress works is that very often plugins lead the way. And I know of a few plugins who are working on a React-based admin interfaces. So we'll see first how it goes, what are the challenges. Is it even worth it? Because Calypso is pretty cool, but it's different from WP admin. Also, Calypso itself is in its earlier stages. It's probably not as mature as WP admin. For example, it doesn't have plugin support. So there is a lot more thought to be put in what a new version of WP admin might look like. And also, we don't really need to do this. Like, it's perfectly fine if we have alternate backends or alternate interfaces for very specific needs. And still keep all of the plugins working. But in short, I don't know, we'll see. I guess that's one of the biggest challenges with the REST API. Like, keeping that low barrier of entry with plugins, but then also having that sort of the, well, building advanced QIs with React. Yes. Yeah. I'm sure we'll see a lot more projects using the REST API and some JavaScript frontends. And I'm sure there will be a lot of projects which will make it easier. Because now, especially for many developers, it's something totally new. And it's a new language. It's a new paradigm as you saw, the whole change thing. So it will take some time first to make sure this is the right thing for the community and for people to get great at it. Okay. More questions? Over there. Okay. Just a few seconds. I can see one there. There's one over there. Okay. Okay. What kind of challenges have you faced with styling the React components? Do you favor inline CSS or style siege or at least that's something I'm struggling with? With styling. Yeah, with our styling. Well, so the biggest problem with styling and components, and especially with reusing components is that very often styles leak because of scading. And the way we have solved this problem is that we almost do not use scading. We use something called what was called BEM, I think, where each class is prefixed with a component name. So basically each CSS class is limited inside the component. And for Calypso, for example, we're using SAS, which makes it a lot easier to import some global styles when you need them. The other thing that helped us scale this is that we keep the styles right next to each component so that both markup JavaScript and CSS live together. And to be honest, it has been working really, really well. Designers are really happy and CSS is much better structured this way. So today, I would probably do something like this not only in a single page application, but in whatever application. To rely less on scading and on reusing styles. Did this answer your question? There was a question near the bottom? Yeah. How is the browser support in React these days? And what kind of problems is there with the browser support? So browser support, I'm pretty sure React works on i7. I'm not sure about 6, but I really hope nobody cares about it anymore. To be honest, we do not support like with Calypso, we do not support i7 and 8 anymore, I think. But I'm pretty sure React works on i8, at least. Any questions upstairs? No? Okay, downstairs? You mentioned the Calypso, so you meant the WordPress.com interface or the software build on that. Were you involved in that project and what was the main difficulties in that? I was a little bit involved in the Calypso project, not too much. Probably the biggest challenge was dealing with state. And the components itself were pretty self-contained from the beginning, but making sure the right data comes to them and how and every time the data changes to render the components. And in the past two years, we have gone through two or three different approaches, which you can all see in the current code base. And in general, probably the biggest challenge was gaining a deeper understanding of how all of those technologies work and making sure we make the right design decisions. Which probably wouldn't have happened with something like Angular or Ember. However, this way, we have been a lot more flexible and we have a lot more control over what is going on. Also, it took Angular and Ember a long time to catch up with this way of working. Only in their most recent versions, they have this automatic re-rendering thing. And we used this style starting more than two years ago. It has been incredibly helpful in the developer experience. So this is the trade-off. We had to learn more. We had to change some approaches, but we had more control to always use the best approach. Okay, one more question. Come on. Don, be shy. I have a question if there's no other question. Have you experimented with using React on the server side by delivering the first payload? Yes. It's still not in production, I think, but you can find a few poor requests on the React repository. Sorry, on the Calypso repository. We have a few logged out pages, and it's important for SEO stuff. It's the new scene browser for WordPress.com. And it's almost done. It requires a little bit of free architecting of some bits, but it works. And it's also pretty, pretty fast. Because you get all of the HTML, and then React is smart enough to just continue and pass in this HTML some IDs and stuff. And then it can totally transparently for the developer. It hooks to the right places, and it continues from this point, and as if it was rendered in the browser. Cool. Okay, thank you very much, Nikolai. Let's give him a round of applause.


Sadhguru, a lot of what you've said, you've related it to what modern world is doing to us in the way it's teaching us, in the way we are behaving. No, I'm not really… See, there is no such thing as modern world and ancient world, okay? At every time in society, there is a certain set of people who are trapped in their own logic. And they think anything outside that is… that is insane. Every generation thought somebody was modern, somebody was conservative, somebody was, you know, liberal, somebody was conservative like this. No generation has not had the division. So I'm not truly saying modern in that sense. Every society has that. Okay, let me say prudes and not so prudish people. So being prudery, people are thinking in terms of somebody is restrained in his thought and action. I'm saying the moment you employ your intellect, you're super restrained.  When we say intelligence, now this little plant which produces a fragrant flower, you're discounting that intelligence. There is more intelligence in the air around you than in your brains. Yes, there is more memory in the air around you than in your brains. There's more memory in the epithelial cell of your body than in your brain. This is a fact. So the question I was going to ask was, I wasn't born to be trapped by my intellect because it's a tough question for me. It's like what you're saying is you're trapped by your intellect and I agree with you because a large part of our questions to ourselves is just circles within the mind. The mind asks the mind answers, the mind doubts, the mind asks the mind answers. I wasn't born like that. What you're saying, are you saying that is not the natural way to be and if it's not the natural way to be, why did I become like that? Because there is no such thing as human nature. Being a human being means it's a flux. For all other creatures on this planet, nature has drawn two lines. Within that band they must live. For a human being, only one line, the bottom line, there is no top line. So there's no description of what is a proper human being. There's no definition like that. Everybody thinks everybody else is wrong, isn't it? Because there is no definition that this is what a good human being is. People are always trying to arrive at it. But when you impose the definition, all you will get is rebellion from many, many places. Every generation tries to arrive at what is a good human being and the next generation comes and says, that's rubbish, that's not the way we want to be and they want to be some other way. Just to beat this, the trap of that and they create a new trap. A new trap looks like freedom because it's a new place. After some time you know the pain of that and then you want to create a new one.  The human existence is a phenomenal intelligence. See right now you're here. You can't do it with your thought.  You can't beat your heart with your thought. You can't make your kidneys and liver work with your thought, can you? They're way beyond your thinking process, isn't it? So I'm saying your thought is useful only for certain aspects of life.  It is not stupid, it's a wonderful process. The significance of being human, one of the significances of being human is we're capable of thought and conscious thought. It's wonderful but a foot scale is wonderful. If you're measuring your height but not for the ocean, it's a wrong thing, that's all. Nothing wrong with the foot scale is very useful. If you're a tailor, it's useful. If you're a mason, it's useful. If for so many things, it's useful. But if you're an ocean or grapher, don't go with the foot scale. You're going to waste your time and life and come with wrong conclusions. You're trying to use your intellect beyond its ambit, that's all. So you will end up coming to conclusions. Rather than perceiving, you are arriving at conclusions and thinking that is true. Whatever conclusions you make have nothing to do with reality. You are making conclusions with the limited data of information that you have gathered. It doesn't matter if you've eaten the libraries of the planet. Still, what you have with you compared to what the existence is, what the creation is, it is just a minuscule of knowledge. With this knowledge, you don't try to make a conclusion. It's bound to be wrong. Maybe you earned a PhD in a university but you cannot know truth like that. You cannot know the nature of existence like that. So the best way is to open a window and simply look. You see at least one dimension of life. The way it is, not the way you think it is, because the way you think is essentially dependent upon the limited data that you have gathered in your brain, in a memory system rather.


Welcome to our session. Let us discuss the following question. The question says for e j's and boolean algebra b, proof that x plus y equals to 1 and x dot y equals to 0 implies y is equal to x complement. Let us now begin with the solution. Now we will first consider x complement. X complement can be written as x complement plus 0 because 0 is identity for plus x and we are given that x dot y is equal to 0 complement plus complement.


What's up guys? Welcome to a new video. So in this one I want to discuss the topic of how much money you actually need to get started in dropshipping and give it a proper go So there's a lot of numbers floating around especially in different Facebook groups like $200, but in this video I want to actually well number one show you inside my ad manager account from when I first started so you can see exactly How much money I spent and how much money it returned me because it really is difficult to give you a bang on number That's going to suit everyone because ultimately it will come down to how successful your marketing campaigns are So for example when you first get started the furry first kind of campaign you invest in might be a hundred dollar Instagram influencer and that might return you a thousand dollars in revenue in which case that's going to set you up to start Pretty much and go in any direction you want however You may choose to start with Facebook ads and it might take you a thousand dollars before you get enough data through your AdSets before you start to realize what audiences are working until you start to scale things and actually see a profit come back in So in this video then I'm going to show you inside my ad manager account show you how much money I invested when I first started and then I'm going to give you a ballpark number and just discuss the strategy behind How I would go about spending that money But before jump into it then I just want to quickly mention a couple of things actually number one is a massive Thank you to you guys and everybody who watches these videos and engages with them and watches them to the end Recently I hit over 6,000 subs and it's all thanks to you and the support. So thank you very much I really do appreciate it and please please please do keep it coming if you haven't subscribed yet Then please do make sure you do and number two then in every video as always I am giving away a free one-to-one consultation call with me So if that's something you might want to win just a chance to talk to me one-to-one And ask me any questions you might have then all you simply have to do to enter the draw is Like the video and leave a comment down below and if you commented on my previous video Just make sure you stay tuned to the end of this one where the winner will be announced and with that being said then guys Let's get straight into it. Hey, what's up guys? Here we are my ad manager account then so this is like the very first month I started advertising in fact, I think there was one day in June. So I'll just show you June quickly So here we go, there's not one single day I spent like five pounds my very first day So the first proper month was July 2016 That's where I'm going to start this video from and you can see then total spend was 391 pounds for a return of 455 pounds so With the 1.16 row ass as well as you can imagine I wasn't profitable So even though I'd spent 400 pounds on ads I'm not going to bother talking about the Shopify plan side and app side because it's neither here nor there For the very first month or certainly for the very first few months You're probably looking at about $50 a month including the basic Shopify plan You don't need an advanced one. Just the basic one is absolutely fine until you hit about 10 or 15 grand It's either one of two of those numbers Then it doesn't make financial sense to upgrade your plan. So just stick to the basic one Get your basic apps like over low a decent upsell app a decent review app And that's pretty much all you need then to begin with and it's it's gonna be about $50 per month For the first few months until you start to make some decent money So I'm just basing that on that $50 a month That's going to get you your plan and the necessary apps that you need to begin with So I started with Facebook ads and I didn't even look at Instagram influencers until about six months later I'm a numbers person. I like looking at numbers spying patterns So I've always stuck with Facebook ads ever since I started three years ago now So yeah back to my very first month and 400 pounds in ads 455 revenue And if I remember rightly I lost about 200 pounds But at that point I didn't care because I was starting a new business I was excited to see people were spending money with me So and it showed the potential as well 500 pound back then especially was still a lot of money to me So the facts that I had that potential there Spurred me on to basically just keep funding this drop shipping business with my nine to five wage and just keep going So in this first month then my business cost me around about 200 pounds now I know you're gonna say I spent 400 on ads But I made all of that back plus a little bit and then the product cost was about 150 pounds back then I used to work on Kind of like the ratio of 30 30 30 so 30% of product cost 30% of marketing cost and a 30% profit However today with Facebook ads being a bit more expensive Then you can expect to pay a bit more than 30% of the product cost now That's only on low ticket items with higher ticket items and obviously it's not going to be as high as 30% Especially in today's age with Facebook ads being more expensive Then I always recommend people try and leave at least 15 pounds for a cost per purchase and still be able to make profit So selling products in the kind of like 25 pound range and upwards up to about 40 pounds I usually find is pretty much the sweet spot Facebook nowadays So without being said then that is my very first month It cost me about 150 200 pounds included in all the different Shopify apps and the basic plan etc I spent 400 on ads But as you can see I got all of that back plus a little bit So the only kind of expense for that first month then because the Facebook ads were paid for themselves Was the product cost on Aliexpress and 30% of 450 pounds was about a hundred and fifty pounds Plus 50 pounds for the first month on the Shopify app plan and that was my very first month Moving into month number two then this is where things started to get a lot better for me because my business started producing and profit So essentially my business wasn't costing me any more money because it was making more money than it was costing me So as we can see I spent a bit more and adds 530 pounds and a return 1200 pounds with a 2.41 ROAS And if I just show you month number three quickly Things continue to improve fortunately enough for me as well You can see I spent 1600 on the ads 5 for revenue with a 3.27 ROAS at this point as you can imagine I was pretty happy with things But that's back then then you've probably noticed the date was 2016 So we're talking nearly three years ago now. What does this all mean then if you want to start drop shipping in 2019? So what I'm going to do now is go into the breakdown where I'm going to show you the number in which I recommend you guys save up until you have this number before you start your drop shipping business and then give you a Guiding strategy in how I would go about spending that money. Hey, what's up guys? So this is the strategy then mapped out day by day I'm going to take you through it step by step and then at the end tell you why this strategy actually works And the kind of rules then that it's based on so start from the very top as a minimum recommendation I Suggest you wait and save up at least five hundred dollars to start your drop shipping business now I understand this will be quite a lot of money for people But one of the advantages to drop shipping is that it is low startup costs I can't really think of any of the business model apart from social media marketing agency where you'll need actually less money than this To start a significant business, especially in that the last five or ten years Certainly before the internet that most people required Premises and they had to pay people from the very beginning So you were talking tens of thousands of pounds to start a business So five hundred dollars might seem like a lot But don't be in a rush take your time look at other ways to make money perhaps sell things around the house Just try and save up as much money as possible as it says there That's five hundred dollars as a minimum the more you have then the better chance You'll have to succeed because the more money you can test with and play with on Facebook So if you're starting with five hundred dollars then Kind of like the minimum requirements in which you'll need before you can start advertising and selling products number one Is the Shopify plan just go for the basic one twenty nine dollars is absolutely fine until you hit I believe ten grand in revenue a month then it doesn't work out financially viable or Advantages to increase your plan Number two then there's kind of like three apps Which I recommend you have as a minimum before you start number one is Oberlo So you have that cross-integration integration with aliexpress number two is an upsell app because if you can convert a good upsell Certainly at 10 20% that can make a significant difference to your average order value and therefore your profitability One kind of quick little tip is just make sure you choose an upsell product that is from the same supplier as your Trigger products or the products you're advertising that way you're going to save that Usually it's about two pound fifty carriage charge, which is quite a significant profit Effect on your profit margin and number three make sure you get a decent review app Something like looks reviews you get a free trial with most apps But just to kind of make sure you do have enough money in the bank to pay for these just set aside $50 for the first month. So this leaves then $450 left for marketing So $450 then how are we going to spend it day number one and two is going to be all about testing I've spoken about testing a lot of my channel recently and how I use traffic campaigns to test different audiences because it's cheaper data So that's what this premise is based on. I want you to create traffic campaign I want you to have 20 ad sets So we're testing a ton of different audiences here and just make sure then these ad sets have Unique interests the unique audiences. Just make sure you're not testing the same audience twice You want that audience size into be around the kind of like one million mark You can flex interest. You can flex it with Online shopping flex it with engaged shoppers. Just try and get it around that one million mark Now if it's two million, it's not a big deal But to begin with just don't go out and target audience sizes of like five ten fifteen million people Daily budget then I want each ad set to be set at $2.50 per day After two days then this will give you a total spend of a hundred dollars over the two days Which leaves you $350 left to scale now the reason I want you to start with the traffic campaign I've spoken about it tons before in the video So I'm only going to go over it briefly is number one the data is cheaper You can reach more people and the more data you have then the easier is to set that kind of median that mean average To give you a comparison of whether an ad sets performing well or whether it's performing badly So if you have 20 different ad sets 20 different audiences the main piece of data I want you guys to focus on is the cost per link click and then that's clearly going to give you An idea of which audiences are performing the best so at the bottom end You might have a cost per link click of like over a dollar But then at the top end the best performing ones you might have a cost per link click of say ten cents or twenty cents So obviously this one that's performing at ten to twenty cents cost per link click Then obviously that audience is a lot more engaging and has a lot more interested in your product and therefore it warrants being invested in even more in a conversion campaign and Given that extra budget to try and scale it and actually start bringing in some sales So that's what I want you guys to focus on run it for two days two dollars fifty per day That's a hundred dollars total spent which leaves you three hundred fifty dollars and left to scale the ad sets that are performing the best One important thing is well is make sure you're looking at the cost per link click and not just all clicks because a link click is a lot Higher value event than just somebody who clicks on your ad somebody who's actually taking the time actually clicked on your URL your link and gone to your site then obviously they've shown more interest than somebody who's just simply Clicked on your ad to open it up in bigger view So just make sure you focus on the cost per link click because that's going to give you a better Representation of whether people are actually interested in your product or not So all that being said they're moving on today three then this is where things get interesting and where we start to make some money So take the three best ad sets and so out for the 20 audiences You've been running 20 ad sets take the three best performers and duplicate them into a CBO purchase campaign I forgot I left that out Into a CBO purchase campaign because now we know which audiences are most responsive now We want to tell Facebook right we don't just want traffic to our store We actually want to drive people who are going to make a purchase and out of this audience Which is showing the most interest now find the people within those people That are more likely to make a purchase if that makes sense before you set the campaign to go live Then what I want you to do is take each one of those three ad sets and duplicate it two times So you have ad set number one duplicate it twice ad set number two duplicate it twice ad set number three Duplicate it twice and this is going to give you nine ad sets in total in your CBO campaign Now the reason I want you to do this is because I've been experimenting recently with this whole Within the audience you'll have different kind of sections and groups of people and every time you duplicate an ad set Then it's going to be kind of like targeted to a different group and segment because you could spend say $50 Testing a specific audience to get zero results But then if you duplicate it and have two ad sets in two different segments of that audience now Facebook hasn't confirmed this yourself Themselves, but this is just something I've been experimenting with recently that's been working really well for me So this is why I want to pass it on to you guys So if you're not clear on any of this by the way, make sure you just leave a comment down below And hopefully I can answer your all your questions. So nine ad sets in total then in your CBO I Want a $50 daily budget and I want you to run it for three days Now the reason I want you to run it for three days is because purchase campaigns take a while for them to optimize and actually start performing Efficiently you might find that in two days you get zero sales But then in one day you'll get a decent amount of sales You might even be profitable and if you are then what that shows you is a really strong intent that those ad sets in this Campaign then has potential. So once you've run it for three days Just kind of quickly taught up how much we spent we spent $250 spent so that now leads us $200 left to scale the ones that are showing the most promise and the most potential So after you've run the campaign for three days, then what I want you to do is go over all of the ad sets and Just kill the ones that are performing well So the ones that are actually bringing in sales because we spent $150 we want to see some sales by now We want to start recouping that money we're spending on ads So any ad set that hasn't produced a sale for you just kill them keep the ones that are producing and Then just let it keep running keep it at $50 Run it for another three days and again if they keep performing then that's when you start to increase the budget and by now You'll start seeing money coming in the door Certainly if you've got PayPal linked and you'll be able to reinvest that money into more ads And then just slowly but surely scale up that CBO campaign and that is essentially what's been working really well for me recently Now so that's the strategy itself as I mentioned earlier any questions on that at all Please make sure you do leave a comment down below I get back to every single person, but then what is the thinking then behind your strategy? Why does this actually work number one is you have to commit to Facebook ads in order to succeed? So this includes your budget and this includes your time time and time again I see people spending $5 per day on ad sets and they'll test a ton of different ad sets But they're all at $5 per day and they can work up a total bill of about $1,000 But because they've not had that commitment to us and that confidence to try and scale something and just Like whack a budget of $50 per day on it or $100 per day and give it a chance to actually properly succeed Then they never have Facebook works on past data. It needs time to optimize So if you don't commit to the ones that you have confidence in and that's why it's important to run these traffic campaigns So you can see exactly which audiences are committing and which ones have that interest So unless you have unless you do commit to those ad sets Then you're never going to give it time to optimize or budget to optimize and actually see those results And then the second main reason is the broad testing lets you find winning audiences quickly and cheaply So by using traffic campaigns, you get further reach So therefore you get more data for your money and therefore you can see which audiences are actually interested in your ad in Your product and by spending less money effectively. It allows you to test. It's almost 10 percent. So by Testing 20 different ad sets in order to get the same kind of results in a purchase campaign testing audiences This is then you'd have to test almost 200 ad sets or pay the price of 200 ad sets to get the same amount of data back that really is how much cheaper it is and Like I mentioned earlier is that when it comes to being successful at Facebook ads It's about testing as much as possible Sometimes I'll be gorgeous crazy and Tesla 50 ad sets within a traffic campaign because the more you test Then the better averages and the better mean you have I've used this example before so the only reason then we know that Usain Bolt is the fastest man in the world Because it's because we've seen him race against all the other best runners in the world and therefore we know he is It's the same with your ad sets The only way you'll know if an ad set is performing the best is if you have other ad sets to compare it again So this is why the testing stages within Facebook ads is just really really important So anyway, with that being said then guys, I feel like I've talked on and rambled on enough Hopefully you guys have learned something new if you go out and test this strategy Make sure you come back and let me know what kind of results you get and of course any questions Make sure you leave them in the comment section down below And if you enjoyed the video then please do make sure you leave a like and of course If you want that chance to win a one-to-one call with me Then all you have to do is simply leave a comment down below and with that being said then let's get into announcing the Winner of the previous video. What's up guys here? We are then on my previous video do $5 Facebook ads still working 2019 a very important video if you haven't watched it yet Please do make sure you go and check it out. Anyway, let's go on to announcing the winner So I'm just gonna take the URL head over to our random comment picker these competitions are 100% random 50 unique comments, which is absolutely awesome So thank you very much for the support and the winner of the previous video then is Mario So thank you very much Mario for your comment Please do reach out on Instagram and we can get that call arranged and guys If you just want to get straight down to business and book a call right away You can't actually do so just make sure that you check out the links in the video description below I've got me so then thanks again for tuning in. I hope you enjoyed it and I'll see you all in the next one


way park you know what what's been the highlight for you I think the food lunch is great I mean you know it allows us to kind of widen out a little bit if you need to sit and you know do a little bit of work in the corner you can do that you know and Fenway was was excellent you know I mean it was the first time experience for me it was just cool to see the history you know I mean it was just something you just felt there as a enlightening experience yeah so what's your take on kind of the blogger influencer here you know Dell's pulled into the keynotes they've had some of the tweets up they had to video pretty sure I saw you up there I mean Bob Plankers I think has been on more things than everyone he of course was here yesterday so lots of exposure you know what what what's your take on kind of the that the media no I think it's great you know I mean I think that the customers want to be and they want to feel like they they have some influence there you know and it's like when really what the bloggers are doing is just you know interacting for others and trying to get the message out there and or communicate you know back and forth and you know I think it's really cool to see Dell have a stance that whether they want to pay attention to that stuff and they want to bring that in you know to the conferences and you know I think that the last keynote was fantastic I mean it was you know there was whiteboard interaction we're talking about the strategy you know and that's stuff that you know the customers in my opinion were a little bit like well what's that Bell's plan where they go on whether we know they've acquired these technologies where's the five-year plan you know and so I was to me that was a hundred percent of where it needed to be yeah I know what really resonated with me Carter talked about how you know we could say I love the line we could sell you a half-price ticket but if you didn't know where the train was going you probably aren't gonna get on board so yeah you know Dell used to be known as kind of the low-cost provider you know providing you know other things you know we having it and getting it to you faster and everything but they need to have the value add they need to have the strategy and the vision to put things together and it it was compelling they kind of hit all the notes of flash and virtualization even cloud as to where they're going yeah you know and I think that some of those technologies are technologies that will you don't have a great fit within the product line and it's about convergence in a lot of those areas you know and seeing some of those projects that products that have been bought and acquired you know here a year or two ago come to light now it's pretty neat yeah so one other thing I you know I just want to talk about you know near and dear to my heart is you know your it practitioner and you blog and you share you know coming from the storage world which I did you know too many IT people try to kind of you know the way we do it you know that's competitive advantage to us and we don't want to share the virtualization communities really good about sharing you know when we've done surveys we get you know an order of magnitude more responses that the V mugs and it's about sharing so you know what can you can share personally you know what what's your experience you know what is blogging and done in doing social you know done done for your career done for you personally yeah so you know I started vredder.com has kind of a spot to put what I've been working on you know I'm fighting to go through something my experiences right it was kind of like a little bit drilled in the world right so for me it's really helped me you know figure out what I can't find out they're probably put content in there that I feel fits that whole you know so to speak if it's you know something like fault tolerance or whatever it is and it's worked really well we're now rebrains form is more about hey I'm thinking about doing this here's an architecture design or here's some thoughts around that what's everybody else think you know events like like the Delce Rorge forms I'll put some of that content out there and it's all you know there are two different blogs a little bit different admin view vredder.com more of an analyst view or architect view on vbrainstorm so okay great stuff yeah Wikibon was founded on kind of peers sharing with peers love that dialogue in the community helping to get things started so thank you for all the contributions you've done there give you the final you know final point here anything else kind of you know not just Dell but industry-wide that you're watching you know what's exciting you you know what keeps you as you said you could if you could spend every day at events like this you would yeah I mean it's just it's really neat to see you know things like virtual desktops and you know things like private cloud and hybrid cloud and storage and you know convergence and all those things come together on a big scale I mean all the evolution of the technology is is rapid it's ever-changing and you know it's just it's cool to be part of you know so I'm checking on the on Twitter Roger Lund and feel free to contact me if you want to talk yeah absolutely what we love is you know Roger's one of the people I've known for you know quite a few years now we see each other at the events we continue the conversation online so check out his blog he's at Roger Lund on Twitter I'm at Stu on Twitter and this has been Stu Miniman with wikibon.org and we'll be right back with the Dell storage forum live continuous coverage after this break thanks


ecocriticism. In ecocriticism, we're going to be studying literature and the environment, how those two interact, how people interact with the environment, how we define the natural world, how we determine the intersection between culture and the environment. We think about how literature and literacy itself, the symbology we create, how all of that functions to shape our relationship with the environment. In this course, you'll read essays, poetry, short stories, a novel, plays, and engage in a series of rich discussions in which we'll puzzle out how we interact with the natural world and what does that term even mean, the natural world. All of that and more, wrapped up to one deep bundle that we call ecocriticism.


안녕하세요, 저희의 소식을 환영합니다. 그리고 제가 말하는 것입니다. 저희의 소식을 환영합니다. 그래서 저희는 오픈스테이크 유지어 그룹의 리더입니다. 저희는 7년 정도의 경험을 하고 있습니다. 우리의 유지어 그룹이 오픈스테이크 유지어 그룹에서 3년 정도의 경험을 하고 있습니다. 저는 재석안입니다. 저는 유지어 그룹의 첫 리더입니다. 네, 제 이름은 나리장입니다. 저는 오픈스테이크 유지어 그룹의 리더입니다. 안녕하세요, 저는 이안초입니다. 오픈스테이크 코리아 유지어 그룹의 리더입니다. 반갑습니다. 오늘의 주식은 오픈스테이크 유지어 그룹의 리더입니다. 그리고 우리의 생활을 바꾸고 있습니다. 그래서 우리의 생활을 바꾸고 있습니다. 이 7년을 지내고 싶습니다. 먼저 우리의 유지어 그룹에 대해 소개합니다. 그럼 이 첫 리더의 유지어 그룹의 리더입니다. 그리고 이 두 리더의 유지어 그룹에 대해 이야기합니다. 마지막으로 우리의 유지어 그룹의 다리도 이야기합니다. 그리고 앞으로는 어떤 소식이나 오픈스테이크 유지어 그룹에 대해 이야기합니다. 한국은 아주 긴 depiction의 유지어 그룹에 대해 이야기하셨습니다.  이 년에는 유저 그룹의 리듬이 되었습니다. 저는 정말希望 한국에서 유저 그룹의 이름을 얻을 수 있을 것입니다. 그래서, 손을 닦고, 그리고 4번째 오픈스텍 파운데이션의 생일 파티에 3번째 오픈스텍 데이터에 3번째 오픈스텍 파운데이션의 생일 파티에 이 공연을 하고 있습니다. 이 공연은 그리고 한국의 유저그룹의 공장식도 제한한 3가지 주제인데요. 글로벌은 기술과 전통으로, 글로벌은 글로벌적인 부분에 참여하는 것입니다. 그 이유는 글로벌에 참여하는 것입니다. 많은 국가 유저그룹으로 영어는 첫 번째 장면로 사용합니다. 그녀의 영어, 그 three members are so good at English, including him. Not only speaking but also writing. The second part is technology. They are very good at technological aspects. And one guy in the middle, 오형, answers many technical and detailed questions, answers in our Facebook. Then the third part, networking. This networking doesn't mean 오픈스테이크, 네트워크, 컴퓨터, 뉴트로. For example, he from from you drinks a lot every day. And a group knows lots of event people in Korea. And Jung knows lots of industrial people. They focus on social networking aspects in Korea. And also they facilitate and promote many events through online. So me, first leader, first generation Korea's group, we explain more details about what we did. So I mean, the first generation, it was initial phase. So our objective was successfully bootstrapping our user group in Korea. So we created actual launch in our user group and we had the official launching event. And I don't know if it's working or not. Well, there is in OpenStack large blog, there is actual blog, OpenStack Community Major wrote after our launching event. It was so good to see. It still exists in the blog. And we hold various tech seminars and we making friends in our country, especially with existing open-source software communities. And back then, we were close to the Ubuntu communities. And also we participated in the event. So initial phase in your country when you just make a user group, seminars usually focusing on the introduction of OpenStack. While these days, most of people know the OpenStack but back then in 2011, that was not the case. So I was lucky to have a cold rapid reaction process. So group of the small number of people who understand OpenStack at that time. So we voluntarily participate in lots of seminars. And also we had the meetups to introduce OpenStack in many people. Also we had some support from foundation to have a good introduction slide text about OpenStack. So with those two combinations, we are able to introduce OpenStack to many people in Korea. And so as we continue to hold those small OpenStack seminars and meetups per month and more and more people became interested about OpenStack and we were able to grow our communities with that. And second, what we did is we tried to make ourselves very visible in Korean OpenStack, Korean open source software communities and trying to find our friends. Anyway, so objective is like find our friends in existing open source communities. So we voluntarily participated other open source software meetups like Ubuntu and Canonikar's meetups to introduce OpenStack to them. And we participated in open source events also introduced our communities and also we participated in seminars. So by doing that, not only we are able to, I mean, advertise we are here, I mean, OpenStack communities here in Korea but also we got some support from other open source communities. So we are new so we don't have any servers to run our OpenStack homepage but the other open source software community was very kind to offer those infrastructures and helped us a lot to bootstrap our communities. And also we tried to leverage a lot of social media and this party really helped us to bootstrap our communities in Korea. So especially OpenStack Celebration Party was a good opportunity for us since it happens all over the world and it's shared in social media so it showed OpenStack it's really fun community with strong global presence and it helped us to bootstrap better. And this is part of Celebration Party taking in many countries around the world when OpenStack Foundation was launched and yeah, yeah, so And there's, who is Ken Pepper? There's Ken Pepper it was a long time ago but I have to thank you to Ken Pepper he made very good concept of OpenStack architecture diagram in early days and it was very good tool for us to let people know what OpenStack is and he actually joined our local meetup and to talk about OpenStack that helped us a lot. So we spent, we did like spend three years and then OpenStack Korea community becomes very active and we are able to expand our community in Korea. And by the time of 2013 I realized that there are like now more younger ones who had better energy than me I'm a bit old And I realized that they will be the better people who can run this very active community now. So my world was bootstrapping but right now we have very active community and I thought it will be good idea to give this leadership to the new people so that they can more participate more actively and expand our community more. So I did peaceful regime change in 2013 and I just did it and she was the second one and some of tips We did nominated and selected our second leader but we did internally among active group of people but we made sure, we have to make sure that all the process and information must always be public like public although we are selecting internally we have to let people and commit member know the processes and all the information that was important And one more tip is when you hand over your leadership to the next person you don't never scare your next ones So if you say I will be gone after certain days they will be very scared So you have to be there, you have to promise to be there and support them to transit this leadership of user groups So second generation, she got that Hello again, my name is Na Rijang I was a second leader of OpenSec Korea user group In the second generation Korean user group we started to held OpenSec Day in Korea event We have held a conference every February So many people became to present their OpenSec experience The OpenSec user group members was increasing more and more By the history graph we can know what held 3 times OpenSec Day event and 3 times OpenSec celebration parties After I became OpenSec Korea user group leader I made 10 members operation group And I held an event with operation group members But the first OpenSec Day event was difficult to me Because I didn't have any experience to hold those event But it was fun and exciting We made the community culture that invite many people to our group and participating for sharing their experience at our event and seminar We held a lot of seminars for 3 years In the beginning of the seminar operation members presented to introduce OpenSec to general members We sometimes invited other countries OpenSec engineers and we held the seminar with them So many general members participated in the seminar We made opportunity to provide presentation of their OpenSec experience We held 3 times OpenSec Day event during 3 years After OpenSec Day event Many people gave their opinion to our operation group One of the opinion is that Make study group for studying OpenSec technology So I made study group And so I found a member who operated study group together And I found people who will attend to study group So we started to study OpenSec with the group members At the time I met some guy He is now OpenSec Korea's group leader Nice to meet you again Thank you And we made OpenSec celebration party with various way Some party was with beer Some party write messages for celebration OpenSec Some party have seminar and beer With stickers Some party had discussion about their OpenSec experiences The people The picture The people I love OpenSec OpenSec Korea It made it by myself with my daughter Before the day of the party It was fun Our first OpenSec Day event was in Sejong University Our aim was to collect 10,400 people Do you know the result? Yeah, sure The result was success It was coming more people than people who we thought So we heard the second OpenSec Day event in the Rotte Hotel The second event was also successful At the time, most foundation members Mark, Tom, Heidi, Roland, Claire, Jonathan Was participating in the second event And they gave a celebration greeting In the third event It was coming more people than the second event After Ian, about the third generation plan And then Joseph will talk about how to prepare the OpenSec Day event And etc From now, I would like to tell what is going on the third generation In Korea user group One goal for me is how to make smooth transition for future generations Fortunately, I attended all the previous OpenSec Days in Korea First, second, and third And also I attended first OpenSec Days in Korea But I'm not sure whether newbies have attended previous OpenSec Days or not And also So one great advantage in Korea local group is that So many old timers are still active Like Jay and Nari But I'm a little bit worried about some kind of undesirable changes In the group members Many members are very busy And sometimes people move to find their new job There are some more attractive work roadmaps Moreover, it is still not easy to communicate with newbies With old timers Let's take an example of our group organizers We have more than 10 group organizers But we have not met each other very often We are offline Last March, 10 organizers met and discussed for next OpenSec Days in Korea And some organizers have not met each other in offline for more than one year on phone chain 3 Starting from this, I would like to more organize communications between old timers and newbies But not limited to just organizers For all user group members Old timers can advise a lot for newbies And newbies can become future organizer candidates And future real new leaders And the second name is to encourage upstream contribution I think it would be possible from many downstream activities For example, local meetups In my honest opinion, meetups are not limited to just seminars One famous guy can explain a lot But a kind of collaborative study activities And membership activities would be also a good idea via offline meetups Last upstream training in favor in Korea Is one good example, I think Fortunately, I participated in Tokyo upstream training in 2015 But in Korea, on front stream there were few members Previously, I participated in such upstream training event So I organized one local study group to run What upstream means, upstream training is And upstream training materials in detail And we have led a successful upstream training on last February With the study members Because they became so nice mentors in such upstream training event And I want to more emphasize By dividing into intra-relationship and inter-relationship Korea user group is also a community And I want to define what our own community culture is In Korea, I usually meet many other local user groups For example, open to Korea community, Azure Korea user group, and so on Also, we organize and hold several meetups together After that, I have found that different local groups Are also quite active and some cultures can be different I want to define and emphasize what Korea user group community culture is By comparing with other local groups And to do this, we need to advertise our Korea local user group So we have made Korea local group business cards With new official user group logo Finally, I would like to tell that Korea user group Also persists for open-stack We want to make our user group as an open-source user group J will tell later some aspects on open-stack days in Korea Open-stack days in Korea materials And the right figure shows a local event calendar homepage We organize many events, still organize many events And I also want to introduce interesting events for Korea user group members One idea I'm pursuing is to make use of open-stack infrastructure for local user group For example, Open-stack infrastructure official team support doc.openstack.org, www.openstack.org, and so on Although I'm still dealing with many things I want to create Korean-esque open-stack.org And we are making new Korean official homepage And we hope that our new homepage will be hosted in open-stack infrastructure From upstream contributions on open-stack infrastructure by many Korean local group members So I'll talk more about open-stack days So in 2014, we started small at university van hall And had a huge success So from the next year, 2015, we moved to the big conference center It had very good locations So this is 2015 We had about 800 people gathered in here And everyone loved this big sign in here So we had a very good success in 2015 And 2016, that was like first year Open-stack days became official open-stack event And we were able to get more than, more number than 2015 And instead of 2017, we are having open-stack days on July this year And we have coordinated with other user groups in Asia With strong foundation support And so during those four years of open-stack days We have made lots of materials and content For the open-stack day preparation And I think we are willing to share these materials and contents with community So that we can have others to host open-stack days For example, this event banner we made, we used And we have like the original contents of this file So we want to share with that And also we have boost design If you run exhibition on your open-stack days You will need those boost designs So we can share these contents And logos, local ads, banners And pre- or post-documents So I think we put our effort to make these contents and materials And I think it will be beneficial for others in other country If they can use these materials So we are going to open And we are going to share all of these materials with communities And now I will talk about some tips Of open-stack events So if you are like a first-timer hosting open-stack day event Actually foundation provides very good and super great Support materials on the following URL If you go to this URL You can see lots of information and materials To prepare your open-stack days And to prepare event I recommend you form a separate committee So have a separate committee Why it requires Running open-stack days It requires a full dedication It is difficult task So having committee and assigning people Like each role in committee People care more when they have dedicated role And also with those separate committee From like a normal open-stack community Or user group management You can include others to promote more participation So sponsors can be important part of committee Well usually for the user group management Company or sponsors Not the actual members of the user group But for the open-stack days They can be important part of the committee and partners Or event agency If open-stack days got bigger You have to use event agency Or media or government All of those stakeholders can be member of committee So that you can promote more participation to them Because you include them into your committee So having committee is good one Also the venue and date I mean venue is most important factors Preparing open-stack days Because it's number one cost factor The venue It's very expensive So you need to be very conservative Deciding where you want to have event Or you want to provide lunch Or you don't want to provide lunch That also decide how much money you need to run this event And venue can be also important sponsorship item So usually you get sponsorship money And you contract some venue But venue itself can be like a sponsorship item If some company can provide a venue That will be super great And you have to plan very early Some of venues they are available to use You have to reserve like a year before actual event So you have to plan very early That will help you to find a better venue And sometime you have to research on when Will be proper time for the sponsorship So let's say So you get sponsorship from the company And each company have sort of financial breakout period For example, because of their ending their financial year In June, July They don't have money to support your event So you have to do a little bit of research On the important sponsors When they have more money to sponsor your event So that will be some of the tips And for the sponsorship You have to secure potential sponsors' contact information Posting call for sponsorship is good But it usually does not work So just posting call for sponsorship You don't get much response from your sponsors So you have to be prepared Before you posting call for sponsorship So what kind of things You have to have your website So that potential sponsor can look into your website And you have to have a sponsorship prospectus document To give you, to give to the other companies And you have to have all the contact information About potential sponsors And you have to be ready to be call center So sending email Sometimes you get response But sometimes you have to call Marketing people in that company To actually have conversation About sponsoring your event So you have to have contact information And you have to do the very good calculation Of total estimate of your event Because that decides how many sponsors You need and level up sponsorship So total estimate calls decide those things So you have to have some knowledge About total estimate And you can always request help to the community Sometimes foundations Or other members in the community Senior members in the community Can find sponsors for you So always just contact the foundations To get support And call for speakers You do always early And you can post everywhere So do not limit yourself In OpenStack mailing list OpenStack can be many things as you know It can be cloud, network storage Containers, big data, machine learning Python, DevOps, automation, etc So if you find any relevant open source community You can post there for the corporate speaker That way you can get more speakers You can get more contents And when you looking for the speakers There is always a problem between Balancing sponsorship speakers And community talk Usually if you give the sponsors Usually sponsors want to have a talk In your event So number of sponsors Decide number of talk you have to give the sponsors And then sometimes it narrow down Number of the community talk So you have to balance it out Carefully So after event You better post the videos on foundation channel That increase your visibility of your event And it helps to prepare next event And you write blog also to increase your visibility And you write event report For the sponsors, for the community members And if you write like an event report Or summarize of your event Result of your event And give to the sponsors And they like that And then it will increase chance For that company to sponsor Your next year OpenStack event And after event You forget how difficult it was Forget everything And just have really good memories Then you can have more strength Yeah So having all these experience There's things make me think these days So in Korea I don't know about other countries Community is getting more and more diverse and active Because right now we have OpenStack But we have containers and lots of other Cloud technologies So community is getting more It's better, diverse and active But securing sponsorship Is getting a bit harder So that makes me think about this Like the problem with business friendly community So To Korea, OpenStack has been known As business friendly community It's good because Now with that company involvement You can not only talk about like a few years after But you can talk about how it can be deployed And how it can be used in real life That's good Also being business friendly Means you can get more support from company But always there is concern inside community that If we interact with company too much The open source community becomes just business And that's not good So there has to be balance between two And that's always difficult task As open source community, especially OpenStack So I'm thinking these days that What would be real fun in community So thinking about that And we don't want to make someone burn out From community work The community should be driven by fun Not driven by the required jobs we have to do So thinking about Why you are participating in community Because it's fun But if you're doing like over three or four years It became your job So we don't avoid that So I'm thinking about how we can back to the beginning Like a few of the open source Software and funds and interesting stuff So right now we have very strong foundation OpenStack user group is very active It's very big And we have very strong foundation of this group And with leveraging all these foundations We can pursue more things Let's just follow where our interest and fund goes We are not company doing OpenStack We don't need to earn the money from OpenStack So we can do containers We can do machine runnings Where interest is go So just be open and more diverse That will be better in general I think So I think that's the end of our slide And I really thank you for everyone in here To hear our talk And any question? Yes? So part of the community How you are able to influence Adoption of OpenStack in Korea Because you started in 2011 Probably at that time OpenStack might not be embraced So how do you help or deploy OpenStack in Korea? For sure we are giving a place Where people get together and talk together So sometimes it's very difficult for the people To talk like people in other company Or people in the university Even though they want to too But community, if they come to community It's more flexible for them to talk about What they're doing, what their problem is So the user group can give those places For the people And that helps people to understand OpenStack more To share their problem And Moreover, I would like to tell Some Korean culture It means that actually Korea uses OpenStack a lot But the problem is some companies do not reveal There are some secret OpenStack as a secret For example, one big game company Use OpenStack a lot For beta tests, game beta tests and production But they do not tell to media They are not using OpenStack or not But when you come to user group meetups I meet many guys from their company And they share some internal details So it is very nice To more communicate in user groups And also through the study group To help students or developers To get to know of OpenStack better And then they can contribute their capability Into companies So they can expand OpenStack So that's one of the aspect And having strong very active user group In the country That means there is more visibility of OpenStack And that helps company also To do the business in OpenStack area And any other questions? Thanks a lot for coming this session Thank you very much