Mae'r ffordd i chi i chi'n oes omserssu Mark Wong. Rhaid i chi'n gwybod. Mark wedi bod ni'n rhaid iddyn nhw'n ôl wedi bod i gweinio'r gwaith, oherwydd wedyn y rheswm yn ym 100 yma yn y gweinlusu, a'u hunain i gael gwneud o'r bwysig. I'm standing in for Mark. This talk is written by Mark, and I'm going to attempt to give it in some justice to the way that he wrote it. Mark has performed almost all of the work that's described in this presentation in the sense that Mark is a really excellent performance team. Mark and I started working together on Postgres performance about eight or nine years ago. We did a lot of early work on Postgres performance in the 808182 type timeframes. Mark's ability to set up quite complex tests was very important in the early analysis of things like the hot feature where it took quite a while to understand the behaviour of the systems. The type of work that Jan and Robert were showing in the last talk is very important. It can often take months or even years of work to truly understand what's happening. I was lucky enough to be able to hire Mark into second quadrant about a year ago, and Mark's begun quite a lengthy task of investigating some of the aspects of performance on Postgres. Luckily, we're not duplicating the work that Robert and Jan are doing. They're more focused on OLTP performance. A lot of the stuff that I'm talking about here today is around business intelligence performance and focused on a number of different benchmarks. I've got a range of different graphics to show you, but I'm going to go through the full story of what we're going to look at. Starting in the background, we're going to discuss the patches and new features under test. The background to this work is that we're running a project in Europe called Axel, and that stands for Advanced Analytics on extremely large European databases. Why European databases? Well, they're paying, so obviously, but luckily for us, European databases look almost identical to US databases. It's just the addresses that are different. The salaries are higher in the US, but hopefully that's just because you guys get paid in dollars rather than euros. I think somebody's made that joke already. The Axel project has got a number of different partners, a couple of different universities and another small and medium enterprise. We're working on a number of different aspects of analytical systems. One of the most important of those, which we don't normally get to talk about, is actually security and privacy. This project also sponsored work on row-level security and also the work that's being done on audit. The things that I'm going to talk to you today are really about the core extensions to Postgres that we've been working on and performance testing around that. There is quite a lot of stuff coming out of this project that's worth talking about, but it's difficult to mention it all. What we had a look at to do some testing on was the 9.5 development edition of Postgres. That's not going to be available to you for production use until approximately September this year, assuming the commit fest closes sometime before then, which is supposed to close on March 15. We decided to evaluate a number of different features. One of those is something called the BRIN index, which I'm going to explain to you what it's for and show you some results about what it does do and what it doesn't do. Also, we've evaluated a couple of other patches related to performance in a business intelligence context. There are also the benefits inherent in some of the other work that's been done. Even though I'm not talking about it specifically, there are some other tweaks that are giving us performance improvements as well, but I'm not going to go into those. The first feature is block range indexes, or BRIN indexes, and they were written by Alvaro Herrera. They were originally known as Minmax indexes and various other names before that, but if you're familiar with Oracle Exadata, there's something called a storage index in that system. This is in some ways very similar to that. What is the objective of a BRIN index? It's basically an index type that's aimed at very large databases. The idea is that we want to avoid some of the overheads that you get on B-tree indexes. Who's got a database larger than 100 gigabytes? Cool.  That becomes something of a problem because if you've got 100 gigabytes of data and 300 or 400 gigabytes of indexes, then clearly the indexes become the bottleneck. On the other hand, we realise that performance with B-tree indexes can be very nice. What we're looking for is something that's a bit like a B-tree, but solves some of the problems with B-trees. That's kind of what we get with BRIN. What we have is an index type that exploits the natural order of the data on disk. If you're going to say to me, yes, but not all columns have a natural order on disk, then you would be absolutely right. In those cases, a BRIN index is not going to give you much at all. The cases where a BRIN index is going to help you are things like a date column, because obviously as we write the database, there's a natural ordering associated with the log date on events. It just so happens that date is, of course, one of the most important use cases because there are actually very large historical tables. It's a very frequent use case in databases. The other case is where there's some kind of natural ordering around the use of primary keys that are assigned via sequences. For example, an order number. We know that if we're accessing an order number that is 100,000 orders into the past, we know that that's likely to be associated with a particular area of disk. What we're doing with BRIN is we're actually exploiting the natural ordering of the data as a way of speeding up queries. That gives us quite a few different advantages and I'll show that that has actually realised itself in our implementation. In a B tree, we keep track of all of the data. In a B tree index, every single record in the main table has got an entry in the B tree. There's a one-to-one relationship between rows and index pointers. In a BRIN index, we only index ranges of values. For example, if we pick a range bound in the BRIN index of 10 megabytes, then we will have two index pointers for that 10 megabyte range of the index. As a result, you can see that the BRIN index has significantly fewer index pointers within it. As a result, the index is going to be a lot more compact. With the right data, we can still get roughly similar performance between a BRIN index and a B tree, but the index itself could be around 1,000 or 10,000 times smaller than a B tree index. Some of the other patches that we're testing are the concurrent hash table patch that Robert had written. There's also a series of patches that Andres had written related to atomic locking. The concurrent hash technique was basically exploiting this patch as well. In addition to this particular atomic patch, there's a lockless clock sweep patch which related to buffer eviction. Basically, making shared buffers more efficient. That was quite important in business intelligence because we were actually dealing with quite large expanses of data. There's also some changes to the way that LW locks were padded, which caused problems with false sharing. I'm just reading the slides.  That was a very poor excuse, wasn't it? We won't try that gambit again. We've done some tests on a couple of different systems. We've got two different systems under test. The first one is at Barcelona Supercomputer Centre. The characteristics of this system is that it's got a very large storage array, quite well connected. It's a storage intensive system. The second one has got a much smaller storage array, but it's got a bigger RAM and faster CPUs. We were able to compare and contrast the two different types of hardware for these tests. Obviously, there's a size limit on what we could do on the Manchester machine. The tests that we're looking at here were basically the TPCH benchmark. Why TPCH? Well, I think the main thing is it's a reasonably well specified test. Obviously, there's discussion points around whether it's an applicable test. We've tried not to get too anal about the specifics of the test. What we've focused really on is the intention of the tests themselves. We've also compared the difference between power and throughput tests. The main difference between power and throughput is the power test is in some senses a measure of the ability of the system to dynamically show performance results. If you're an analyst or a data miner and you're sitting in front of the system waiting for it to finish, how long does that take? Whereas the throughput test measures the ability of the system to produce significant numbers of reports. In that case, it's much more to do with the ability of the system to absorb a concurrent workload. Actually, it turns out that the two different types of tests are actually we get different results in each. The TPCH load test is actually quite a complex schema in these days where having more than one table is considered heresy. Look, it's got almost 10. It's not even in a star schema format. What I do know is that the test was originally developed by Teradata in the days when people wanted to express their business problems in application neutral data formats. A lot of the queries involve significant and complex joins that we really wouldn't get on some of the simpler Hadoop-style systems. I think that's a pretty reasonable test. There's a variant of the TPCH test called the Star Schema Benchmark. The reason why we haven't gone into that is simply that the tests themselves are slightly tweaked around. It's a bit confusing to compare things accurately. For these purposes, we've just stuck to the TPCH test. Mark has got some pretty strict methodologies about running the test. As you've seen, there are some points of the presentation that I don't know in detail. What I would say is I was working fairly regularly with Mark on the results of the test. Although he performed the tests, we were discussing the results. I didn't necessarily work with him on the details of the methodology. Some of the things here he's talking about, the specifics of the actual load and the power tests. The tests themselves look like this. There's 22 separate queries in the test suite and they are typically complex queries. What's good about this benchmark is that they're not made-up tests. They actually represent useful business questions against that data set. That is what I consider to be particularly important. Very often when you see people talk about business intelligence performance, they use a made-up, unreal query that just happens to go really quickly on their tests. One of the things that we were looking to do was to make the tests as real-world as possible. We're not trying to blind you with some impressive results on a particular small set of queries. We're interested in measuring how well we're doing in terms of PostgreSQL's performance across the board. There's no sense of trying to get good results here. We're trying to get realistic representative results. Query 12 is another example of that. There's probably about two-thirds of the queries in the query mix have got restrictions on date ranges. This is quite a nice example of a complex query where we're joining the orders table and the line item table. We've got a master detail relationship going on. That consists of a complex case statement. There's some complex where clauses, complex joins and followed by an aggregation. I think that's a fairly typical example of the queries in the test suite. It does actually cover most of the things that we would like it to. Let's go through to the brin tests. What we're doing is loading the data initially with no indexes. Then we're going to load data into a table that's got a single btree index. Then we're going to do the same thing but with a brin index. I'm going to flick ahead to the results because I understand these. The column on the left is how long it takes to load a table with data. In that case, it took 5.1 minutes to load a 10 gigabyte scale factor test. With the brin index added onto that table, the load plus the index build took 5.6 minutes. With one btree index, the load time leaps up to 9.4 minutes. The effect of the btree index is ought to almost double the load time. Whereas in the case of the brin index, we're basically only adding 10% to the load time. These results, those gains come from the simple fact that building the btree is significantly slower than building the brin index. The great win there is that in order to build the index, we need to scan the data. The brin index can be built completely in memory as we build the index. With the btree, we need to scan it, we need to sort it and then insert the inserted rows into the index. It's a significantly longer process. That gets a lot worse if the index itself falls out of memory. If you're building a very big index, then we end up needing to do a different sort algorithm which slows it down even further. These are the effects of data that's completely in memory. What we then did was to produce a table growth test. What we were doing here is to simulate what would happen in a very large database that is growing by a fairly constant amount each day. What we were doing there was simulating the idea that perhaps 1% of the table would be added to each day. It's a high volume incremental change situation. I think that if I just pull out the details there so that you can be sure to see them, the blue line at the bottom is loading the data if we had no indexes at all. The red line just above it is the time taken to load that data with a brin index added. The line at the very top of the graph is the amount of time taken to load data when we've got a single btree added to the data. The important aspect here that I'd like to draw your attention to is the fact that the red line is almost flat whereas the btree line goes up very slowly. It goes up so slowly that on a day-to-day basis you probably haven't noticed that your database is slowing down. As your database is getting bigger, those btrees start to fall out of memory. Every insert into the btree slows down as the btree gets deeper. What eventually happens is that graph keeps on going up and up and up to the point where when you get to terabyte-sized databases, building btrees on those things, I did already use the word suck, so I'll just repeat that.  What we've got with the brin index is one of the objectives of it was to have what we call a constant time addition for the brin index. As we go up into the terabyte range of data, the brin index is able to maintain the insertion time as we expand. That's particularly important for very large databases. The objective here is to build a data type that doesn't just work reasonably well on a 10 gigabyte system, but have something that's going to work well at 10 terabytes or dare we even think about what it will be like with a 10 petabyte system. I can tell you if you did have a 10 petabyte system, I don't really want to sit and wait while a btree gets added that's going to be like five petabytes of btree, so I don't even want to be there. In fact, it probably wouldn't ever finish, at least not until we get parallel index build. By the way, where is Mark? Are you still hiding at the back? He went out again, damn. I was going to ask him if you wanted to take over. The overall load test on a 30 gigabyte system showed that using brin indexes appropriately reduces the actual load time for data by 26%. This took a little bit of database design knowledge because the basic original test had 28 btrees on the database. What we did was selectively replace eight indexes with brin indexes. Initially, we just replaced all the btree indexes with brin indexes, and that's a bad plan. As I explained before, brin indexes only work when the data is appropriately organized. It is not true that you can replace every btree with a brin index. What we did was select the best cases where we could use a brin index. That was good and useful, and it reduced the overall load time by 26%. 15 of the 22 queries were able to use the brin index type effectively. That's basically three-quarters of tests. This is an interesting slide because the pink bars there are the performance we get from brin indexes. If you think that you're not seeing it correctly, the brin indexes are slower than the btree indexes in quite a few cases. I'm saying that that's actually a design objective of the system that what we wanted to do was get build time and constant insertion time were higher on the list of performance objectives than data retrieval time for some of the queries. What we will also see in other areas is that there are cases where the performance of the brin index is very cool and much better than a btree, but in general what we were doing was to have a retrieval time that was roughly in the same ballpark as btrees, while at the same time making them much more practical to use. What I'd like you to do is think about what that's going to look like on a 10 terabyte system, where if you've got a btree where the btree is so big that it's practically unusable in that situation, even though the access time, if you add one, would be better, you realise that if you've ever tried to create index concurrently on a multi terabyte system, it is, I think the words, very severe impact on your system is not quite sufficient. Whereas a brin index will actually build quite quickly on some of those systems. So we do have some happy results, you can see query 20, query 2, both show massive reductions in query times as against a btree, whereas in a lot of the other cases you can see there is some degradation, but it's not too bad. So the results that we had were that using the brin indexes gives an overall improvement, and this is averaged across all of the different query types of 28%. So there's a clear net benefit from replacing some of your queries with this new query type. And I say some of your indexes. Another index comparison, here we're comparing having red is no indexes at all, green is btree and blue is brin index. So you can see that there are cases where btrees just simply don't help, but the brin indexes work quite nicely. So on the power test, having brin indexes against no indexes is obviously fairly good. I'm not sure that anybody was suggesting having no indexes was a viable option, but we measured it anyway. But the overall results were that practical tests were showing that a brin index is 612 times smaller than a btree. Obviously that's just one measurement. Don't expect it to be exactly the same. There are some configurable parameters that you can set on a brin index, and also it will depend upon how your data is organised. But in general, you should see massive reductions in size when using a brin index. Now, the reason why that is important is what we're saying is if you've got data that's say 5 terabytes in size, then a brin index on that data might only be something like 10 gigabytes.  So what then happens is on the larger systems, you get a huge amount of cache back for querying, for sorting, for joining, and it actually makes a significant difference on what we call the memory pressure in the systems. So instead of having btree occupying almost your whole cache, now you're going to change that to actually having that RAM available for query workloads. So there's some scalability results that we've got as well. How much longer have I got? 15 minutes. Thank you. So on the scalability tests, we can see that the additional patches that we tested produced a 20% improvement and a 14% improvement just with the most recent tests. So what we're talking about is comparing 9.2 against the latest branch of 9.5 development. The scalability of the tests was considerably better. This is on a throughput test. We can see the number of streams was better and the overall throughput was better as well. So the tests that we've got showed that taken as a whole, the overall results were that we can significantly improve the number of queries per hour that these systems can handle in comparison with the same situation roughly two years ago in terms of the software. On a four socket system, it becomes very clear that we've made significant gains in terms of throughput. So what I've wanted to do just... So the other results that I've got in terms of the tests were actually broken down by queries so that you can see that we've made gains on every single query in the benchmark. And a lot of the queries have improved radically in terms of their performance. What I would say is that we are yet to make even larger gains in terms of query throughput. There are a number of queries that we cannot improve without either materialised views or parallel query. We've kind of done pretty much everything we can think of to do. There's a number of them where we're also hoping to improve performance using column store techniques. One of the tests that we did on this workload was we mimicked the performance of a column store by literally dropping all of the columns that were not needed for particular queries, which obviously is cheating. But what we were trying to do was prototype what the performance would be like if we had a column store and the columns that were not part of that query were basically just not touched at all. And when we did that, we got an improvement in performance. Just do nothing else of 25% improvement by using column store. So one of the things that we're hoping to do in the next release is work on column stores and really this is for Robert's benefit that there are certain queries that we understand need parallel query in order to get improvements on. But this is quite a good query mix because we're able to identify particular queries that can be speeded up by particular techniques. So I'm switching around a bit with some of the performance results that I've got. We also did some testing. These results come from Thomas Vondra. And what Thomas did was use a similar benchmark called TPCDS. It's a business intelligence benchmark in the same way that TPCH was. And interestingly, you can see that we've made significant gains in performance from the days of 80 down to the latest version 94. So the performance differences that I was talking about just now were differences between here and the latest 9.5 development version. And the performance that we've achieved on a four core box difference between 9.2 and 9.5 development version, we got a 232% increase in throughput just between this point here and this point here. So you can see overall we've done quite a lot of work to improve things down the years. One of the most interesting things that I note from this graph is you can see in the middle of the graph there's kind of regressions. We're actually doing relatively badly in terms of performance. And that's basically the period where we stopped measuring performance. So the early days are when Mark, who used to work for OSTL, was active in regular testing of Postgres to check that we were actually improving performance. And that worked. You can see by regularly publishing to everybody what the results were of performance tests, we were able to bring things down. Then I think Mark moved on to some other jobs and basically nobody took over for a few years doing those performance tests. And what's then happened is round about the 9.192 timeframe, people like Robert, people in other areas have started to do more performance work and we've begun to bring the performance back down again. So while you might look at that and go, oh, you had a problem at 9.0, the problem was actually a systemic one in the sense that we weren't measuring performance and so it crept up slightly. So that's a lesson for us all. I love this graph because it's so difficult to interpret. So I feel it kind of lends me credibility to have a really complex graph. This is a very strange way of saying that the GIN indexes, GIN fast scan produced an algorithmic speed up in performance. So what actually happened was no matter how fast the query was, it was replaced by a very fast query when we get at 9.4. So basically the slower the query was, the more it was speeded up. But the reality there is at 9.4, GIN fast scan basically completely flattened the curve. So queries that were executing in quite a range of different times all came down to very fast performance. So it's a complex graph to say we made it faster. Cool. And is Mark going to come back in? No. Could somebody just pop their head round the door and grab Mark if he's there? Okay. So the highlight really of the performance results was that taken together using the concurrent hash table, using the atomic locking improvements and the better cache line padding, plus all of the other improvements that had already gone in to Postgres. And then in addition to that selective replacement of certain indexes with Bryn indexes gave us overall the difference between 9.2 and 9.5 development was a 232% gain in overall system throughput. So this is a busy data warehouse executing a large number of queries. Now that result is particularly interesting to me because what I see out there is that there are a lot of people using Postgres for business intelligence. When you speak to all these guys doing big data, if you have a big data system, it frequently ends up that queries go faster but they're not able to produce as many answers per hour just simply because some of those systems they're using all the power of the system all at once and they're poorer at throughput than you would expect. So one of the key places where Postgres has got utility there is the throughput case where there's a very busy system doing lots of complex queries and that's actually the area where we've improved the most. So I think that's an important result. But just to link back through what you've heard, basically what we've said is that the new Bryn indexes are very exciting, they've got very clear advantages when used appropriately. Plus we've got a number of other internals tweaks that are coming in the later releases and they are proven to be very effective for business intelligence. I can't speak to whether they are improvements for OLTP only because we haven't measured that. I believe they are and I've got a feeling that if I recall from Angers's results the benefits were actually better in OLTP but I don't have hard numbers on that from the systems. So what I'd like to do at this point, seeing as Mark's just walked back in, is don't give me a clap, give Mark a clap because he did all of this work. So given that you've arrived, Mark, you can probably help me with some of the questions on these things. There were some points I couldn't talk, I got one thing wrong earlier actually. Were any particular questions? Yeah, basically because there will be a call to the index management functions but that won't necessarily result in an action on the index. So the Bryn index is indexing the minimum value and the maximum value for a whole range and unless those changes, unless those change, the index itself won't change. Now what I would say is that the Bryn indexes are not ideal for heavily updated data. They are definitely more designed for sort of the append only case. It's not true that they only work if it's 100% pure append. It's more a case of there's a sort of gradual decline in performance the more heavily the table is updated. Just to repeat what I said, heavily updated data will be a bad thing for the Bryn index. No, the data is not clustered because of the existence of the Bryn index. The Bryn index takes advantage of the natural ordering of the data. If there isn't a natural ordering of the data then there would be no advantage in the Bryn index. Right, so I mean it's possible for you to cluster. You can issue the cluster command to physically sort your data and then it will have a benefit. But the real benefit comes from types of data where the arrival of the data naturally causes a segregation. Obviously if we've got events or transactions or something like that there's a natural ordering of the data so that the data at this end of the table will have an earlier log date and the data at this end of the table will have a later log date. So as we insert into the table there's a rough ordering to the table. It doesn't need to be exact. We're not relying on an exact sort property. What we're talking about is a natural tendency. So if I ask for the last week's data we know roughly that's up this end of the table and I can avoid all of the IO associated with the full table scan. So it sounds like a hit and miss operation but what we're aiming to do here is produce a special type of index that is optimised for very large tables in a business intelligence context. The row ID obviously already is sorted but we're interested in indexing data that the user would know about. Nobody does look up on row ID because it's not meaningful outside of the database. I think it's more a case of particular columns benefit from one type or the other but the real benefit for the very large tables comes where you actually replace one or two indexes with maybe say five brin indexes because it's actually more practical to index columns than before when you sort of thought I'd love to put an index on that but I don't have 200 gigabyte spare for the B tree that would be created because the brin index is actually smaller and faster to build you can have a brin index on it. It's just more practical to put there. It does an index heap scan in the same way so that you can actually use multiple types of index or multiple brin indexes to retrieve the data but obviously only if the optimiser sees that that will work it still goes through the optimiser in that same way which gives you all the selectivity problems and that kind of thing. An impact on the cluster operation? To all intents and purposes cluster is impossible to use in production because it's so dramatic a command nobody's got enough time to sit and wait for that. Any other questions? Do you have a question for Mark? Those are all about the design of the brin index. Thank you by the way. I believe I'm between you and lunch so never a good place to be. Thank you very much.


Hi, my name is Joe, and you can usually find me on the Cointelegraph News team. My guest today is Christophe de Bucalaire, a Brussels deputy and European official. So why are we talking to a Brussels politician? Well, because he's the first Belgian Member of Parliament and the first European politician to take his entire 2022 salary in Bitcoin. It's quite simple. He gets paid, and he puts it straight into BTC. It's a monthly salary of roughly €5,500 that gets converted to satoshis every single month. It's a bold move from a politician working in a conservative arena, but Christophe has his motives. Notably, raising financial awareness, contributing to financial education in the country as well as in broader Europe, and of course sending out a message that maybe, just maybe, Bitcoin is a safe place to put your money. Christophe, bonjour. How are you doing today? Bonjour. Hi. I'm fine. Thanks. The last month, you decided to take the entire salary for 2022 in Bitcoin. Given, as you say, that it is such a long-term trend, it's almost this bigger picture thing going on here, what made you decide to take your salary in Bitcoin now? There is a real strategy. From Asia and in the US, there are busy two on this topic, very a lot further than us. And I was thinking, okay, the world is going straightforward, and Europe is thinking about what would be interesting or not, and in Belgium, we had the first hearings in the parliament. There are now making hearings to inform us for the first time about what are cryptocurrencies. So there is a big problem. And I thought, okay, if we let things go like this, Europe will never have something to say in this. Once again, in the financial world, it will be Asia and the US that decide everything. So I thought, okay, I have to do something to raise awareness much more than it's going on now. And that's why I thought, okay, maybe if I take all my salary for a whole year and I put all my credibility in this topic in the press, in the media, it can help. So that's why I made this announcement. You know, the digital yuan on one side and America on the other, which is, you know, today is the launch of the Bitcoin mining ETF, for example, and then, you know, El Salvador, which has their El Chivo wallet on which they're giving out these $30. So it's important that, yeah, Europe plays this role. I mean, can we go a bit deeper there? What kind of message are you trying to send out to the wider public by being paid in Bitcoin? My real political statement is that we have to abolish the last privilege of the rich, is the financial ignorance. So for the moment, we have a financial system that benefits for a big, big part to small amount of people. And the largest part of the people don't benefit from that, from the financial market. So we have to ask the question why. First thing, of course, is the financial ignorance. So we have to address that. We have to have concrete financial courses in school, at school, to learn people, to put all people on an equal level in front of the financial market. The financial market is very positive, like it's organized now, centralized, because it brings a lot of stability. And that's a good thing. But there is also true facts, like inequalities, inflation is coming, there are some crises in 2008, financial crisis and things like that. So maybe, and it's not very transparent, the banks costs are big costs also for the people, not very accessible, to billion people don't have a bank account in the world. So I think we have to improve the system. And how can we improve the system? I think Bitcoin and cryptocurrencies are a way to improve the actual system. So because they have some very good advantages, those cryptocurrencies, very transparent, the same rules for everybody, completely decentralized, so nobody can cheat. And so if you take those two systems, and that's my vision, if those two systems are working together, maybe we can have like a monetary power like we have now. I know that Michael Saylor, for example, is a big proponent for Bitcoin being this, you know, global reserve currency and then dollars working on top of it. So yeah, it's, but just you make the distinction between Bitcoin and cryptocurrencies, which is also a growing trend. So why for you, Christophe, is it why is it Bitcoin? And why is it not Ethereum or Solana or any other cryptocurrency? What I see is that Bitcoin is the oldest, the most stable protocol, the maybe the only one who is really, really decentralized completely without control of any of any yes, central structure with a proof of work, which is have some issues with energy, but which brings a lot of security and a lot of stability. And so for the moment, I'm thinking maybe Bitcoin is the most stable thing where we have to work with. But I know it's, I told you, it's not a very strong position. I'm very open to change that position and to learn about that. But why I did the announcement with Bitcoin is also because I think it's the most, everybody knows it and it's the most accessible of a very inaccessible world for the moment for the normal people. What about your colleagues that must must call for some interesting discussions at the water pool or at the coffee table? To what extent have you received, say, support or I'm going to guess criticism from your colleagues about your decision to swap your entire salary for Bitcoin? To be honest, I'm not sure people and also in my colleagues only very few understand that we're touching there something very important. You know, that we're touching that we're talking about monetary system that we're talking about, yes, things that, yeah, we talk about money. Money is the blood of the economy. You know, it's so important. And when we talk about Bitcoin and I don't think there are a lot that understand that we're talking about that. So there are more some say to me, ah, that's a good media. Yeah, media movie, yeah, sure. But the most of the people are criticising me, really. It's they say I'm crazy. They say I give the bad example. They say because of the climate impact of of of of Bitcoin, it's a very we have to stop that. They say it's to find in the terrorism and all the, you know, other legends we hear. Yeah, yeah. So for the moment, it's more negative reactions. But I hope, yeah, when negative reactions on Twitter and things like that. But I think it makes them like, like we said in the beginning, OK, Christophe is someone is not crazy. If he says that, maybe there is something right. And I hope some will will follow that path. You know, just yesterday, we saw that KPMG in Canada has announced that it sports some Bitcoin to put on its balance sheet. So I think, you know, the wheels are in motion and some of these dominoes are starting to fall. Has there been any temptation? Has anyone come up to you and said, hey, Christophe, you know, how do I work out this wallet? No, what I have is some some colleagues that criticise me in public, you know, but in private that tell me, yeah, but you have to know. I already tried also my daughter or my son is teaching me how to invest, but I don't believe in the technology, but I'm going to invest because there is some money to do, you know. So they're not ready to assume their position, but you see they're beginning to think about. And just to go back to what you were saying earlier about these two separate systems, you know, that this counter system that's fighting the well, not fighting, but maybe promoting innovation within the existing system, what does that mean? What is your vision for for crypto in this sort of light? What can the two worlds bring to, you know, how can they combine to work towards a better world and a better monetary system? I think we have to look to gold, you know, when there are crises, we we understand gold can be a way to protect ourselves about against the fluctuation of money or against the when there are big problems, everybody says, OK, we go back to gold and Bitcoin is a little bit numerical gold, you know. So I don't know yet exactly how it will how it all will work together, but I feel there is something interesting there with the digital world, the currencies and assets can become very, very the limit is because in the beginning you say, yeah, currencies, you have to exchange it rapidly. And so with gold, it was more difficult. And with a property document of a house, it's difficult to, you know, you cannot use it like currencies. But with Bitcoin, it's in the middle of the two. You don't know really an asset or a currency. So that's why all economies are debating on that question.  OK, maybe not, maybe well. But what does it change? And so I think it's a new it's really a new way of thinking. It's a new and there is still a lot of to being learned in that. So, yeah, I have a vision of collaborating. That's true. That's for sure. I have a vision of more access to finance, more transparency. And I think it's different from the vision of China, who wants to use the digital yuan. Is there anything else that we haven't covered that you might like to add towards the end of the video? I've just got one final quick question. Maybe just a message to give to people who are following us, because I think people who are looking to to this, they all are following you, are people who are very entrepreneurial investors who already know a lot about blockchain and Bitcoin and cryptocurrencies. And I really want to pass that message that we have to don't be aggressive against the traditional financial world. That's not the way we will we will we'll make steps forward. We have to enter that vision of collaboration. People who are in traditional banks, political leaders, they also have other constraints.  They have to be sure the population will not the citizen will not be have problems when they invest and because there is less of security in the in the crypto world. So it's normal. They want to have some restrictive legislation. And so you have to go and explain. You have to go and try to collaborate with those people to convince them to explain them, but not to treat them like people who understand nothing and and and be like, you know, people of the 18th century know they have their constraints. So it's important to we now we enter in a collaborative moment and not a fighting moment, because otherwise we will have more and more delay in in the beginning, really implementing new projects with crypto. As you said at the start, you know, we need to make sure help people along that journey and to understand. And as you did, take the time to learn about Bitcoin and cryptocurrencies. That's brilliant. Bitcoin price prediction for 2022. Christophe, last question. Are we going to see 100,000 euros, 200,000 euros? Thousand twenty two. Yeah, I think it will it will take some more time than we think. So I think that if we if we stabilize around the 100,000, I think it will be already an incredible performance. Fantastic. That was great. Thank you so much, Christophe. Best of luck to you in the future. And yeah, see you soon. Cheers. Bye bye. Ciao. Bye.


Research by its nature reveals new insights, new knowledge, which can be used for improvement within the tax administration itself, but also can inform policies. The UNU-Wider collaboration with Uganda Revenue Authority started some time back in 2017. We had been receiving at the URA so many researchers requesting for micro level data and at some point we realized that we needed a structured way to support these researchers with data but taking into consideration the confidentiality of taxpayer information. The actual big change then was we created the research lab to work with the micro data at a taxpayer level but without revealing who the actual taxpayers are. At this conference many of the papers that have been presented are a product of the research that people have carried out using the tax administrative data. And we have seen administrative and policy reforms being informed as a result. The story of change has been a shift from the ease with which researchers can then access data for research. We would want to involve research institutions, we would want to involve the academia and tell them more about this resource that we have. Data is the way to go, it opens up different insights in which we can improve as an authority and as a country.


I'm so. Whoa, whoa, whoa, whoa, whoa. Clap the room, I'm coming through. They wanna see what I'm about. Yeah, I got skills, do it for the thrill. I'm on a pay for bow. Daily, what do you do? Daily, we'll solve monthly, annually, weekly, et cetera. It's the daily. So here's what I do, first thing. I call it million dollar morning. Well, let me ask you guys a question. What if I handed, and pay attention to this part. What if I handed you a million dollars? Would you be excited? Would you be seriously excited?  Anything? Okay, so a million dollars. Who would be excited for a million dollars? Okay, now let me ask you this, and be honest.  Would you take the million dollars? Okay, everybody goes, well, of course not. Well, then shift your perspective to realize that this morning when you woke up was worth more than a million dollars. But you weren't as grateful as you would be if I handed you a million dollars. You were not as excited as you would be if I handed you a million dollars. Why is that? Because we've been waking up every morning, and we've been bombarded, and we've been learning the wrong. Everybody's trying to figure out what to learn, try to figure out what to unlearn. I started to interrupt the video. Right now is the time to take yourself to a whole new level. Listen, the market is gonna demand you to get more skill right now than you've ever needed to have.  I would love to talk to you. Tell me what you need help with. Text me right now. If you see on the screen, my cell phone number is<PHONE_NUMBER>. Let me say that again,<PHONE_NUMBER>. Shoot me a text message. Tell me what you need help with. I'll reach out and call you. Let's take you to the next level. Let's get back to the video.  Just waking up. So tomorrow morning, when you wake up and people can say easy for you to say, dude, my car payments do.  Be like, no. Okay, so the fact that you woke up, just forget all the other problems, all the other challenges, all the other bulls***, the fact that you opened your eyes. Because a lot of people have it and won't. So if you focus in on this word right here, gratitude, everything shifts and your problems become opportunities. You don't dread going to work. Oh, f***, bell to bell. They still doing bell to bells in the car line? Yes. Like to me, that's just normal. Like that's how long I was in the car business. Couldn't believe people work nine to five. I was like, f***, no kidding. But guys, this is the key to it all right here. The rest of it, the rest of the million dollar morning, it doesn't really work if that doesn't work. You might get healthier. You might get a little more money. But guys, this right here is the key. You wake up every single morning, as if you were just handed a million dollars. And if you really want to get technical, it can be 10 million dollars. Cause would you take 10 million not to wake up? Like think about it. You won't, you, there's no amount of money that you would take to not wake up. So when you wake up in the morning, if you can capture that kind of enthusiasm, that kind of excitement, that kind of fricking gratitude is what it is.  You wake up happy as s***.


Bismillahir Rahmanir Raheem and Aslamikam everyone. Good to see you again. In our last session, we were basically talking about the different theories of corporate governance and we saw that there are eight different type of theories and definitely in each theory there are many different elements, there are different variables and most importantly there is a different texture and contextualization based upon the country or the region in which that corporate governance theory is being practiced and the most important thing which we looked at in the last session was that theories are not followed in isolation but actually they tend to overlap and many times they tend to create an amalgamation theory of corporate governance. So today ladies and gentlemen, we are going to be talking about one of the very important and very fundamental theories and that is the agency theory. Now when we look at the agency theory, it can be traced back to the globally renowned and historically prominent economist and that was Adam Smith who identified an agency as a problem. Now the fundamental theoretical basis of corporate governance is agency costs and when we look at this then a very important phenomena tends to emerge and that is called agency problem. So what is agency problem? Agency problem is the mismatch of objectives between owners who are called the principals and the management who are called agents. Now this mismatch can many a times lead to the bankruptcy of a particular organization. It can lead to its annihilation, it can lead to its elimination, it can lead to its scaling down below economies of scale. Now this mismatch is a mismatch between the principals who are the shareholders and the management who is the agency working on behalf of the different shareholders and that leads to the agency problem. Now the cost incurred to do away or to bear the differences or the agency problem is called the agency cost. Now when we are looking at the agency cost then definitely if there is a problem, there is a conflict, there is a misunderstanding or there is something which leads to a stalemate, which leads to stagnation then definitely there is a huge cost involved in all of this and that is called the agency cost. So it is very important that the management and the shareholders and the board they work hand in hand in tandem with each other or otherwise it could lead to an agency problem which would definitely have agency cost and those costs sometimes can be phenomenal and very deadly because it can lead to the closure of the company. Therefore having a congenial and comfortable, healthy, positive relationship between the management who are the agency and the shareholders who are the very foundation and principals of the organization that is extremely important and whenever there is a mismatch they always are problems. Now when we are talking about the agency theory in the modern corporation, managerial actions depart from those required to maximize take holder returns. Now a very important thing is that there is an invisible line that in the optimization or in the maximization of profits the agency which in this context are the management they do not start trampling on value systems. They do not start sacrilegeing on the different elements of success within the organization. They do not get involved in such activities which would lead to the immoral labeling of the organization and they are above board of being sensitized or being encrypted with the negative tendencies of management to optimize the profit. So that again is a very very important aspect. We talk about agency loss, it is the extent to which returns to the residual claimants. The owners fall below what they would be if the principals the owners themselves exercise direct control of the corporation. So when we are looking at the agency loss then there is this possibility that if the shareholders take direct management of the organization then maybe they would not have faced so many losses and when we tend to calculate that that becomes the agency loss in totality. The agency theory specifies mechanisms which reduces the agency loss. These include incentive schemes for managers which reward them financially for maximizing the shareholder interest. So again to ensure that there is no corruption, that there are no shortcuts and to ensure a healthy positive constructive environment different incentive schemes can be given to the employees so they do not have to resort in negative activities which would eventually have a negative impact on the organization. So when we're talking about the problems with agency theory then a fair and accurate financial disclosures is very important. The quality and independence of statutory auditors, preparation of the accounts by management, scrutinization of accounts by the auditors, transparency, discouraging, value-destroying, deviant behavior and audited accounts to all shareholders. So these are certain things which can ensure that the overall structure of the organization is constructive but again we have to look at that that it is easier said than done and in real life there are many implications and many problems and many connotations which have to be assimilated which have to be researched and then based upon that assimilation and that research customized solutions and customized actions can be developed for the betterment of the organization which is extremely important in corporate governance. Now another thing is having an efficient and independent board of directors and when that is not around that tends to cascade a lot of the complications and would lead to a lot of financial loss. Now when we're talking about an independent board then a joint-stock company is owned by the shareholders, appointment of directors by the shareholders, directors are fiduciaries of the shareholders independence during the determination of the composition of the board. So all of these things would lead to a higher efficiency level and then the creation of committees and subcommittees and not only to create the role of what we call committees and subcommittees but to ensure that the committees and subcommittees are effectively working for the betterment of the organization becomes a primary responsibility of the agents and the agency who are the management of that particular corporation. So ladies and gentlemen thank you so much we will be moving on to our next session which will again talk about a different theory of corporate governance. Thank you so much.


Want to take us to Joe all right, so Joe says listening to the February 14th episode a little late The issue of keeping Mac windows in place upon restarts and such deep You recommended using the application stay for being able to fix windows based on monitor arrangement I had a similar problem in the past and found an application called Moom It has similar capabilities, but in addition it also has the ability to have a window automatically Use the left half or the right half of the window or the upper half or the bottom half pretty much any Configuration you want to pre-define a window being able to take In addition you can have multiple configuration layouts that you can pre-define and then call them up with a key Combination or select it from the menu bar at the top Anyways, not having used stay not having used stay It seems like from the description in the show that Moom might be more feature-filled and only cost 10 bucks instead of 15 bucks for stay so It's nice having options. Yeah, that's expensive options. I messed with Moom Moom is From Rob Griffiths and company Rob was behind the site Mac OS 10 hints years ago It was eventually acquired by Mac publishing and Mac world but my Moom is You have pre-defined spots as as you just mentioned where you can put things Stay lets me put the window where I want it and then tell stay to remember to restore the window to this place And so for me here, I quadrants isn't enough for me I need something more granular and I at least the the last time I checked out Moom It did not do that it it was just you had to use Moom's placement for things Not your own placement for things which again as Joe said works well for him And that's like we've talked about Moom on the show before I think it's great So yeah, I could be wrong if I'm wrong. Well, Rob will let me know because he'll hear the episode and then he'll be like You can do it this way.


Good morning. Good morning sir. No, this side, they are still sleeping. Good morning. Good morning sir. Welcome to this last session of the course. In the last 40, 41 hours we have seen that language has a structure, language is systematic and we have made a lot of claims about different aspects of language. I hope you have learnt something. That is a big thing to hope. At least it has triggered some questions in your head. At least it has made you curious. At least next time you use the language or somebody else uses with you you know how to distinguish between good and bad language, quote unquote good, quote unquote bad. There are no hard and fast definitions. What are the things we do not know? There are lots compared with what we know. The area of ignorance, the things we do not know are very, very large. We do not know a lot of things and even what we know is based on idealized data. Today I am going to tell you about one or two, not too many of the important questions in language, in linguistics that remain unresolved, unsolved and maybe you know someday people from sciences, people from engineering can address themselves to these questions and try and find answers. But it is always good to know what we do not know and why we do not know. So this last session is about some of those questions which loom large over the field and have remained unanswered. Let us go. What is it we know about language? We know that it is systematic, but is it absolutely 100 percent systematic? Can we mathematically can we write an algorithm and can a machine generate language? Is it systematic to that extent and the answer is no, it is not. There are areas of arbitrariness, there are exceptions to rules, sometimes the rules themselves appear to be arbitrary, but it is generally agreed that like any other aspect of nature as in biology, as in geology, as in geophysics, as in botany language also has a system, has a structure. It is made up of lots, lots of small units put together in larger unit and larger unit put together in still larger unit and that is how we use them. In other words, order and order of units are important to language. That is one thing we know for certain that order and order of units at each level of a structure of language there is unit.  There are different levels and different kinds of units. We know that order of units is important. Look at this example. I have put three sentences. It is a discourse. John is mortal. All men die. John is a man. Is it a good order? Or the other? All men die. John is a man. So, John is mortal. Which order is better? A or B? B of course. It is logically structured. Lots of other examples. Look at example, sentence number two. I saw the bike rider jump through the window. Is it a good sentence? Can a bike rider jump through the window? What is the speaker trying to say? Look at the sentence carefully. He was watching through a window and he saw a window. He was watching through the window. Yes, he looked through the window but through the window the prepositional phrase should have appeared soon after saw not after bike rider jump. You see, the place is important. It is like a button in your shirt. It must be in the right hole. It is not that button should go into any hole. It must go to the appropriate hole. This is important to meaning. Look at the next sentence. Three, after some rest from 2 to 5 p.m., the doctor will work. When will the doctor take rest? Before 2 or after 2? Before 2. Then the sentence should have been rewritten. How should the sentence be rewritten? How should the sentence be rewritten? From 2 to 5 p.m., obviously that is what he wants to say. Not that he will rest from 2 to 5 p.m., God bless him. Then he will do some work. So, you know order is important in language, in any language. Order is important. Look at the final sentence. It can mean more than one thing depending upon how you interpret it. What order you take? What are the interpretations you get? Fourth sentence. How would you like to read it? The fourth sentence please. A woman without her man is nothing. Yes. These are two very easy interpretations. A woman without her man is nothing. How many men believe that? Well, you should believe that. The other interpretation is also possible. The other interpretation is also possible. A woman without her man, without her husband without her ex or wife without her friend is nothing. Order, the way you relate one with another, the way you put two phrases together, two words together, two sounds together is this way is important to the structure of language. We know that. But can we predict meaning from rules of syntax, from rules of phonology, morphology, phonetics, discourse? Can we? Difficulty, you know. Many people say semantics, that is the study of meaning is the least understood branch of linguistics. Look at the following conversation. The mouse says, you know, this comes from the book Alice in the Wonderland. If you have not read this book, then this vacation you should. One of the greatest books written by mankind in any language. It was written by a professor of mathematics for the birthday of the daughter of one of his friends. It simply tells you that nothing is impossible, great literature. So there is a conversation between the mouse, door mouse and the little girl Alice. Alice asks the mouse, how are you? And the mouse says, mine is a long and sad tale. Said the mouse. And Alice says, long I understand. But why sad? Why does, why did Alice ask this question? Yeah, she mistook T-A-L-E for T-A-I-L. So meaning, meaning is not just the product of rules and dictionary, units and rules. Meaning as we know so far is product of much more than that. If it were so mechanical, then machines could translate from Telugu to Kannada, at least from Telugu to Hindi, at least if not from Telugu to English. Because Hindi and Telugu have nearly 80 percent of those same words. They have the same word order. They have the same sounds. There is hardly any difference. And yet machines can let alone translate from Hindi to English. They cannot even recognize all words from Hindi, all words from Telugu correctly. They cannot separate words in a running speech. The best results are close to 70, 72 percent, fewer than 80 percent, which human beings recognize easily. So meaning is more than that. This is machine translation. America bombs at random. And how does machine translate it? You can read phonetic transcription. Those of you who know Hindi, is it a correct translation? What should be the correct translation? America ne jaha taha bombara. Bina ye dekhye wikis kumara. Hospital kumara. Hotel kumara. Jaki fozikko foz kumara na chahiye. Bombs at random is without target. But you know at random here has been translated as a place. As if random were a place and America is bombing, random. How would you translate that in Telugu? Just the Hindi translation of this thing. America ne random pe bombara. America loo. This is incorrect. Why is it incorrect? Because translation comprehension, you know, a translation can be differently understood. Linguistic theory, whatever we know today is based on idealized data. We take sounds in isolation. We describe phonetics. We take words in isolation and we write phonology. We take sentences in isolation and we write syntax. Actually, corrected speech. Speech in context. When you start a sentence one way, finish it another. When you use one word and mean another, when you say, oh, so he is a nice man. You know what you mean is he is anything but a nice man. You know there is sarcasm. There is satire. There is meaning in the context. So, linguistic theory is based on idealized data. But in a speech distortion happens. Sounds may not be pronounced correctly. Words may not be pronounced correctly. This weekend I was at the airport examining air traffic controllers. They are English. You know, they have to certify in order to continue working.  It can be misunderstood. Do you mean H E A D, which will mean one end of the tarmac runway? Or do you mean go ahead, keep going? What do you mean? Do you mean 19 or do you mean 90 when you do not pronounce it clearly? Thank God, human beings know more than rules of language. They know the context. The pilot knows that there is no runway called 90. There is only runway called 19. So, what the air traffic controller means is 19. Human beings can understand in spite of distortions. Look at the SMS on the left hand. What is it trying to say? Very simple. Can you understand on the right hand? What is the trick? You know, why you know, there are lot more than how about you? He is saying, it is a he. He is saying, I am expecting lot of guests this time. Only vowels do not convey anything, but only consonants still do in the written form. Why we do not know? We do not have enough knowledge. We do not have enough answer. The point here is, you know, if those of you who are from computer science go and ask your teacher or maybe you can take it for future research, there are fault tolerant systems. You make one or two mistakes and you still get correct email ID. Similarly, you know, your mind knows a lot more than so far has been possible to capture in rules. And it is through those clues that meaning is made out. In other words, how do we understand? Content words, structure words, they all help each other. If a structure word is not there, we can still make out through content words.  These are content words. They are meaning. A structure words is am, to, from. Do we all learn all of them together? Are they equally important? How much space they take? What are the rules that connect one another? We do not know. We do not have. Sometimes language and culture, language is also influenced by culture. If you go to places like Antarctica or, you know, Arctic regions, not Antarctica, Arctic regions, you know, I have read in literature, I have not personal experience, that schemas have many words for ice. They have about 14 words for ice. In my mother tongue, we have only one word for ice. That is also there for snow. What is the situation in your mother tongue? How many words do you have for ice and snow? Those who know Hindi, how many words for ice and snow? Only one, barf, ice be barf, snow be barf. Those who know Tamil, how many words for ice and snow? Barf, ice be barf, but we have lots of different words for rains. Lots of different words for the sun. Sun in morning is one thing.  We have, through the year, we have all kinds of words for rains. Can you give me five words for rains from Telugu? Ten degrees of, give me words for drizzle, give me words for drizzle, give me words for downpour, all of those words. You know, English, English has it, we have much more than, many more than that. Yeah, right. Now, the point is, the question for us, the question for us in science is, why is it some people have, why is it some people have more words for the same thing? Do they see more than we do? Or, is it that in our place, it is limited in their place, it is more? Do you see the point? It is the same sun, same run, same snow, same sand. For some people, for sand in my mother tongue, we have only one word. But for different kinds of clay, I come from agricultural country. There are, at least I can tell you nine words for different kinds of clay.  We have a phrase, all useless boys are compared with that soil. It is good for nothing. So, are the, you know, language and culture, are they related? Do they influence one another? We do not know. There are other questions. You hardly come across anyone who has failed his mother tongue. He has learned to speak, to listen and understand. But we frequently come across people who could not learn French or English as a second language, as a, another language. Why, you know, if all human beings are biologically programmed to learn language, then why do not we learn all languages equally well? And why do some people, some people speak English like they, it was their mother tongue. Actually, their Telugu is bad. They speak Telugu like they were speaking English. They do not say Bagunarada. They say, Bagunarada. We have to tell them, please, you are in Sikandaravad, not in Sydney. Why is it? We do not know. In other words, meaning is more than the sum of words in an order, knowledge of word, knowledge of words, knowledge of order, knowledge of structures. It is a whole lot of things. Meaning is not just word and rules. Meaning is also language, culture, knowledge of world, lot of things put together. What does it mean? Does it mean we need not try? We can never know? No, we can know. But this is the way. Go this way, you know. Try and understand the words. Try and understand the units. Try and understand the structural related rules. And this will lead you to understand language and society. And maybe someday you are able to design a machine, write a book of grammar which can answer all of these questions. After all, whatever we know, we know because we have tried. I think I will stop here. If you have any questions, you can please ask me.


All right, welcome back everybody. Our next talk will be Sarah McCarthy giving her talk on Quantum Safe Instantaneous Vehicle to Vehicle Communication. Hello, thanks for having me here. This is my first DEF CON and I'm joining it so far. I'm meeting very interesting people. So I'm from the Centre for Secure Information Technologies, which is part of Queen's University Belfast, Northern Ireland. And today I'm going to talk about an aspect of our research into practical quantum safe cryptography. So as Christian Packwin explained yesterday, there is a requirement for the establishment of quantum safe cryptography. So I'm going to reintroduce this topic and the motivations for our research. I will then introduce identity-based encryption, which is an advanced cryptographic primitive, and then describe our software design aimed at constrained devices such as vehicle-to-vehicle communication. I do have a demo, but it wasn't shown up in the screen, but we can give it another go. So currently cryptography is underpinned by hard mathematical problems such as integer factorization and the discrete log problem. And these are infeasible to break with current computing. However, in 1984, Shor's algorithm was proposed. And when this is run on a quantum computer, it can solve integer factorization and the discrete log problem within a feasible amount of time. Therefore, if a quantum computer comes along, our primitives that we use today, such as RSA and elliptical curve cryptography, which are based in these problems, will be broken. There is also Grower's algorithm, which was proposed in 1996. And it threatens the symmetric key primitives. However, we can evade this algorithmic attack by doubling the key sizes. So symmetric key cryptography is safe for now, but public key cryptography will be dead under the realization of a quantum computer. In response to this, researchers are looking at replacing traditional problems with more complex problems, such as lattice-based, code-based, multivariate-based, hash-based, and a solgene-based. So these are all different branches of mathematics. There are many community efforts into this quantum-safe cryptographic research, for example, standards bodies in the US and Europe, NIST, and Etsy are looking towards standardizing quantum-safe primitives. Google trialled a quantum-safe key exchange in its Chrome browser in 2016. European projects such as SafeCrypto have been looking at practical implementations of quantum-safe primitives. There is an annual conference, PQCrypto, which brings together academics and researchers from industry every year, and government bodies, such as the National Cybersecurity Centre in the UK, are also looking at quantum-safe cryptography. To further emphasize the threat, here are some news articles and headlines that have been out in the past couple of years. And it's about researchers are both building quantum computers and protecting against quantum computers. So quantum computing power can be measured in qubits and the number of qubits attained is increasing. However, Andrea's talk on Thursday indicated that over 4,000 qubits are required to factor a 2048-bit number using Schur's algorithm. And if we look in March 2018, Google only reached 72 qubits. So we have a long way to go, but we argue we need to be thinking about this problem today. For example, if we put a satellite into space today, it's going to be needed to be secure for 40 to 50 years. And if a quantum computer comes during that time, the security which it relies upon will be broken. And they won't be able to be used. The Mosca inequality conceptualizes this. So if we set X as a desired lifespan of the security of the product, why the research and development time of the crypto and said the time until the realization of a quantum computer, if X plus Y is less than Z, there is time to act. But if it's more than Z, it's going to be too late. So it's important to look at quantum-safe alternatives today. So Lattices or Lattices are one of the contenders for quantum-safe cryptography. They were first introduced by Ashtai in 1996, and they have many advantages, making them the leading contender of quantum-safe alternatives. We have efficient, they're known for their efficiency, the understanding of the hardness of their underlying problems, and their ability to be extended to advanced primitives such as identity-based encryption, which is when the user's public key is based on its public ID or homomorphic encryption, which allows computation on encrypted data. So this is a two-dimensional Lattice defined by basis vectors B1 and B2. And every vector in the Lattice can be expressed as a linear combination of its basis vectors with integer coefficients. Hard problems around Lattices, such as finding the shortest vector in the Lattice or the closest point in the Lattice to a given point in the space are these problems upon which we can base our cryptographic primitives, as they're known to be infeasible to be broken by a quantum computer. So Lattices allow for cryptographic agility, they have mathematically hard problems, and they have shown promising efficient implementations which are competitive with traditional crypto used today. However, they have large key sizes in comparison to traditional crypto, for example over one megabyte compared to two five six bits. They're also vulnerable to side-channel attacks because Lattices utilise a lot of bespoke components, but components which are not used in traditional crypto today, so we're basically reinventing the wheel when it's coming to protecting against power analysis, timing attacks and fault attacks. The underlying mathematical theory is still relatively new and it's still undergoing undergoing major crypt analysis. For example, we can introduce structure to the Lattices in order to increase the efficiency of the schemes. However, as of yet, there are no known vulnerabilities, but this has not been proven that it doesn't introduce a security risk. In 2016, NIST announced a transition to quantum CF public key cryptography for suite B of its recommended algorithms. Then invited the research community to submit and public key encryption schemes, digital signature schemes and key encapsulation mechanisms. So in the first round, Lattices accounted for over one third of the submissions and NIST selected the most promising candidates to go through to the second round and those who didn't make it were dropped due to a lack of confidence in their security or inefficiency. But by the second round, Lattices accounted for almost one half of the candidates. And additionally, they're the only family to have submissions in round two in all three types of schemes. So this reinforces our confidence and assurance in Lattices. Identity-based encryption removes the need for a large-scale public key infrastructure by using the user ID as a public key. So here's a diagram showing identity-based encryption scheme. The key generator generates master public and private keys for the whole system and the extractor uses a user's ID to generate a private user key for them. If Alice wants to send a message to Bob, all she needs is Bob's public ID and the master public key to encrypt the message. She then sends it to Bob and Bob can decrypt using his private user key. The advantages of identity-based encryption include there's no need for the sender to obtain a certificate, therefore they can send a message more instantaneously. Timestamps can be combined with identity to accommodate key refresh and refocation. There is no need for pre-registration of a user onto a database. They can be extended to further primitives such as signatures, broadcast encryption, key agreement and public key encryption schemes with keyword search. They also mitigate the need for a trust's certificate authority and decryption capabilities can be delegated, for example, to temporary devices or to members of staff within a workforce. However, there's danger of key escrow as the sender authority has access to all private keys and therefore can decrypt any message. Communication channels from the central authority are required to be secure. Key refrication could add complexity, for example, if a key needs revoked before its expiry date and there is a requirement to check the uniqueness of user IDs to prevent two users obtaining the same private key. Today, IBE is used for commercial solutions focusing on email and file encryption. It's also suitable for closed networks such as sensor networks. The UK Emergency Services currently uses the Etsy Standardized Tetris scheme for its communications and since 2018 it has used the Elliptical Curve-based Mikey Saki IBE scheme due to the instantaneous communication capabilities. And today we consider the use of instantaneous communication required for vehicle to vehicle. However, these applications currently are all non-quantum safe. So I'm now going to show an animation to show how identity based encryption can be used for vehicle to vehicle communication. So as an example, consider two autonomous cars in constant contact with the 5G network. The key generator produces the private key of each user by using its already established unique user identity. In this case, the license plate of the car. If the green car wants to send a message to the blue car, it only needs to know the blue car's license plate and the master public key and the license plate guarantees its authenticity. Only the blue car can decrypt this message using the associated private key. Similarly, if the fleet manager wants to send a message to all cars in the system, it simply needs their identities and does not need to maintain a database of public keys. The first lattice based IBE scheme with practical parameters was proposed in 2014 and it used special structured entry lattices to reduce the key sizes, which are between two and four kilobytes and a lattice sampler which samples short vectors within the lattice to create the private information and then proved upon the quality of this, therefore it outputs shorter lattice vectors making it more secure. So all encryption and decryption operations take approximately one millisecond on a moderate power laptop and it can also be extended to digital signature scheme. In 2017, my team proposed algorithmic and software design optimizations to bring the scheme even more within the realm of practicality. These included use of the number theoretic transform, parameter recommendations, bronze modular jcd, barret reduction, the cumulative distribution table sampler and the tiny shat three hash function. We also focused on making it constant time in order to mitigate side channel attacks. So here are some of our performance results. I'd just like to highlight the 80 bit security level and the 192 bit security level. So how does this compare to existing implementations? Well in comparison to the proof of concept implementation of the original paper, you can see massive performance gains particularly in the encrypt and decrypt components. And in comparison to traditional IBE schemes, well this first one cox is based on quadratic residues. However, it's extracted much quicker than ours but the large cipher text render it impractical. The Bowen Franklin scheme is based on pairings on elliptical curves and as you can see we improve upon its extract function and our encrypt and decrypt are greatly improved upon both schemes. So we have obtained promising software results and the encrypt and decrypt has also been implemented on a microcontroller such as found in the engine control unit of cart and the results of this were two orders of magnitude faster than pairings based. The fast results allowed for instantaneous mission critical push to talk applications and emergency and real time communications. And the input identifier is flexible. It can be a MAC address, an email address, a unique ID number, anything that you want. So I do have a demo but it wasn't showing up on the screen so if anyone wants to come up and see it after, no it's not shown up, you're very welcome to come and it involves some like interaction so it's quite fun. So basically it shows how quickly our identity based encryption scheme can work and how if we change the user identity then it can, if you send messages to its old identity they won't be able to decrypt. So thank you very much for your time. I'd just like to give some acknowledgments to my colleagues and former colleagues who have helped with this work. Thank you. All right and now the floor is open for questions. If you have questions just line up here in the middle portion of the room and ask your question. Anyone? All right. Thanks Sarah.


the new projects in incubator that are left to tend for themselves. So this is the incubator's project dilemma. We have numerous projects, but very few people helping them, so they are fed to themselves. Like of centralized resources, especially most used templates, modules, et cetera, nobody taught these new contributors how to do templates, modules, et cetera. So that's why I'm thinking of we can make a centralized repository of resources for new projects. The background for this presentation is in this year, or since early this year in Indonesia, we have seven new candidates for new projects from seven different languages in six different projects. Victionary, Viki Quot, Viki Source, Viki Voyage, Viki Books, Viki Pedia. These are very active communities, and all of them have asked language community to launch their project. But three months or four months passed, only two of them have becoming a new project. And I would like to give a warm congratulations for Sundanis Viki Source because it's born two, three days ago during Viki Mania 2023. Congratulations for the community. We, smaller Viki's project have hard time to prosper and very little chance to make it out of incubator if they don't have support and resources. So that's why my idea is to pull all the resources, and it's not just me, but all of you who have interest in doing this, please help as well. I was actually going to do it live earlier, but I thought, no, let's do it maybe after Viki Mania. Currently, I've already listed some of the resources that are available, very few, but we do have small Viki Toolkit starter kit. Later on, maybe they will share the link to the chat or you can ask me for this presentation so you can click the links. We do have manual for small and new Viki PDFs. And especially since Viki PDF, we have a lot of new Viki PDFs. We have a list of articles every Viki PDF should have. Actually, this is not a new idea. The Viki Media Foundation have thought about this and have worked on it on this fabricator ticket to 42545. And they have a lot of things that they want to add, like resources, templates, modules, etc. for small Viki Toolkit. So go ahead on the fabricator and look at the tickets for these small Viki Toolkit. Honorary mention for Viki 99. This is the coolest tool award winner for diversity category. They are very cool. Take a look at them. I really like it. And if you have any projects in Viki Source, especially about Viki PDF, not other, you will have a lot of resources in this Viki 99. So what other things that the new Viki PDF projects in Incubator need? List of most used templates which have their own page here.  Those, you know, set of rules need to be present in all Viki PDF anyway. So currently there is no rule that new Viki PDF should have those, but I believe they should have those guidelines implemented before they can be launched. So they need also encouragement helps. But what else do they need? So let's think together on how we can pull all the resources for them. That's just Wikipedia. I did not see any resources list for visionary Viki books. Viki Quote, Viki Voyage, Viki Source. Same lack of resource may hinder their progress and may doom them to be in incubator like forever and ever. I do have experience of Japanese Viki Source was in multilingual Viki Source for, let's see, 16 years. Same with Sundanis Viki Source. Sundanis Viki Source was in multilingual for 19 years. Imagine, since 2004 until 2023 is launched. 19 years in incubator or multilingual Viki Source. We need, you know, tell the community you need these templates, modules, sketches, abuse filter, bots, tools before your website, your project is launched so that you will be ready for spammers or for this and that. Let's compile them together. I will start a new page on incubator. Maybe incubator, column resources, and there will be sub pages. I invite everyone to join as well. So let's think about dictionaries. What do a new dictionary needs? Like list of most important words in maybe all languages. Swades and list of words with the most interweakies. This is very interesting. Basic tessaurus probably. Viki forage, what do they need? Maybe list of most famous destinations. So like priority list, destination with the most interweakies, all major cities, capitals in the world.  So maybe Paris should be on every new Viki forage or New York City or Singapore. Viki quotes or Viki books, what do they need? So Viki source, this is like especially close to my heart because Viki source really different from the rest of the projects. Right now English Viki page have them and like beginner's guide. I don't think other projects, dictionaries, etc. have beginner's guide. So this is a cool but only in English Viki source. So we can propagate this to all new communities that want to make their own Viki source. So Viki source is different from the rest of the Viki sister project because they have indexed, they have pages, they need a lot of templates for time styling. So they need much more support. And then this is my last page, the problem of exporting new project. When a project is in Viki source, sorry, a project in Viki better, they can use a lot of templates. And whatever templates they're using will be exported when it came out. But once it's out, if you want to use a template that has not been on the Viki better before, it broke the website. So that's why a lot of communities struggle because their pages look awful, a lot of templates are missing, they don't know how to fix it. So that's my presentation. Thank you so much. I'm available if you have any question. Thank you.


Welcome to Essential React. In this course, we'll cover all of the essential knowledge you need to have about React components. We'll start easy. We're going to start with Hello World and JSX, how to get started and what they are. But we're going to progress pretty quickly to events and state and state management, lifecycle events, and get all the way to advanced composition of components. Yes, advanced composition. But don't be afraid. I think you can handle it. We're going to take it one step at a time, only one new concept per video. The whole thing will take about 40 to 45 minutes. But by the end, you'll know everything that you need to know to write stellar React apps. We'll build this Pokemon component that allows you to page through all of the Pokemon available on pokeapi.co. It's going to be a lot of fun. Let's get started.


Everybody forced here ripping the sports car Almanac multi-sport personal box edition volume 4 4 boxes for Brian S Brian's got Boxes 19 29 59 and 89 It is a 9 on the 59. Oh, there you go. Those are better 19 29 59 89 Good luck. Let's go in numerical order actually Box number 19 good luck Brian or of him here Oh trivia time. Oh, here we go instant memorabilia redemption trivia time again First answer in twitch and first answer in YouTube.  Here we go This player had the slogan not in my house created because of him This player had the slogan not in my house created because of him in the top answers were Interred for 88 Is it Vaughn again, yep So we got Vaughn in YouTube and Turd Ferg in Twitch Yep, those are the two winners Cool Vaughn's got that fast Vaughn is Vaughn's got the $500 internet. Yeah, okay, so the answer was to Kimbae Matumbo. Oh my god That's dope Oh, I've been I saw this Jersey in the shop We had it for sale. Oh my god This thing this thing look at this Look at this Matumbo What in the world 75th anniversary blue to Kimbae Matumbo Fnatic Jersey, of course, there's a fanatic sticker on the bottom there to authenticate it. Oh my god That is Just absolutely gorgeous Such a nice autograph on it too Yep, not in my house Kimbae Matumbo Wow, man. Hey, there could be more trivia in here You just type in a minute on the sheet. Yep. Cool. That works. That's just like that. I think it's gonna be fine 29 now moving on numerically Piece of man. Maybe this one will be a card. Maybe another man. I don't know To trivia Back-to-back memorabilia pieces Okay, this is a this is a longer one But here's the hint here it is This player was banned from playing the carnival game at his local carnival growing up in New Jersey Where you throw the ball at three cones and have to knock them over This player was banned from playing the carnival game at the local carnival growing up in New Jersey Where you had to throw the ball to three cones and had to knock them over Trying to see who's first here. It looks like illegal in YouTube. I got illegal in YouTube. Yeah and Squishy yes, and squishy in twitch. Congrats you guys it is Mike trout Oh, is Mike trout. Oh, yeah. Oh, yeah Is Mike trout all right It's a trout bat is a trout bat Congrats Brian That is nasty 30 33.5 33 5, you know, that's such trout for you. There's the whole thing old hickory Old hickory. This is for sure not Yeah, not game use just FYI it is authenticated by the MLB They might trout bat Signed trout love it love it Okay. Well, then 59 59 now I My god another one three memorabilia is in a row. Here we go. Oh man Okay, here is the clue again first correct answer in both chats Was a backup his first four seasons went on to win three Super Bowls Was a backup his first four seasons went on to win three Super Bowls Let's see It was Anthony s Anthony s in YouTube and twitch was K Grobbins K. Grobbins Those are two winners right there on that one Brian s is winning people some break credit right now with his almanac. Oh the answer was Steve young and it is a Jersey beauty very very nice very clean Fanatics authentic Steve young Jersey Steve young That is a Mitchell and Ness What collection is it Mitchell and Ness? Yeah, it's a nice one fanatics Mitchell and Ness Jersey right there Steve young There you go, Brian three men so far. Is there gonna be a card in 89 you guys? Oh, man Oh, we could go four for four here and men And we are yeah, then we are All right, so what you got all right guys So again top two answers how it's been going the entire everyone's used to it by now Back back to the well Brian gets four pieces of memorabilia.  Yeah, so slot TP and then it was Vaughn again Five dollars break credit again. You do have to have an account of leansportscards.com to be eligible We'll give it the email after we're done here to email us. It is each year. Oh Each year oh each year oh each year oh Each year. Oh Yeah, everyone knows it is now. It's a baseball. Let's see it a little covered up there, but just a great sign to each year Oh baseball True legends. I'm gonna take it. I'm gonna kind of hold it here and see if there's any like inscriptions or anything on it It's dual authenticated by the MLB and fanatics.  Yep, there's nothing else on it, but yep great ball there. There we go Brian four memorabilia's man. That was uh That was a lot of fun. I hope you enjoyed it. We'll get these We're gonna have to ship these out somehow Though we'll get them out to you


It's Southern University versus Alabama State University. There's 5.8 seconds left. They're all tied up at 64 a piece. It's about to get wild. It's about to get fun. Prepare yourselves. They inbound the ball to that, dude. He passes it back to this, dude. He's running up. He's at mid-court. He makes his move. He finds his spot. He puts up the three, blocked, clean, all-ball, embarrassing. Didn't even get it off. Uh-oh, but what happens? His own teammate gets it. This dude is celebrating. That blocked it. He's celebrating already. Everyone else just waiting, suspensively.  At this point, we have a guy in street clothes in the middle of the playing court. He's on the floor. And it drops. And now this guy down here, the guy that had the block, he says, no, no, waves it off. Waves it off. No, not good. Not good because I had a really good block. And this negates the really good block. Everyone else goes absolutely crazy. Towels being thrown everywhere. Dog pile. The coaches run to center court.  Hell yes to each other. But you guys missed out on the most important aspect. And it's the super fan in the top right of the screen right here and his buddy, the security guard. Everyone's in a state of heightened suspense, waiting to see what happened. It drops in. He goes crazy. The security guard puts his left hand out to say, hey, hey, you've got to stay off the court while fist pumping and celebrating with his right hand. Now that's how you do your job and love what you do at the same time. And then this dude just going absolutely crazy with the right hand and fist pumps here.