Jill, who's associated with this organization, for those of you who don't know Jill. I think it's one at a time. As far as the law of the seas concerned, it became clear to me after a period of time that there were many people migrating to Europe by sea, often across the Mediterranean elsewhere, but the ability of law enforcement in general to engage with that, often by the way, in near-slave conditions. I mean really, they are really the modern equivalent of the slave trade is what is happening. But the ability in international waters of any law enforcement agency to be able to engage in that is extremely limited. I understand why that has been the case historically, but I don't think it really works in the current era. There are more particular examples of, for example, the piracy of the Horn of Africa, where there are also some issues about the ability to intervene. And there were some complicated issues like the Royal Navy, for example, the UK Royal Navy, said that it couldn't intervene with a certain ship, because if they intervened, then the people would then in the ship who were the people being trafficked would immediately have the right to residents in the UK, forever type of thing. And so that stops it happening. And I just think there's a set of issues which I don't understand in full, but do require a reassessment of how the law of the sea set up in rather different circumstances, does in fact operate in relation to these. And as I say, I don't think it should be underestimated the terrible conditions that some people are being transported in by sea to come into the EU, really shocking to see. As far as the broader issues are concerned, it is difficult. The way in which the European Convention on Human Rights is operated and the question of what is a human right and prevention of torture and so on has gradually been expanded, the definition, basically by the jurisprudence of the court decisions themselves in recent years. And it does require and has led to quite serious position. For example, I sat around the cabinet table in Tony Blair's government and there was a serious discussion about whether the UK should leave the European Convention of Human Rights. Michael Howard, who was then the leader of the opposition, thought we should leave the European Convention of Human Rights. I think this would be a terrible thing. But the fact is that unless you can get the convention working in a way that relates to the modern conditions, it would be more difficult to defend what's happening. And there's been a process launched following a meeting with the Council of Europe in Turkey, I think it was last year, to try and look more carefully at how it could operate. It's very difficult to secure reform because it requires agreement of all governments, of course, and that's very difficult to achieve. But I think it is important to put it on the agenda. And again, for the same reason, the total presentation I've made, actually, which is that these things have to have the confidence of the peoples of the countries. At the end of the day, if they don't have the confidence of the peoples of the countries, then you're always liable or there's always a risk of being in a position that you get overthrown by the opinion of people in certain countries. And that means that the whole range of legal frameworks are seriously undermined. As far as sanctions on employers are concerned, I'm in favour of very strong sanctions on employers, but I think the way to tackle it is through work conditions and the question of how strongly you enforce the basic labour law of the conditions in which people work. Again, to take the UK example, I don't know to what extent it's true in Ireland, there have been some appalling cases of people working in the most appalling situations. One of the most famous was the cocoa pickers in Morgan Bay who perished as a result of the situation. And it was really because the gangmasters who controlled that were not subject to effective legal regulation and what they operated. They absolutely had no care for their employees, not even employees or any of the people who worked for them. And as a result, people died. And I think that there's a relatively small group of employers who behave in a very unacceptable way and we need to have strong sanctions. When I was MP for Norwich South in Britain, we had a very difficult case of people who had sanctions being taken against restaurateurs who were employing illegal Chinese immigrants. And they were very upset they came to me and said this is completely wrong and so on. They had a whole set of explanations which had some weight. But at the end of the day my position, I'm afraid, was that actually the law needs to be enforced strongly and that requires people who employ in bad circumstances including employing legal immigrants should not be permitted to do it. So I take a very strong line on that. Thanks, George. Tom. Thank you very much. Fascinating presentation. Tom Huy who's the treasurer of this institution. Sorry. Thank you for paying for the hotel. This is an area of interest to me, but particularly from the perspective of the area of funding but the findings of the Chihuahua race group, Europe will need tens of millions of migrant workers. If you actually start from that perspective, it becomes how do we actually structure a situation that permits people who have been cared and better to come to Europe and therefore that they wouldn't have to cross the border between Turkey and Greece or across the Mediterranean. It's important that they could actually come where the need is greatest. Although ironically, I believe that this means one of the countries that will have to be the set especially in terms of our work on the title. However, I would like to make a couple of quick comments because I was involved as an advisor at the European industry level at the time of the single market and I know that Ireland actually was happily embraced from the people in Europe and Mrs. Hatcher came out of the conference and said, no, it doesn't mean we have to move passports at all at all, much of the consternation of everybody else. And I do believe that for most of the international period, if not right now, that Ireland would have to join Changin if the UK had to join Changin. And because I was the executive director at Dublin Airport, I also know that the lion's share of the legal migrants to Ireland before we were being post-controls came from the UK and we said that's why the controls were reintroduced on Ireland to the UK since the free travel area was discussed. Well, just to say, I completely understand the last point you made. It's completely right. But I think the interesting part of your question, is what will be the labour needs of the European Union over the next 30 or 40 years? There are already a wide range of different schemes to encourage people to work in the EU more or less legally. In Poland, there's a lot of schemes for Ukrainians to come in the summer. Latin America, many people come from Latin America to Spain in Portugal. On some kind of basis, there are various schemes of what's called circular migration where people come for particular short terms to meet particular skills and needs. I think the thing which nags away at me most is the experience of the UK where it's absolutely clear there is a section of the population let's say for the sake of argument, 15%, who actually are completely socially excluded, who actually are not able for whatever reason to get work and in their absence of ability to do that work, migrants come in and do it. It's not at all obvious why a young Polish woman can work in a bar in London and get the job and do very well, whereas a young woman from Peterborough can't do that. What's the reason? What's happened? And I'm absolutely certain that the long-term argument for that, if you're talking 20 or 30 years, is to improve what we do to ensure that the young people in this country, in the UK and Ireland, are able to take jobs in the labour market very directly and that's the way to make it happen. I don't think on the current basis, if you simply exclude migration into the country, that that works because at the end of the day, the people I'm talking about don't end up doing the jobs. It's not the fact that they're losing the competition, they're not even competing. But that raises absolutely major fundamental questions about the way we are able to ensure that the whole of our populations are able to do competent jobs at different levels. And it's not only a question of young people, it's also a question of how late in life people work, if the population gets older, what do we think about raising the retirement age, what do we think about people working to 70 rather than 65, et cetera, et cetera, et cetera. And these are, of course, enormous and big questions. And the problem about all the speculation, including the Philippa Gonzalez report, is there's all kinds of speculation about where it might be, but based on quite dodgy economic models, I would say, about what the position is going to be. I would also argue that a failure of the European Union has been the Lisbon programme, which was about economic growth and regeneration. I don't think that's really succeeded. And so I think the priority in labour is to focus on the people who currently live in the European Union really to ensure they can all do the jobs, have the capacity to do the jobs which are here. And that's a bigger priority than migrating more people into the EU, into that situation. But it's also a much more difficult priority because the truth is there are many people coming from India or China who've got tremendous capacity to work here. And it's a lot easier to say, let's bring somebody from Mumbai in than it is to get somebody who's a socially excluded person in Peterborough or Cork up to the level to do that kind of job. And so we'll duck it. But I think that's a question we can't keep on ducking at the end of the day. Thanks, John. The gentleman at the back for a story. Sure. Just by your mention of Turkey, you mentioned that Turkey should be during the Union and it might help battle off the border with Greece. But doesn't it in turn create a massive problem having the European Union right in the border of Iraq, present-day Syria and other countries beyond it as well to the east? So would you, in fact, magnify the problem by having this massive border with very difficult territories beyond it? I don't think so myself. I agree that the issue's a real one. The argument's put in slightly different terms by some of the big leaders. I remember when I was Home Secretary, Nicholas Arcos was Interior Minister, and he argued very in private, very, very directly that the EU was a Christian continent and we didn't want Muslims coming in. Thank you very much. And that's why we couldn't have Turkey. Now I think that simply is not an appropriate way to look at what is the EU today, which is a very diverse community in all kinds of ways. Or I remember the Prime Minister Bavaria saying to me, we had this argument about Turkey coming in. He said the time's not right, it's not ready yet. And we were doing sort of dinner in Berlin, and I said, well, if now's not right, when would be right? And he said, the year 3000. I've never forgotten. And this was an extremely influential finger in Angela Merkel's coalition government. And I accept you can decide we never want Turkey. And in many ways, we'd better to make that decision rather than to keep the thing going and teetering on. I would not say we should take that decision, however, because I think the consequence of saying to Turkey, we don't want you, and much of their aspiration is European, is to drive them into a different position in relation to all the countries you're describing, which in fact is happening now to an extent where they see that as their point of reference rather than Europe as their point of reference. And I think we would be in a stronger position if Turkey saw us unequivocally as their center of reference, which they don't at the moment because they know all these signs that I've just described, and weren't distancing themselves from us. And I think in terms of dealing with situations in Iraq, Syria, or wherever it may be, we do much better with Turkey as a strong part of our group, as of course has been the case in relation to NATO since shortly after the Second World War. I think we'd be in a much stronger position that way around rather than the other way around. I think the other thing I'd just like to emphasize is the point I made earlier. Most people, if you went out on the street here or you went out on the street in London, would say that people coming into the EU from Turkey are Turkish. Actually, that's not the case, and we would do a lot better to have a stronger external border of the border of Turkey than we do on this border to make sure that Turkey itself was not subject to many people coming through from many of the countries you're talking about. But I'm now of the strong view that we should encourage Turkish membership and go to carry through what actually the EU's already decided. And I also think the current uncertainty about implementing what the EU's already decided is damaging. But I will concede to your argument that there is a case for saying that they shouldn't be in, but then in that case I think we'd do better to say right now they're not in. Well, Germany and Austria are slightly more complicated, despite what I said, because the very large Turkish population within those countries and the relationship between the leadership of Germany who've made some interesting recent visits to Istanbul and the Turkish question is probably much more intimate than certainly the UK's and probably I'd say Ireland's as well. And so I think it's quite possible to recognise it's in their national interest in terms of their countries to have a Turkey within the EU. France is slightly more difficult. I think that there's a there's an unhealthy, and this is an undiplomatic thing to say, so I say it with great hesitancy with you here because you're a diplomat through and through in every aspect of your being. I don't think the French are facing up to these kind of issues in the way that they need to at all and they're fighting battles on Ban the Burka and all the rest of it from an entirely populist angle led by Nicolas Sarkozy which I think is very damaging to proper debate about these things. And that has to change, that's all. Thank you, Charles. The lady here, please. Hi, I'm Margaret. I'm part of the joint community SD. I'm just curious as to like the measures that you outlined are surely those that tackle symptoms and not causes.  And perhaps measures of regulating multinational corporations businesses and profits from countries and leaving more money in the countries is the flow of wealth that the people are following. You know, if there was regulation on that flow of wealth all coming to Europe instead of staying in the countries where a lot of natural resources are extracted, it might prevent what you described as all those horrible people wanting to come.  Yeah, it was that UK and Ireland felt that because they were surrounded by sea it would stop all those horrible people coming to my house. That was said with Ireland. That was said with Ireland. I'm sorry if I certainly don't think they're all those horrible people and thought it's worth. I agree with everything you said. I do think I'm talking about symptoms, not causes. I do think the causes are in a globalised world how the economic relations operate across the world. I also think that both trade-nade policies are to achieve a more equitable economic development across the world is the way to do it. However, I observe and I'm sure you would agree that if you look at the various efforts to achieve economic growth, for example in sub-Saharan Africa there are many, many obstacles on the route to doing that which aren't only the world multinational corporations but also many, many other serious issues about where the money goes and how it operates in those countries which are entirely real and significant problems. But if you make the general point about symptoms, not causes, well I agree. And if you then make the further argument that you have to address the causes, well I agree with that too. And I believe that right back to when I was a student doing economics and looking at the various UNTED reports in various countries of the world the question of how you stimulate economic growth and what you do is absolutely central to this. But you can take it in a position, I'm not sure if you take it probably not, that there should be no migration controls at all, there should be no border control we live in a world economy and the way to deal with that is to let everybody travel freely throughout the world looking for work or whatever it may happen to be. I don't myself think that's a realistic policy at all. And I think if you have borders at all then you have to decide how you're going to police and what the rules are and how it operates and they have to be operated with the cooperation agreement support of the peoples of the countries concerned. The other question that you raised I think is a very interesting question and insufficiently researched which is the question of remittances the issue of remittances for example from the Turkish community in Germany to Turkey and how that operates is a highly relevant part of economic development discussions and I believe that I'm open to correction on this. There's been a relatively small amount of academic work done on this to understand really how remittances have worked as a result of migration and when you talk about circular migration schemes for example as I was saying in answer to Tom's earlier point you can have quite interesting examinations of how the remittances from a period of employment in the EU can help the economic development in the country from which the individuals have come and that requires quite a lot of thought process but if you so I actually agreed with most of what you said except the attribution to me of a set of views which are not mine which as I'm in politics I'm very familiar with that but I'd hoped here in Ireland that never happened I thought that you were the model of the perfect political community unlike we corrupt individuals in London and it wouldn't happen but apart from that remark I agreed with what you said but I don't know if the consequence of what you were saying was really we shouldn't worry about immigration policies we should just go for the causes I say we've got to go for both the causes and the symptoms thank you Willis Galli he's a member of the Institute which he doesn't want to switch a little bit to the economic drivers I mean just make one primary point for context that populations who write the EU of migration obviously the EU from outside the EU but in terms of what populations feel you know migration inside the EU is also highly relevant that's the peak of a lot of differences so that is an issue in Ireland you know and the UK we did adopt a sort of a liberal policy and an argument just separate years ago to accelerate entry from the new European countries and that was for economic reasons that was a major supply of reasons I mean the Irish economy was growing on the customer what we thought was an eternal wave and you know you need the foreign to set it in and it wasn't in the context for a well thought out iteration a sort of social education of migration sort of approach here and you do get there for I think in the economic drivers the you want to say the wealthy are quite happy with immigration with immigrants because you know they may serve in shops or they may be navies or they may be old payers or whatever or on the maybe cheap labor for their industries in terms of less issues immigrants are seen in the economic sense very often as competitors and also quite often as you know a big priority on social services and holding up accused and so on now all that I think in the context of Europe it kind of go out and you would get people who would say you know that the media and what people say in public what people feel and the confidence obviously is different because I can't the thing is out of the open and I'm not saying the Irish are racist I don't think we are but I think there are problems connected with this emphasis on migration for economic reasons without a sort of cultural education on social integration that should go with and that would maybe particularly come to this in the context of recession in Europe European output is barely at 2007, 2008 levels now and you know the short term growth prospects let's face it it's just we'd like to comment on that whole sort of integration area not just the migrants from outside the EU but far on the internal sort of ships of population inside the EU itself firstly I need to emphasize that this piece I've done is entirely about migration into the EU I completely agree with your point there is a massive issue about migration within the EU and various words are used like integration and so on to deal with it which I'm also interested and I do quite a lot in but this wasn't addressed here now what do I think about migration within the EU firstly I think it's very difficult to talk about a common EU policy across this cultures in different communities within the EU are very very different Cork is very different from Marseille is very different from Tallinn and so on and trying to suggest one can have the similar policies in each of these areas I don't think is correct but you have to have a positive approach towards integration you have to have a positive approach towards enabling people to live side by side and work together I believe that much of the criticism of what happened when the A8 countries were given the access to come in is over blown in Britain for example classically the Polish plumbers and so on I would say in our home sector during the time there is very little evidence that actually the arrival of the Poles and the Baltic citizens really damaged the labour market in a significant way but I agree with you that people have a perception that it does and also have perception that there is fundamental social services that are being deprioritised actually again I looked at this in detail in many cities in Britain and I simply think it wasn't the case but people believed it was the case and therefore it's important to address it and take it seriously so I do think you have to have a set of policies which really address the issues and you go through them in some detail and I believe that's entirely possible and I think certainly in Ireland certainly there are some very successful examples of policies which have worked in various ways I also agree that only a very small minority of people would I would really describe as a racist in a serious way there are of course racists who are genuinely racist in what they do but in most cases people have frightened of change happening in various ways and they take out their fears in terms of the potential changes that are coming how do you deal with that you have to try and reduce the fears that people have that's why I wrote this pamphlet because I think one of the fears that people have is that migration or immigration is essentially anarchic is happening people don't know what's happening they don't know who's entitled to be here they don't know why they came here they don't know why they can't go home etc etc etc and I think that governments have a duty and I believe it's best done at an EU level to establish a set of rules where everybody understands exactly what those rules are and how they operate and if that happens I think that reduces potential opportunities for racism in various circumstances which is why I argue that but that's also true when you're talking about housing waiting lists or schools or whatever it may happen to be illustrating that actually that what exists can exist in a multicultural society where people as in many London schools there are literally hundreds of languages spoken in some London schools does this make them worse schools my children attended one of these schools in fact they made them far better schools because you had people coming from a wide variety of different backgrounds to those in those circumstances but more difficult schools more difficult for the teachers more difficult for the students in some cases more difficult for the parents and you've got to give support to help people provide the best education in those circumstances and as I said earlier on the jobs competition front I think that's about ensuring that everybody's able to compete for the jobs which are available and I think that means dealing with the fact that certain communities are essentially completely excluded from that process we know between Britain and Ireland there have been all kinds of quotes integration unquotes issues between British and Irish people in these two islands over the last hundred years not always easy to resolve sometimes very unpleasant leading to very unpleasant situations but people simply have to work at trying to achieve a situation where people can live together and in our cases it wasn't an issue of skin colour or whatever but it was an issue of different cultures and different circumstances which did lead to tensions in some cities which have thank goodness been resolved over or never say resolved moved towards being resolved over time and I think that's what's required a kind of consistent effort to ensure that people can live side by side without the fears being there but I'm more optimistic about this I believe that actually there's a lot of evidence of people having worked reasonably successfully in these areas and an ability to deal with the problems that exist in a reasonably constructive way thank you George this will have to be the last question thanks I know Waters head of immigration here in Ireland and Dublin and thank you George for a very clear exposition of these issues here in Ireland of course we were very late arrivals to the whole debate 15 years ago I walked into the immigration service of the department as a junior official and it wasn't an issue at all we've learned a huge amount of 15 years and we've been able to benefit from the experience of other countries and all the issues we spoke about today are very much live in our radar and what we do every day with our government so we're learning all about that I was very taken by what you said was Schengen and I think you made a point or somebody made a point that if we had a choice would we be in Schengen would we be elsewhere of course we would be in Schengen I think it's pretty well known clearly well way to the UK position in terms of the common travel area and the balance of our benefit at the moment is with the common travel area but my question is do you sense any shift in movement in political terms in the UK of all joining Schengen no I'm very much a minority voice I think in fact the whole European debate in Britain is an extremely bad place both on the euro issues on the economic issues and so on I blame Labour to a significant degree for this because we didn't take on the issues positively enough when we were in government in my view but the current government is also exacerbating some of those issues and classically David Cameron's veto at the European Council in November last year I think it's very serious now I was saying over lunch that one of the things that's happened is that for the last 30 years I've seen European politics most of the other main European countries have wanted the UK to be part and hope that the UK would come around to do it and taken confidence from the rhetoric of even John Major the heart of Europe Tony Blair and so on that they thought we would be there and I think for the first time I've seen I was in Berlin just at the time last year saying well if you're not interested we're not interested and that will lead to a whole freezing of a whole set of relationships where goodwill won't be there which I think will be very damaging to the UK now for you who are tied in the common travel area for reasons which I completely understand and respect that then has knock-ons for you because obviously you joined the Euro and you've had to go through this very difficult period in the last three or four years it seems to me relatively successfully no doubt tell me whether I'm right or not about that that the consequences of a UK freesaw with the rest of the EU for Ireland could potentially be difficult and require I would say from your point of view some thinking through of where you are on these questions it's been possible and I think there is a case for Ireland in its conversations with the UK to quite seriously say look we want good relations with the rest of the EU and so please when you conduct yourself in a way that makes it easier rather than more difficult but obviously the British government sovereign it will decide what it's going to do and it won't listen to me and it may not even listen to you in the situation and we'll have to see what happens but I feel quite gloomy about it that's why I make another reason I wrote this pamphlet because everybody is obviously focused on the economic issues and so on quite rightly so but actually there's a wide range of other issues where we need to have strong cooperation with our colleagues in the EU not just these but things like the environment common foreign policy it's still ridiculous we haven't even got all the EU countries agreeing with to recognise Kosovo or not could we have a positive approach on Syria could we have a positive approach on many international questions and we need to work in my opinion take the stance very much that's where you want to be you're one of the main protagonists and beneficiaries of the European relationship obviously very difficult economically now but in this area of justice and home affairs you've given priority as I say rightly in my opinion to the common travel area but I think you'll be put under some pressure if the UK doesn't continue to have a good relationship with the rest of the EU and I worry about that Charles thank you very much indeed


Can you guys hear me? Yes. Thanks, I read. So yeah, hello, everyone. My name is Nicolas Palmonte. I run the visualization team here at Uber. And today I'm going to be talking about a framework we've developed that's called DECGL. It's in version 4. And I am announcing it right now, so probably should provide some background. Hey, what happened? You don't release something in v4. So I joined Uber about two years ago and started a visualization team there. So people there act as a functional team, like design or data science. They go and embed into different other teams to solve visualization problems. So within data products, you can imagine experimentation or machine learning visualization or even partnering with a self-driving car team to have these 3D immersive visualizations that I cannot show, which are really cool. Anyways, we started using DECGL for that. And so it's been stretched and used in many different use cases around geospatial visualization but also for abstract data visualization use cases. And we've decided to open source this end of last year. So I'm gonna talk to you a little bit more about this framework. So what is DECGL, if I were to summarize it, is a large scale WebGL powered data visualization library. Large scale means you may have data dense visualizations, that doesn't mean that you need to render a million points on a screen. You can use WebGL today to do also data processing and data manipulation and aggregation and filtering and so on. So this framework also attempts to basically help you with that. But also if you were to render 1,000 elements or 10,000 or 100 or a million, this can be done with it as well. We decided to go with WebGL. There's a new major version has been released like a few weeks ago, WebGL 2. It allows for a lot of interesting general purpose like GPU programming type of stuff. And we're planning to kind of conquer that space with DECGL as well. So again, high performance GPU computing, we've used it, Uber manages billions of GPS points every day, so we've used this with maps primarily. It does something very specific very well and then it plays really well with other libraries. So you can hook it with React or you can hook it here with MapboxGL which provides perspective mode. So what we do here, for example, is we use MapboxGL as the base layer and then on top of that we overlay different layers built with DECGL. And so you see how the camera systems are synchronized and stuff like that. The other interesting thing is it follows this like instancing and layering paradigm. So the instancing paradigm, you might know it from D3 like this data binding. Like you're creating a scatterplot, you have an array of points, of elements and then you map them one to one to circles.  Coincidentally, like WebGL 2 is extremely efficient at doing that. It's called instancing and you could have for example a cone or a sphere or whatever primitive like a circle and you can instance many of those with just only one call. And so you'll get basically very efficient way to do this sort of data binding. So we follow this pattern, which is both interesting from the InfoVis perspective but also interesting as well from the WebGL like performance type of perspective. And then the layering paradigm comes from GIS, right? Like you have a map and then you have multiple layers. Like a layer could be land and water. Another one could be like labels, roads, et cetera. And you could now have layers on top of that that display data. In this case we have a scatter pod layer on the top left, a hexagonal layer on the top right, grid layer on the bottom left and an arc layer on the bottom right. And so it's a good way to reason about your data. It's a good way to plug into the framework if you wanted to develop your own layers. But we also provide like a dozen different layers that do these things for you. As I mentioned before, the layers are not purely visual stuff. It's not your only rendering stuff but you can also perform different things like aggregation and filtering and so massaging the data in different ways that all happen within the layer as well, right? And so you could imagine this as well as combining for example D3 with DECGL as a Voronoi layer. You pass in a bunch of sites and then the layer uses D3 Voronoi to compute the polygons and then it renders it with the polygon layer inside, right? So you have this sort of like way of adapting code and doing some data processing in the process. What we're looking at here is like a hexagonal layer. We're changing the granularity for the grouping and we're changing a few of the visual attributes and we're also like filtering by percentile. So as you slide the upper percentile, you basically remove the top percentile of the distribution. We've used it for abstract data visualization. So I mentioned we do some of the machine learning visualization stuff as well. Here we're visualizing the output of an embedding using T-SNE. This is clustering, spheres representing stuff that I cannot tell you what it is but it's very insightful and the purple stuff is especially interesting if you know what it is. Finally, there's something that we're really proud of that we've worked on here with this framework which is WebGL has a limitation quote unquote which is as you're coding your shading language, it only supports like 32 bit precision floats. So basically there's only so much you can get from it. And if you were using GPS like global positioning systems and you wanna get that to like the centimeter level for example, well, WebGL would not enable you to support that. And so there's a lot of things that maps do like using web workers or changing like coordinate systems and stuff like that to be able to support that. We took a fully different approach. We basically it's a brute force maybe approach. Like we decided to emulate 64 bit computations, operations by basically doing this technique where you pack two 32 bit floats into a vector two and then we had to basically redefine all math operations linear and non-linear in the shader so that you could support 64 bit. Anyways, what that means is that when I show this very trippy image on the left you have the 32 bit precision it tells you how much you can go and then on the right one you get to see that you can go exponentially further, right? And so all that is emulated in the GPU. Cool, so now that you know what it is and where you could be using it, how does it work? So if you open up the black box, this is how it looks like. It starts, I would say probably if we start from the left side, you have this react component it has some data, you wanna render it using deck GL. Let's imagine that you wanna render it on top of a map. Then what we do here is the high level components that we provide are the family of frameworks that we have deck GL, react map GL which is a react friendly wrapper around Mapbox GL and Lumet GL which is a lower level library to the WebGL rendering which is internal mostly so you would not need to play with it that much. And so you're passing the data through the react component. The interesting thing with react map GL is that the camera system and the viewport that deck GL has are combined. So as you pan, zoom, tilt the map, like both the layers and the map are synchronized. And then as you pass your data, let's imagine you have a layer manager. In this case, this is a rather complex example because you have a layer that has three sub-layers. So you could imagine this, let's imagine you wanna render DOJson, right? So you're passing this DOJson to a layer, then the layer says, well, these feature is a point so I delegate that to my scatterplot layer. This feature is a polygon so I'll delegate this to my polygon layer. This feature is a line, I'll delegate this to my line layer. So you could kind of have composite layers in that way. But if you wanted to simplify your example here, we could just have one layer, that's the scatterplot layer. And Lumet GL takes care of the rendering for that layer. Hopefully that makes it clear. Anyways, so what's react map GL? So react map GL as I mentioned before, it's a react-friendly wrapper around Mapbox GLJS. And if you don't know Mapbox GLJS is a WebGL version of Mapbox and it's amazing and you should totally use it. And then react map GL, what it does is it provides a simpler react-friendly interface on top of that. What you can put inside of your map can be anything, it can be a div, it can be a canvas. So this is where really DECGL comes in. It provides you a way of managing all these layers to create a WebGL context or reuse that context and to make it really performant. And then Lumet GL, we decided to go with this because sometimes there are differences around vision and direction for certain open source frameworks. So for example, some of them wanna invest more in VR and AR stuff which is totally fine and fun. But then things like adding WebGL to support get the prioritized. So we really wanna have control on that and so we developed Lumet GL for it. So the cool thing about it, it's a general purpose like with WebGL framework. It is written using ES6 code base, using classes to wrap main WebGL one and two entities. So it's actually like, if you wanna get familiar with the lower level WebGL stuff, reading the source code of Lumet GL is a good starting point. And then it's WebGL to ready. So you can use floating point textures, instancing, transform feedback and so on. All right, so that's the overall architecture. How would you use this? Where are the main use cases? So there are three approaches. I guess they get more complex as we go down on that list. But on the right you get to see some of the core layers. This is an actual screenshot of the layers. So we have more than a dozen core layers and some of them can be quickly adapted to your needs. So one of those use cases could be using existing layers which is pretty straightforward. Another one which is pretty straightforward as well is creating adapter layers which we'll visit. And then finally, if you wanted to go more and tweak some shader code, et cetera, you could extend these layers to have them customized. So on the first point, using existing layers, if you go to deck.gl, there's a gallery, you'll find a lot of examples. Each one of these examples are standalone examples. You can just clone them, copy them, tweak them, learn from them. You can view the code for this example. There's a fat arrow there. You click there, it'll take you to the GitHub page.  You can use the documentation, API docs, all interactive. And you could kind of figure out like which one of these props, like what do they do basically. In this case we're instancing a new scatterplot layer and then that's the code inside of the larger piece of code. We're wrapping that around a deck.gl overlay which instances deck.gl as part of its return statement and adds that layer in. And then finally what we do with that deck.gl element is we add that deck.gl element inside of the map.gl map. So in this case we have a map with the layer inside of it. On the extending layers, as I mentioned before, you might want, for example, to write your own shaders for a layer. You might want to add uniforms when drawing a layer so that you want to add extra functionality. In this case, for example, base layer, arc layer, arc brushing layer, you want to add a mouse over functionality or filtering or something like that. You can do that with the arc brushing layer. And then finally, if you want to go more wild and have your own custom picking mechanism or how full flexibility into what WebGL can do without this framework bothering you, you can just do that by extending the layers as well. An example of this is, I don't know how useful this example is, but it's a good illustrative example. You have a scatterplot layer, right?  You wanted those to be rounded rectangles. So in this case, what we do is we extend the scatterplot layer and then we override the draw function. So what we do in the draw function is we just call the same draw function as before, but we pass in a new uniform. You can think of a uniform as a prop. And it's a corner radius, right? And then on the shaders, instead of passing in the same shaders as before, now, since we're adding a new functionality to these shaders, we'll pass in our own custom fragment shader. But we'll reuse the same vertex shader as before. And then finally, we set up the default props for the corner radius there. Basically, this is a fragment shader. I'm not gonna go much into detail for that, but in order to create, so imagine it renders rectangles. In order to create a circle, it discards a bunch of pixels that are being rendered on the screen, so you can control that basically from the corner radius prop uniform. And then finally, composite layers. So as I mentioned in the architectural diagram, you can manage multiple primitives into one layer. GeoJSON is a good, clear example of that. I think that the cool thing about it is that it breaks down a complex rendering problem into smaller testable classes that you can reuse. But you could also use composite layers to do some data processing or aggregation before you do the rendering. We talked about the hexagonal layer, that video, like there's some aggregation before the rendering.  Once you have those polygons, you can render them with a polygon layer. That's a way of adapting a layer, changing their interface so it suits better your specific domain and problem. Yeah, so those are pretty much kind of the use cases where we see people kind of plugging into the framework. So for that we audited a lot of the APIs, made sure that they were consistent across multiple layers and also provided good documentation for these specific three use cases. So the first year at Uber I stopped coding. So for a year and a half I didn't code and I went back to coding for this example and I realized why I stopped coding. But it's an interesting use case. It's a way of creating custom layers to visualize wind. And in this case the data for the wind is not correct. We do some data processing from sparse data coming from different kind of wind stations to have a more uniform pattern so we can render this. But I wanted to showcase that because I think it's an interesting also way of using WebGL to do just data processing and not the rendering itself. So the story for this example, two years ago as Irene mentioned, I was here and I showed a wind map as well. And last year, Patricio, who used to work at maps and then took the same data set and also created a visualization of wind using Tangram which is an awesome tool. And so I wanted to do a re-remix of this. The data is already cleaned up, it's easier. So something that really bothered me though about this data set was the fact that the data set is like sparse. You have all these points. They encode wind velocity, direction, temperature and elevation. But the discrete points, they're not interpolated. If you pick a random point on a map, you won't get the data for it. So how can we linearly interpolate all this data in a sense that no matter where you are in the US you can get some sort of approximation of what the wind information is. You do triangulation. So basically what we do is we can encode wind speed into a color channel. Let's imagine like red and angle to green and speed or I don't know what temperature on blue. And so you can render those dots as colors into an image and every color will encode this three dimensional or three dimensional data. So what do you do with the intermediate points where if you have that as a triangle and you render it through WebGL, the GPU is really fast at linearly interpolate all these values in between. So you could use that. You could take advantage of that to do that for all your data sets. So the only thing that we need to do first is the deloni triangulation for the stations in the US. And I think this might be the first time I use the deloni triangulation for something that's useful and not only pretty.  So you will get all that interpolated and it will return an image where you can sample any pixel in that image and you'll get that interpolated wind value. So the step after that was getting a vector field to show up. So for that we created a layer, use the instancing paradigm, right? So we have a bunch of lines that can clone multiple times and that way we can basically have an overlay of how the wind looks like at every point in the US. And this is the first kind of approximation of it. So we used the deloni triangulation also to encode elevation. We use it as yet another layer. We have a layer for the stations, a layer for the deloni triangulation and a layer for the vector field. So I used that, I added a little bit of lighting and stuff like that during the process. And this is the first stage. So on the left you have a slider. So these are the last 72 hours of wind. So you can see that vector field kind of interpolate. On the top right you get to see like the outlier of wind like Mount Washington where wind is like exponentially stronger than anywhere else. So don't go there. And then at the bottom you get to see some of the stations. So every yellow dot there is a station but we don't care about them anymore because we're interpolating all of the data. So the next thing that I decided to use was transform feedback. And this is a new technique, well a new feature that WebGL2 has. And I'm not gonna go into detail with the rendering pipeline but previously it starts from the left to the right. So you're passing a bunch of points, imagine like 3D coordinates as an array. It goes through the vertex shader which is programmable. You can type in GLSL code and you can perform like affine transformations to those points so you can translate them, rotate them, scale them, do stuff like that. And then there are multiple other processes, like from the points you create triangles. From the triangles you have a 3D concept, you need to put it on the screen so you rasterize it. And then it goes through the fragment shader which after rasterization it decides like which color to add to each pixel on the screen. But what we care about though is that vertex shader there. Like that's pretty interesting. You're passing a bunch of points and you can do a lot of like computations in the GPU in parallel and sometimes you don't really need to render the stuff in the end. Like you could just do random math with it, right? And so WebGL2 enables this thing called transform feedback where we can basically use the output of a vertex shader as a buffer and use that as data. So you could imagine yourself just, you know, defining a sine function in the vertex shader and passing in a random array of points and then getting back that sine function back. There is a little bit of overhead of like creating the buffer and sending it in, et cetera but it's overall super fast and made parallel. So this is how it looks like. There are some voids in Florida. So we throw particles about a million like randomly in the US and at every point we sample the place in the texture where those particles are moving around and we kind of update the velocity and the position of that particle. And then as you change the time, you'll just like keep sending over particles. Every particle has a time to leave. So, you know, they'll move around for, I don't know, a few seconds, then I'll take them back, throw them at some other random place. So, of course, what's interesting is, well, you know, there are interesting patterns. Like you have finer granularity on top of your data and the way it's being visualized, I think it can be reused in multiple ways. Actually, we'll add these layers or as core layers in some like later version of DECGL. But it also shows you the flexibility of the framework, right? You can just plug in anything, build your own layers and create an app with it. So, I'm taking all the credit, but this is a DECGL team. As I mentioned before, we do visualization within business insights and advanced analytics and a lot of core visualization work more around centered, like around computer graphics. So this team has been working thoroughly on that. It started as an internship project by Yang Wang there and now it's pretty core to like a dozen different internal labs at Uber. So that was pretty powerful. Thanks.


Welcome to Monet Café, I'm artist Susan Jenkins and I love bringing you guys practical information to help your pastel painting career along with tutorials. But in this video I'm going to share with you a recent discovery that I'm so excited about. I'm just doing a voice over here. This was a video I shared with my patrons on my Patreon page where I was so excited about a new invention I made for a backing board to support my pastel artwork and also for teaching. So in this video I'll be sharing with you why I made this board, how you can make your own board and why I think it is a wonderful backing board or support for pastel painting.  I like it because it's lightweight. I can move it around whether I'm working upright, lay it flat. But one of the challenges with it is it gets dirty. You can see some of my pastels and my underpainting mediums, how they've gradually made the board very dirty. And since I like a nice presentation, especially for my videos, I find myself having to replace them often. I get these at the dollar store for a dollar. But if you want some really good foam core board, it can be about four or five dollars. And here you see I often like as a teaching tool to put things on my board while I'm creating a video. You can see my helpful teaching tools taped to my foam core board here. And once again, this board is also getting dirty. So after a period of time, I have to replace them. Now I've had a new method of filming lately where I'm actually filming with my camera overhead and I had been using the same method of putting down a clean piece of black foam core board just for a nice presentation. And I have to have my little buddy Jackson with me, of course. And you can see the same thing happens. I have just pastel dust, little residue of the pastel sticks. I sometimes lay on the foam core board so it gets dirty. And the main point here is it gets expensive to keep replacing my black foam core board. So I thought, what can I do to make something that I can reuse? And so I had the idea of using a black surface that I could literally wash off. So I happened to think about a chalkboard type of surface. And I knew that they made this peel and stick type of chalkboard. And I realized I needed to put it on something that was lightweight. And thus I used the Gator board, which is lightweight. And it's a bit more water friendly than foam core board and a little more sturdy. So this system is going to work great for me. I can use it flat. I can pick it up and put it on my easel. And another great feature was I happened to find magnetic chalkboard. So this is amazing for me because when I have it up on my easel and I need to put some teaching tools or elements on my board, voila, it's going to stick to the board. Just great. I'm pretty sure I got my Gator board from DickBlick.com. If you go in there and type in Gator board, you'll see all these different sizes. Now it is not inexpensive, okay? But remember, this is a surface you're going to be reusing over and over again. So check it out and you might want to check around for other pricing. Now as far as the magnetic chalkboard material, I was able to find one that was much larger. I really wanted to go larger than the board that I had made. This one is not magnetic though. I found this on Amazon for basically around $21. It's 35 by 78 inches. The one that I purchased was smaller. It was 18 inches by around 39 inches and it is magnetic and washable and it's just great. But I might do another board and lose the magnetic feature just to be able to have a larger board to put on my easel. Now let me show you how awesome this is for cleanup. As a test, I decided to add soft pastels to this board. Now it is a chalkboard. We know chalk will erase, but I wasn't sure about soft pastels. So I thought I'd just add a few different pastels and I ended up creating a little painting from imagination. My main curiosity and hope was that these pastels would wash off similar to chalk. So I just kept playing around, adding some color, and then I decided to just get a spritzer bottle of water, spray it and see if it could be washed off. So let's check it out and see if it will actually come off and I'll be able to use this board again, thus saving me a whole lot of money so I don't have to replace the black foam core boards all the time. All right? Ready? Here we go. Let's check it out. So now I'm just spraying on some water. I mean I could have just gotten a paper towel and wet it and done the same thing, but I happened to have this little spritzer bottle near me. And I was so happy that after spraying it a few times and wiping it down with a paper towel, the board came perfectly clean. And so now what's the great news about this? You can use this board over and over again.  Now I do still have to experiment to see how some of my other underpainting mediums, I mean I use like acrylic ink and other things. So I'll probably have to be a little more careful when I use mediums that might not come off this board. But hey, at least I know that with soft pastels I can clean this board and reuse it over and over and over again. And it's very portable. You can take this with you. You can make a few different sizes. By the way, if you want a good little demonstration on how to cut a piece of gator board, this is a clip from a video from artist Rita Kirkman. She uses gator board for her fantastic paintings. And here she's cutting a board that she's already prepped and she's using a metal ruler. I use a T-square basically. And you use a utility knife. You mark your board, of course, the line that you want to cut. And you first just score it. You don't try to cut through it on the first pass. See how she's doing three passes? And then once you get a deep enough groove there, you can literally just pick up the board and it'll snap right into. I'll include a link to her video in the description of this video. So this was me kind of blowing dry my board. I was so excited. So I hope you guys enjoyed this. I hope it'll help you out. And I love saving you guys money. And I'd really appreciate it if you would support me on Patreon. It's $5 a month.  And you get extra content. Also, like this video. Let me know what you thought in the comments. And as always, happy painting, and God bless.


Hi everyone, Joe for Jasper's casewrakes.com coming at you with a quick little Chronicles football fat pack break or value pack break. This is random team number 16 with the five football mixer spots being given away at the end of this. Raiders and OT, they got a field goal 28-25, they got to try to stop Miami here. So let's do the break itself first and then with a different dice roll we'll give away those spots. Big thanks everybody here for making this happen, I appreciate it. There are all the teams right there and let's do the break. Let's roll it, randomize it, five and a six, 11 times for names and teams. One, two, three, four, five, six, seven, eight, nine, ten and 11th and final time. Easy, easy, Jacobi Reset was dropping back for a big pass there, I don't want any pass interferences for my Raiders. Five and a six, 11 times for the teams, one, two, three, four, five, six and 11th and final time. Chargers down to the Jags, get them, get them, get them, all right there's the first half of the list here and there's the second half of the list right here. No trade windows in these, we're just going to roll, get them, got them. Is that a fumble and a recovery, where's he throwing it? What a beast Max Crosby, all right, there's the final, the official printout right here.  That's for Miami, that'll be for William, looks like Tua's going to need a little more seasoning but that's a nice card there. There's Jalen Hertz, rookie, Chase Young, CD Lam, DeAndre Swift is looking good, Rugsy is looking good, T Higgins is looking good, having some nice rookies here. Chase Young for Aaron and Washington, Jalen Hertz for the Eagles, that'll be for Ben, got a couple of quarterbacks here, CD Lam, is he going to have a breakout season? It's about two, you got DeAndre Swift running the ball really well for the Lions and there's Rugsy, he's looking like he's going to have a breakout season, he's looking good, bulked up a little bit too, I think that's been helping him get some separation from corners and there's T Higgins and Jacobi Reset dropping back on third and 20, heaves it, clean, knocked away, nice, good work, good work by the Raiders second, I haven't said that in years, alright, alright there you go, now let's see who's going to win spots, from Brian down to Aaron and everybody in between, New Dice, New List and let's roll it and randomize that list, six and a one, seven times, top five after lucky seven, good luck, one, two, three, four, five, six and a one, seven then final time, after seven, from six on down, sad times, sorry, very close then, no cigar, sad times but happy times for the top five, oh I want to go up, not side to side, Mark, Aaron, William, Aaron and Mark, congrats to you, top five, you're in that football mixer, I'm Joe and I'll see you a little bit later tonight for that football mixer, bye.