there, specifically if you are interested in how internet is shaping our lives as well as how online video is changing as far as India is concerned. This is the global scenario, about 7.5 billion overall population. You have about 55% urbanization, 53% people are on internet already. There is about 3.1 billion active social media users and what you see as a figure of 2.9 billion is people who access social media through mobile phones. So what you can see is more and more people are moving on, as we will see now, more and more people are moving on to social media through mobile phones. So the growth, this is 18 versus 17, 18 January versus 17 January, so about 7% increase globally in the internet users and about 13% on the active media, social media users and about unique mobile users, about 4% which is as good as 218 million. So this is how the global landscape is changing. The app usage, the average number of apps which are on a mobile phone is about 80. Mobile install and uninstall, that keeps on happening but it's a huge number because end of the day the engagement is only with few apps, but look at the large number of apps that they experiment with and the average number of apps that they use, average again per month and that could be only for couple of minutes and then getting disinterested or whatever or working on it for hours during the day which is like what they do on Facebook or Twitter or any other such media, that's about 40. The time spent using native mobile app, the app which is already in your mobile phone versus the web browser, time comparison is 7 times of that, 7 is to 1 and the frequency of native app usage versus mobile web browser, so going through the app or accessing the same information through the browser so that frequency is 13 is to 1, so look at that. So this proves that lot of stuff is happening on the app side, more and more apps people are experimenting with despite of their staying engaged with only couple of them and the browser versus the app it's about 7 times the time spent and frequency of visiting of engaging about 13 times. This is, that was a global landscape, now zoning into India, about 1.3 billion population, 462 million. Story is happening, we are thinking how does that happen, of course there is going to be evolution and how things are going to move, who wondered just a bit that, that somebody is going to put a car in this space and you will see a car driving around the moon and what time of the day is going to come up, how it is going to be shown to you, lot of stuff is going to be on technology, latest technology of course, only that story part is what is going to be put in there, that's everything what is going to be turned out is going to be based on technology. So that technology, look at that graph, the x axis is the number of years and the y axis shows how much shift is happening in technology, so you can see that for every one year there is about you know a mega jump which is happening in technology, so every day new things are going to come and maybe by the time we will get used to the artificial intelligence and the augmented reality, something new is going to come up and that's not far away, so you can expect things moving very fast. The new behavior which is emerging, so that is what is going to happen in the future, now let's step back again and look at how the new behavior which is emerging, so one figure for all those friends here and clique there who are sitting from the media side, you should look at the first one, so out of the whole of people who are online, connected on internet, about 460 million people take a few couple of minutes here and there with all different sources, different figures, 15% of them the traditional TV is already lost, they are no longer watching or producing TV, it's what called cutting phenomena, it's already happening in various other countries, it's happening here, so go back and see so many of us have already cut the cord, they don't watch the TV on the regular platforms which is the satellite or the cable, they are watching the TV and watching the online video online now and that could be through the connected fire sticks or the boxes or just streaming or just on the iPad or that or even on the mobile phone, 15% is about 60 to 70 million people, that's a big number, you already lost them and this shift is happening very fast, so you'll see that the youngsters, especially youngsters in India are already online, they don't go to the traditional TV or the streaming, they watch, because they want to watch what they want to watch in that format, the convenience and the availability of contact is huge, why should I program my life around your private life, I will make my home private life and I feel, you know, we like watching that program, so that's one big number, these are the other numbers which show you there are about 78 million online content streams on TV, they are actually streaming or on TV, depends on phone to TV, screen mirroring, boxes available bar to the download and the fire sticks or anything, but streaming is happening such a large number, in the internet you are watching video online, 83 million and growing and this gives you how many of them, so watch online video every day, 33% now this is not a evolved phenomena anymore, it's not that technically people are evolved early adapters, no it's no longer early adapters, so one of my favorite examples is go to a high rise office building and don't use the elevator walk down the stairs and you'll see a lot of support staff sitting out there and watching videos and half of them are actually connected online more than half of them, earlier they used to borrow the content from the people who are selling the pirated content, no longer because content is available and of every kind and every formal genre and it's available for free so why should they go and of course thanks to the telcos, the the data is become more affordable, the quality has improved so why would they go to and get it downloaded first and then connect and watch so this is what is happening these are the emerging trends as we see now and not that they are not going to change trends like the attention span as they say in the area of technology and the way things are changing, the trends also have short life but these are the trends, so rise of social video especially on facebook who's going to be the biggest broadcaster of tomorrow, you don't know who's maybe a social media company or a tech giant will emerge as against the traditional broadcasters or maybe one will buy the other which one you don't know for the first category to second or the second to the first but this is what is happening as of now, mobile data used more than wifi yes, in India the way, and I was talking to my senior colleague earlier the way reliance geo has made it a mass phenomena it's one thing which is what we can say is that the entire society and the consumption of media or consumption of online stuff has been put on an irreversible path no longer people are going to go back to what we used to do earlier but the shift has happened so more and more mobile data rather than wifi, women are more avid users so avid means more involved the number if you see of videos being watched by more men but if you see the avid, the depth that's more women, in the videos are most watched ones and vernacular is definitely going to drive it especially in India and we've seen that happening in TV, it's going to happen online comedy entertainment, most popular genre as they call it, ABCD and they have the religion and the cricket and comedy weekday versus weekend, so this is something which is very different for what is happening globally, most of the viewing is happening weekday when we are supposed to work, but that's a different story and average money spent on subscription, now that is where we are the, you know, we have a totally different approach but that comes from the fact that the TV arpu in this country is the lowest in the world it's about 3 to 4 dollars, while in US you have about 80 to 90 100 dollars, Europe also 50, 60, 70 dollars and even in Africa it's 20 dollars plus, but in India 3 to 4, 5 dollars and you want 400, 500 channels, but that comes from a different fact because the way we are structured, the broadcasting industry needs to do something about it, yes they know, they've been trying to but haven't been so successful as of now, but that's what it is that's why we are like everything we want is for free because we don't want to pay for subscription and that's where the issue is so we'll be more avod rather than s-vod so avod is advertising based video on demand where I am, okay I don't bother, throw as many ads as you can but don't charge me, but the s-vod is subscription based where I don't want to be interrupted, I want an adulterated entertainment and I will pay for it, that's subscription based video on demand so we are evolving more like an advertising video on demand country rather than subscription based content, oh sorry and then of course the short crisp videos perform better in terms of numbers, the long duration movies and TV shows are picking slowly and gradually, but the phenomena is that you want a larger screen, so the smaller screen for shorter videos for snacking as we call it and the larger screen for more evolved but both connected, that's where the world is moving and India is moving vernacular as I said is set to outnumber English, it is happening as we speak because we have already seen that happening in TV, so this is going to be no different the platform and the pipe from our cable has changed to online pipe but everything else remains the same, so vernacular we want to see the entertainment in our own language to start with and then of course we can shift to any other language, so vernacular is going to drive the overall ad spends on online video are on rise, in the morning it was being discussed that Anurag was saying that most of the ad revenues are being taken by Facebook and Google of course, yes, but then slowly and gradually this part of the pie or this piece of pie is also going to increase so online video and the advertising on online video is also going to increase gradually, rise and rise of regional content which is very similar to what we are saying on vernacular and the Fertile Indian market it's growing 460 and growing the effort out there by most of the telcos is how to get more and more people online because OIS has become a commodity, so the business lies in more and more data consumption so they want more and more people not only from the cities and smaller towns also from the rural area to get online and get used to it and there is already a discussion of having a light version of Facebook for a certain kind of a people so that they get on Facebook and they get online, so more and more people will get online and 460 is the number which is waiting to shoot up in next couple of years and OTT viewers is definitely increasing phenomenally more and more people are shifting on to online viewing rather than sitting on that, the number is still small if you look at the overall size of TV viewing but it is growing much faster and yes it is being used as a second screen but as we discussed in earlier part of the discussion about 15% people which is roughly about 70 million plus have already shifted and that's happening in India, 70 million is not a small number, 70 million people are watching the TV on a traditional TV, they are watching the TV on an online connected device and that could be a mobile phone a pad or even a TV which streams this is something that I wanted to share with those who are from the news business, so the largest news channel about 27 million individuals that is the kind of reach we are talking about 24 million is the next one, 22 million there could be a number here or there 21 million but don't go by that because what the message is right at the bottom Daily Hunt which is online app has got 155 million installs, even if 50% people are visiting that even if 25% people are visiting that compare it with the largest news channel which is on TV, so you will get the picture where it is going, this is another part of the world where you can see the news viewing on TV and news viewing online 57% 2016 coming down 50% in 2017 this is US and 35% or 33% sorry going on to 43% online and both the lines are converging and somewhere they are going to meet in a year or two and I think this is going to be the year if not maybe the next year, so more people will gradually be watching online news rather than going to TV and watching their news, this is happening there, we are not far away the way we have got used to passing on videos to each other and it is happening across all strata of our society and whatsapp has become like a very common tool which everybody loves to use and it is not only for contacting people also for information sharing and passing on the videos and various stuff that you get, we are not far away from this one this is the new normal, we all know the news in shorts is really picking up, huge number, people have got used to that they are reading their news, they are snacking on the news and if they want a deeper dive they go to one of the media but then on the go how to connect the books that we read, this is getting the new normal and this is now going to be the new new normal where as I was mentioning earlier the augmented reality, the virtual reality, all they are going to play and the devices will become different and this of course is the new normal of those people this is the new normal of our news where more and more stuff is getting consumed through the twitter or flip board or news in shorts or daily hunt and you still have that paper which comes to your doorstep, many of us have but many of them don't read you don't consume your news from there anymore as much as you consume it on the go from these things so the evolution, how it is going to affect, just look at this and this is also connecting to the earlier thing that I said digital is dead or digital is reborn every day, the first digital which happened is give them news in shorts in text form, don't give them long articles on the few lines, so that was text and then okay let's make it a little interesting add a photo and now it's led by video, same thing it's evolving so fast in a year, year and a half and that means if I will get all my news in shorts and I will get the videos crispy small videos which I really want to see what happened and on the go then will I go back to my TV to watch that news, maybe not and do you think if this one will become vernacular and if it will be easy to use do you think the regional papers or regional channels will not come under challenge, of course yes, right so the idea is that things are changing fast, the user behavior, the technology adaption is changing very fast, faster than we can imagine people are so comfortable now with transferring money and all that stuff that we have seen and various other things that I thought money was the only area where they would not want to do it online so I think that the rate is happening so this is nothing as compared to that so the disruption is happening faster than we can imagine and I am not sure if all of us are ready for that so the final content will remain the king because of course you are going to generate the content so if you are a media house or a publisher content is going to remain the king but it's going to remain in the center and platforms will evolve, the platforms will evolve and how do they consume that same content is going to be very important because if you are not logged in to the new platforms and to the new technology then your content slowly and slowly even if it is good the distribution will start fading out because distribution is the name of the game, if you are not connected through all those devices and platforms people will not be able to reach you if you are not reaching you you will fade away from the public memory so that's important for all the friends and the colleagues who are from that industry from news industry, this is super crucial yes you are always going to be in the center the content but how people will reach you is changing already and if you don't move along with the things at that pace you lose out very fast and that's it thank you so much


Okay, so I want to talk a little bit today about immutability interactivity and JavaScript so I've been doing JavaScript now for about eight years doing user interface work and a Lot of a lot of what I've been thinking about recently is how With you guys you often have what appears to be inherent complexity and by sort of thinking and embracing immutability I think you'll be surprised by how a lot of what appears to be inherent complexity ends up being Incidental complexity and you can eliminate it and hope I hope to demonstrate a bit of that today so I For four years. I was at the New York Times and I recently switched over to cognatect cognatex pretty cool They actually really embrace immutability and all their platforms and their products They do lots of cool stuff. You should check it out in order to talk about interactivity We sort of have to start from the beginning. This is some kids playing around on a xerox alto at xerox park I believe they're messing around with a small talk system So you can actually download a pretty good version of small talk today. It's called squeak. It's open source I highly recommend it. It's a pretty amazing Programming environment if you open up a system browser and start inspecting the internals of the system You'll find like the classes that are available and so on You'll probably encounter model view controller, right? So I don't need to explain this too much. This is a JavaScript conference NBC's are quite big in the JavaScript world But the idea the concept was first formulated by Trigva Rinskog and Adele Goldberg and others at xerox park in 1979 Very long shadow, right? The basic concepts are still prevalent today To a large degree. I think this is because at an abstract level MVC is actually a sound separation of concerns, right? You have users they want they're interested in a certain domain So you model that domain and they want to interact with that via controls or or some interesting interaction And then you have to sort of manage the domain model and whatever the users actually sees the thing I'm going to try to question today is Implementations so for a very very long time MVC's and have been traditionally done over stateful objects. So I think it's possible to Preserve all the things we like about MVC's but we can do them without stateful objects and that sound might sound kind of crazy It is kind of crazy and hopefully I can demonstrate that it's actually Practical to do this But to sort of throw a wrench in the history of UI programming we have to talk a bit about the web So this is Tim Berners-Lee built the very first Web browser using a rich MVC framework called next step which eventually became cocoa and when he designed the web browser He wasn't thinking of creating a whole new UI paradigm, right? The big idea here was just linking documents together and sharing them over a network It's a document model. It was never meant to replace the rich UI frameworks that people were building for desktops. So By a very strange trend of events Most or not most but it's certainly a large number of people interact with computers via web browsers And so what that's what that what that's meant is that as JavaScript developers? We're forced to abstract over something that was never designed to be to sort of host UI work many of the challenges many of the frameworks many of these sort of standards that are happening are all trying to monkey patch the browser to be a suitable UI programming environment So you know you do you UI programming enough and you know this pain, right? Tools like backbone tools like ember angular JQuery they're all trying to put the DOM Push it further down so that you can reason about something higher level. I still I would quit like having done it for a long time I've gotten I've gotten to the point where I feel like Doing UI programming on the web kind of feels like this analogy that Alan Kay likes to make about software He sort of alludes that a lot of software architecture looks like this like the great pyramids It's really impressive, but there's no concept here The only idea is that it's gonna take thousands of years with thousands of people and hundreds of years Right. There's not like a there's not a there's not like a real principle at play And he points out how architecture changed very radically as soon as it's sort of Chanced upon a very good central concept and he points out the arch right the arch sort of radically changed Human notions of architecture and he points out that software really needs to do this There's often when we when we design something if we can find an arch we can often You know get a lot a lot more value out of our systems. We can build simpler systems So objects did give us something great. I think NBC is really cool And again, we don't want to like eliminate the good parts of it But I feel like we're still missing something and then you could ask well if the object-oriented guys don't have the answer What about the functional programming guys? So if you follow functional programming, which is getting more and more popular these days You might have heard something called FRP. That's functional reactive programming. It came out of Haskell It's pure FRP is still very much an active area of research because people are trying to figure out how to make it efficient You might have heard of Rx Rx is really cool. It's a reactive extensions. It's a it's a Microsoft take on FRP Fundamentally though, it's a coordination language It doesn't really do much for the fact at the edge of your coordination You're gonna have to mutate the DOM or show something to the user if you are familiar with go or Closures core async you might have heard about something called CSP. I actually blog about CSP quite a bit You can also accomplish similar things to CSP via ES6 generators But again, while it does manage sync asynchronous events and it's great for streams It's still a coordination language. It doesn't really do anything about the rendering problem At which point you we might say well, maybe maybe NBC is the best thing Maybe stateful objects really capture how we Conceptualize user interfaces. Maybe there isn't a more fundamental thing and hopefully by the end of the day I can convince you that Immutable objects are pretty awesome specifically persistent data structures And if you organize your your application around persistent data structures, you get a lot of cool properties So the next few slides I'm going to show are not my own because the slides that somebody else did were perfect There's a really great Initiative in New York called hacker school. It's sort of like a writer's retreat for programmers There's a facilitator there named Zach Olin and he produced a series of slides for strange loop, which is a great conference in the States Sort of non mainstream programming languages and approaches, but he put together a great series of slides I'm just going to use them To explain how persistent data structures work. They're they're very well known To closure programmers, of course our closure script programmers Very well known to Haskell programmers in Scala, but outside that community. They're not very well known So I think it's worth taking some time to explain The idea so functional programmers what they like to do is they like to you know functions and data That's it as much as possible. So Functional programmers want immutable values. They don't want stateful objects and the whole idea of changing something It's really you you don't if I have a data structure and I change it I'm not going to destroy the old one So with if you have a stateful object, or if you have a mutable array You're destroying the previous value that it represented and that represents some new value It's possible to avoid this And that's where the word persistent comes from persistent data structures They give you the convenience of regular data structures, but they don't destroy the previous value that was represented And I can show you how they can be fast. That's what's really cool, and that's what's relatively new I would say people did not understand this until within the last decade how this could actually be done efficiently in practice so Persistent data structures might sound really advanced really scary. They're they're not I Imagine almost everybody in this room has seen a linked list If you understand linked lists, you can understand persistent data structures So here's a list with x at the head, and it has some tail Hopefully familiar to all of you if I want to a different value, right? What's really cool about a linked list? I can just cons or like Construct a new value by putting something at the head, and I can just point to the tail That means I have a value x and I have a value y and they're sharing more than 50% of memory Right. They're they're sharing their contents even though they represent two different values You could have another variable that points to the tail of x and we now have three distinct values that share memory This is structural sharing and that's the big idea behind persistent data structures So sharing structure gives you efficiency in space But it also gives you if efficiency in time because you're not losing time copying Things right what was really cool about those different values were that we had is we didn't have to copy anything So you can actually take the linked list idea and and and generalize it so Phil Bagwell who unfortunately passed away innovated a very efficient encoding Called the hash array map try it was actually a mutable collection It wasn't until Rich Hickey the inventor of closure came along saw that you could modify it just a little bit and get an Extremely fast Family of persistent data structures out of them. So he invented something called the bitmap bitmap to vector tree and The way that it works is that it it it effectively Look, it works like a JavaScript array. It's random access. You can push things at the end efficiently You can iterate it over it quickly and Basically the way that it works is it's a it's a each node is an array and it's a tree of arrays Right, it's arrays that point to arrays and that might sound a bit weird But we'll we'll dig into that and the way we do look up. It's a prefix tree So we take the index and the index itself Gives us the prefix into the tree to find the location of a particular value. So it's a bitwise tree So a persistent a persistent vector. This is what it looks like one possible implementation You can imagine a JavaScript array with that contains four elements each of those elements is actually a pointer To four more arrays Each of those point to four more arrays that have again four slots And then finally you'll hit like the last level and the last the leaf nodes, right? Contain the actual elements themselves. So what is finding something in a data structure that looks like this in tail? so Here we have the we want to find the hundred and six element, right? So that there's actually a binary right that's we can represent as that as a binary It is a bite, you know the binary version of that and what we can do is we can say we can mask off the first two bits We can mask off the first two bits and what we when we do that that gives us a number that gives us the number one So we know to look from the root at the what's what's at the first index at index one And that takes us to the next level we can mask that one and that says oh, that's The value two so we can look at the second the in the second index of the second level that brings us one level down Again, we mask off the next two bits again. That's two The last set of bits that we have gives us You know look at the second index we're done There's no more there's no more bits to mask off and we have the element 106 Right. So how many operations do we need we needed? For three four array lookups and just some bit operations. These are these these are the types of things that JavaScript engines Are very aggressive optimizations on these types of things So what does it mean to update a persistent vector if you want to update it? So all we have to do if you want to update this persistent vector is to update Only the path that changed That's all you have to do all the other arrays that weren't on that path can be shared Right. So exactly the same as the linked list Most of the most of the memories gonna get shared and as it turns out Array cloning if you do it correctly Quite a few JavaScript engines optimize that as well So the main thing we should be thinking is what about the branching factor is for the optimal one as it turns out That's not the case After a lot of empirical testing closure on the JVM pick 32 and pretty much Anybody that implements them picks a size similar to this because it maps very well to modern hardware and cache lines And so 32 gives you very good lookup performance as well as update performance. So just to show you how Crazy this branching factor is imagine a persistent vector that had seven levels Right. That's 32 to the seventh power That's 34 billion elements right That if that was if that was a that was an array on a 64 bit operating system with a 64 4-bit JavaScript VM That's 256 gigs of RAM Right. So in a persistent vector you can get to any element in seven hops and you could even represent it in memory So and updating a 10 billion item vector only requires you to change and clone seven arrays So hopefully that gets you a little bit excited about how persistent vectors work This is exactly why I decided to own like I was very familiar with persistent data structures and then react came out and I was like this is going to be a really awesome pairing Taking the persistent data structure approach and the diffing approach that react offers because what we can do now is we can represent our Application state just as an immutable value and we can apply a function and then react will calculate the virtual DOM Right react gives us another value, which is the virtual DOM representation If something in the application changes we have immutable data So we're just going to get some new value apply the function react will compute the new virtual DOM and The way that react works It basically takes the two virtual DOMs that it produced and it cap calculates a minimal change set So we don't have to touch the DOM directly react sort of remote controls the DOM so to speak What's interesting about this model is that we can flip v0 and v1. We can get the reverse change set for free Right normally you'd have to use some sort of command pattern where you have to calculate the reverse delta So we don't have to do this react will do that for us So just a real quick demo So one of the very first things that I did when I when I saw that pairing functional Persistent data structures with react. I was like oh, I wonder how hard undo would be able to implement for example to do MVC Which is a kind of reference application for JavaScript MVC's so there but they're actually about like five lines of code that are relevant here for undo and Just really quickly. I'm gonna go You know the same you know to do MVC that you've seen a million times I'm sorry. Oh, you can't see it Thanks one second there we go So I'm adding some to do all items here. I can Click this at the top. You can see how fast it's rendering. It's far faster than 60 frames a second I'm gonna like this. I can switch Which things I'm looking at I can clear the completed and then Right, so that was just five lines of code and that's we just get it for free It's just free because react does the diffing for us. So going forwards and backwards in time It's it really equivalent as far as react is concerned and the snapshots are cheap because the difference between one app state in the next is very small and the Persistent data structures give us the efficient encoding of app state So you might not be convinced because to do MVC it's like it's cool But it's kind of like a trivial application. It doesn't really map to the type of things that people actually build Fortunately, I can show something that I did not make. This is a pixel editor by this guy Jack Shadler He works at Ableton He read he saw my undo post and he was like well is is David Nolan like is he for real Can you actually build apps this way? And so he decided to do something Where he built a pixel editor it's 64 by 64 pixels. So what he's doing is he's encoding 4096 pixels into a persistent vector. So that's 4096 individual pieces of state and he was able to implement undo redo and previewing of any state So I'm going to show this Real quick. So Here it is So what's happening here is I'm actually updating and a persistent vector Okay if I go up here There were some undo states I can You should see the preview and if I'm scrolling over here, you can see that the preview updates very quickly So how much code did this take to do? That's it. This is this is all the code that it took to do undo redo and the preview again Because it's just how react works. It's just our persistent data structures work So this is this is like one of those Moments were like oh something that we thought was inherently complex was not inherently complex It's incidentally complex because you want to build such a system with stateful objects stateful objects are what make Doing things like this complicated Sorry The other cool thing is you're probably wondering how much memory this takes so I went ahead and did a test and I imagined what if I had 1,000 frames of these 64 by 64 pixels I randomly update every pixel So I use the chrome profile and I did a heap snapshot So on the left is a heap snapshot of 1,000 saved sort of frames It takes two tenths of a megabyte on the right. I've allocated 100 arrays and that's 1.7 megabytes right So the exact same thing except persistent data structures you're seeing you just save tons of memory by sharing structure in this way so The pixel case is actually the worst right you have 4096 distinct states think about the types of applications you build putting your entire model into an immutable system is Completely doable right there. There are no real problems there and it'll likely be more memory efficient than a traditional approach So you're so hopefully you're excited about this I didn't you know I I would you know I didn't talk too much about closure script because you can actually Try this stuff out with a library that I maintain called mori which exports most of the closure script standard library It also exports all the data structures so you can use them There's quite a few people I know actually who for various reasons can't use closure script And they actually use coffee script mori plus backbone and react right So it's it's definitely possible to play around with this stuff without using closure script I will say that closure script does it it is cool and it does make some of these things more idiomatic as well as Closure script is able to optimize the more of the code Mori is actually not that small a lot of people most people use it with node It's not as popular on the front end because it's quite a big payload if you don't if you're not able to apply the Optimization techniques we do in closure script So that's all I had and I think I'll take some questions now If you have an existing app built on say backbone or any other MV star framework, how would you Would you propose it just like a complete rewrite to like refactor this paradigm or is that something you could introduce gradually? That sounds like a lot of work to me I do think though that it's possible. There have been quite a few experiments for example Can I just interrupt and say can the people who do the lightning talks come to the front as well just while David's talking? It's possible to for example do a Collection right like to do a collection that exposes a backbone API, but under the hood It's immutable like that's that's that's completely doable There's like the API is completely separate from how you store that state Thanks Got some more questions One over there. Sorry yesterday Hawking gave an excellent workshop about closure script and He posed a question which I will function like an intermediary whether Closure script and in this case on as well is ready for production Would you advise against all for using it? For a go out rather demanding client People are using in production. That's all I can say. I mean is there was there something more specific you're looking for Well, it cost you ahead if it feels or not Will it I'm sorry miss when it costs at your head if you fail or not Can I blame closure script? Can you blame closure script as much as you can blame JavaScript? It's very easy though Are there any big examples of places where closure scripts has been used or I was being used They're there. I mean I actually keep a list though It's hard to keep track now and actually some people just use it and they don't tell me That's kind of the problem. There's a lot of people use it. They don't tell you what they're doing But what's what's happened is that there are a few people that are I think wrapping up products with it I think what's happened is a lot of people are definitely using react like in the closure script world people have embraced react again It's possible to use react directly and you just get all the benefits Any more questions if we are doing sort of what you are saying So we are actually using Mori and react together and so on and I had a question about the size of the Mori library You said that that's a problem. Should we try to use the Google Closure linker or is it possible with Mori or is there another solution you get the point So you can run the Google closure compiler and compile everything and you will get all the optimizations I will say I'm not a I'm not a fan of the type of code you have to write for Google closure Part of the reason we did closure script is writing that type of JavaScript is not very fun But you can do it if you want to you can definitely do it and I think Somebody's done that actually But as far as the size of the library, it's pretty big. I mean because again, we can't optimize it for JavaScript users It's like 33k gzip. So it's a bit big for clients people have people the node node users like it quite a bit The meteor devs meteor. I believe they're using it now to do their package management constraint solver And they were able to get like a 50 50 percent performance increase by using it So if you had to use this closure script like persistent collections With Libraries that take like JavaScript arrays or are you setting up the lightning to allow what I'm sorry So if you had to use it with a library JavaScript libraries that use JavaScript arrays is a is is there a way to do that? And is it fast? There's not a way to make it fast. So I experimented a bit with yes six proxies. So you can Put a proxy around it The problem is that it's too new a feature for any engine to optimize You could imagine, you know being like look we want to use these data structures But we want the same API that we always had you got to optimize this stuff So I would say the only thing people can really do there is just push browsers to optimize a proxying Any more questions for David? Awesome, okay. Thanks very much


Random forests, RFs, are a popular machine learning algorithm for classification of remote sensing data. This paper examined the effects of various input parameters on the accuracy of RF classifications, including the number of trees in the forest, the size of the training data set, and the use of independent error assessment methods. The authors found that high-dimensional data sets should be reduced prior to classification, and that the size of the training data set should be as large as possible while still representing the true class proportions of the landscape. Additionally, they noted that RFs can be highly sensitive to the size of the training data set, and that it is important to use iterative classifications to assess the stability of the predicted classes. Finally, the authors suggested that the training data should be randomized or created in a way that reflects the actual class proportions of the landscape to ensure accurate predictions. This article was authored by Corrine Millard and Murray Richardson.


It's the most one-sided relationship. I've ever seen in my life and Now she's leaving with absolutely no explanation other than to guesstimate him into thinking that he didn't do enough When in reality she used him to build her confidence back up and then left. I saw him yesterday and I Didn't know that person He's so broken and that is why I fight for men's rights. Tell me that men aren't abused You are so right I was very very easy and thought I needed to have sex with as many people as possible But now I know that not everyone deserves me When I like someone I put them in the friend zone when I don't like someone I still put them in the friend zone when I meet anyone I put them in the friend zone. It doesn't matter who they're all going in the friend zone So last night my best friend hit 40 people for her body count So I decided to go by cookie cake and I'm gonna write a cute little message on it So this is the final product is honestly really difficult. I used this Cake frosting, but I didn't have scissors so I had to bite the tip That's why it kind of looks bad Today's a big day, huh? Here's to 50 So you're someone who wants to make America great again and supports building the wall.  I'm a calm dumpster All right, so I'm getting some messages that video I made saying that girls had one drink, you know move along It's not worth it. Here's why I said that okay when I was in the Navy I had I went to a party and I had eight shots and four alcoholic drinks All right, there's one girl who had three shots invited me up to her hotel room to have sex All right multiple witnesses around this all came to fruition later. All right, so even though I was hammered I stumbled up to her hotel when we had sex and when we came downstairs. She got slut-shamed. All right instead of being countable She said no, I have alcohol in me. I couldn't consent Right and so then the Navy said well Eric even though your alcohol content was four times of what her was She still had alcohol in her system. Therefore you return in gentlemen. That is how the court system works It is stacked against you. Okay, if she's had one drink, it doesn't matter if you had 19 They will come after you and that's why it's not worth it Hey, what's up, what's what's your name? You have a boyfriend. I just actually what your name is. Yeah, but I have a boyfriend Okay, I was just seeing if you wanted to hang out later Wait, what'd you say? No This is my car No You said you had a boyfriend remember? Yeah, but we just hang out as friends You're a gold digger. Yeah What's your type I Ab's nice skin tall Okay, what about you man? I like me something real slim You know I'm saying I like me something now a big bone, you know That's body shaming Tell me how you just said the same thing I did. So how's that body shaming respectfully? Cuz guys don't have feelings. I guess I think body shaming all these girls. I look nice for your girl. Maybe you know what double stand is Jada picking That's all I'm respectfully champagne. I just moved in next door. I'm a supermodel.  Wait, hold on. Hold on.  But wait, hold on. Hold on I'm not done with you.  So when the man just ups and leaves, right? Do y'all be acting all so surprised? Men if you only listen to one message today listen to this one. I got this DM from a young man today This is sadly a very common tactic that is often employed when a guy breaks up with a girl She suddenly calls you and surprise surprise. She's pregnant. What do you do when you get that call? Whatever you do do not sleep with her because that's where she's actually going to try and get pregnant Do not believe her based on a positive pregnancy test or an ultrasound Both of those can be faked. Yes positive Pregnancy tests can very easily be purchased online ultrasound photos and videos can also be gotten online and easily Manipulated with names go to a doctor's appointment with her and have it verified by the doctor and until then do not sleep with her She makes up a reason why she doesn't want to go to the doctor's appointment. Fine. Do not sleep with her This is such a common tactic that my mom saw during her years of practice as a father's rights lawyer It is embarrassing. How much this happened? All right, so somebody reported my last video wonder who see this this is what she's trying to keep you from seeing yep She's told about 20,000 dollars for the stuff damaged my motorcycle on the truck and she stole my truck kill me cat That's right. She killed me cat, but I can't post this because it's disparaging This is what it looks like when you are a good father, but you have a bitter baby mother Today was my son's third birthday and I've spent Tons of money on gifts and didn't even have the opportunity to get to see him Literally was ignored knocked on the door everything. It's time It's time to accept that fathers have rights Especially when you have a father who wants to be active in his child's life Because I'm far from a deadbeat Others that don't pay their child support Let's talk child support and parental alienation I didn't meet my father until father's day last year Found a mutual relative on 23 and me and sure enough. He didn't hesitate to contact me We talked about how our lives went And he talked about how he tried To stay in our lives and my mother who I don't talk to anymore made that damn near impossible She demanded $1,800 a month while my dad couldn't even make payments on his home He could barely take care of my brothers He would have fought for me, but obviously he couldn't afford the lawyers and he showed me all of the paperwork to show for it all of it Don't judge a man by his circumstances and kindly go f**k yourself with a lead pipe All right, I've got a new story for you and this one is the absolute worst thing I've ever heard So I had this girl this child female child young Um Confided me and tell me that she was being inappropriately touched by her mom's boyfriend She was telling me how she doesn't like it and how she doesn't want to go home She doesn't want him to be there and all this other stuff And so I asked her we'll have you told your mom and she said no and so I told her I was like, well, I think you should talk to your mom about this let her know what's going on Think came that a normal mother is going to you know protect her child and kick the a**hole out of the house Nope Found out that the mom actually yelled at the kid for talking to me about it found out the kid got in trouble because she said something about it and That she said that she didn't want him in the house anymore And so now the kid's in trouble because of speaking up because she doesn't want to be listed by her mom's boyfriend Oh Flattered. I've actually been getting this question a lot lately The real reason is because I have four kids from three baby daddies two failed marriages And a partridge in a pear tree


Good morning and welcome to today's products and focus so most global equity market is actually taking up a little bit higher this morning US 30 the SPX 500 both finished at all-time record highs yesterday as the market takes delay and interest rate hikes as being a very positive Factor in the global financial market right now the big issue being is that if the music stops? There's no chairs left what happens after that so I Could imagine you're going to continue to see the equity markets continue to creep up But then it all comes down to earnings and how do you support the economy and they've got no interest rates left to cut because they won't Hike them and there's a lot of dangers in this particular strategy I think people should be aware of but what I've seen happen here before is in this particular type of situation is that the markets Will probably very likely to continue to grind up ever so slightly higher day and day out until you can't keep ignoring the economic day anymore and Not raising rates. There's a bit of a balance in that between not raising rates to keep it keep the economies going and then Raising rates to give yourself a little bit of a back foot because of the economic day it keeps on coming out bad they've already done a lot of the major stimulus measures that they can do and that could be an issue in the future, but nevertheless the markets is taking bad news as good news as We're looking to have a delay in interest rate hikes in the US and the US 30 SPX 500 at record highs as we stand UK 100 Bounds around 69 64 I guess a lot of news people are coming across to right now is the EU referendum and When that's going to happen for the UK obviously sooner rather than later I've already seen in the news today about Deutsche Bank already saying that they're potentially looking at relocating their headquarters from London Which employs 9,000 staff back to Germany or they're considering opening up by a working group to discuss the aspect We saw some of the thing with Scotland They were talking about leaving the union with standard life saying they're going to have to move their headquarters to other places So there's a lot of political guffra at night to be honest, but that's probably going to be adding a little bit of a little bit of interest In the UK market and the sterling over the next couple of weeks and months incidentally be hearing a lot of people talking about that So Japan 25 soldering on ever up higher and interestingly about 40% of the stocks on the on the neck I are trading below their book value and they've got very low P ratio So then they make decent profits, but the valuations are still quite low obviously historically Japan 2 to 5 well behind a lot of its other peer groups and Never tackling that 20,000 and 87 level Japan might still do more stimulus for the Japanese yen. They said they don't want to but they will do And and that that lower Japanese yen will help to spur on Japan 2 to 5 And I think a lot of it a lot of a lot of Further potentials possible in Japan to do five should the favorable conditions remain in play and that is as long as the Bank of Japan does not Keeps the ace in the hole about Japanese yen stimulus Or go into the easing that's going to help to to curtail Japanese yen. So continue to weaken that and Continue to make stock valuations in Asia quite attractive So we're getting quite close to that multi-year high around about 20,000 260 and we're trying to break through potential resistance today 20,000 and 87 Moving on to dollar yen is back up towards 120 is actually at 119 94 right now Doesn't really get that exciting until we get close to close to 121 87. So part that one for now West Texas crude Suffered a bit yesterday Saudi Arabia came out with their latest Production reports saying they almost had record exports of crude so far this year So oversupply abundance of supply. That's depressing prices at the moment Even as everything's spiraling out of control in Iraq and Yemen and everything else so U.S. Dollar obviously getting a little bit of Momentum versus the sterling and the euro today Overnight and today again, and that's helping to depress prices ever so slightly We're getting a very interesting candle formation right here with a series of lower highs That could get ugly if we have a neckline break below 5695 It's not a yet though. So gold's probably suffered a little bit after we had that increase in the dollar I'll be it feels more like profit-taking rather than anything significant very mind There's no idea that came out yesterday anyway to 1218 looks to be an interesting support level For gold bugs out there as depending if you're bullish or bearish on this on this product obviously That's going to be quite a strategic level to be aware of so finishing up with your dollar and GBP USD So your dollar actually coming off relatively harshly yesterday and again today even though Deal with Greece seems to be on the cards there are some traders out there who are a little bit more cautious and They are selling the euro aggressively against the USD and There's actually a much more aggressive candle formation for yesterday and today We're already at the session lows and what sterling GBP USD is currently showing So if we do continue to see a selling pressure one spot 11 is the next potential support level And if you look at that same chart for for sterling obviously quite negative day yesterday Not quite so aggressive today We're bouncing between positive and negative just now But could do with a little bit of a breather typically does this where it has done in this current leg up one spot 56 is arguably going to be the next potential support level for those looking for the next leg up So I come at data wise actually days good day for cable and UK 100 and your dollar in fact You've got a whole host of UK CPI and PPI data. So it's all an RPI in fact So lots of inflation related data And then later on that we have Eurozone CPI ZDW business report that's gonna be big. It's a German report But it's big for the whole of the Eurozone because of the Germany such a big trade partner there and Then later on again, you've got More PPI and you've got the Bank of England minutes. Oh my god. I'm looking at the wrong thing now Let's go back on to my my daily my daily view Which is the 19th and Yeah, so MPC minutes actually tomorrow so we fast forward on to there You can see you've got German PPI and the Bank of England MPC minutes and obviously crude oil inventories So as ever keep your eye on the Char forum make insights popular going forward and join me again tomorrow to find out What happened next?