Okay, ladies and gentlemen, so welcome to the first out of two invited talks. So the first invited talk will be given by Antoine Jou, and I will just give a few words on Antoine and his work. So Antoine got his education in Ecole Polytechnique in class of 86, and then he has been a member of the crypto team by Jacques Stern at ENS in Paris. And now he's a chief engineer at the DGA, and also a professor at the University of Versailles and Quentin. And Antoine has been really broad in his research, working both on asymmetric and symmetric cryptography. So when I asked around a little bit to get his main contribution, I got a whole list of different things. So I can just mention a few of them. So on symmetric cryptography, Antoine's work on hash functions is very well known, and the collision on SHA-0 and the introduction of multi-collisions. And he has also been a contributor in correlation attacks on stream ciphers and also inventor of ARMAC. And in asymmetric cryptography, he has the tripe-partite Diffie-Hellman protocol. He has worked on cryptanalysis of HFE and use of pairings in cryptography, major contributions. And of course then a lot of work on discrete log and factoring. So for example this morning, Antoine was the co-author of the paper receiving the best paper award. So at last he has also service to the community, and he has been director at the ICR director. So let me welcome him here by giving him a big applaud. So Thomas, thank you very much for the introduction. So first of all I would like to thank all the organizers for kindly inviting me to give this talk here. So as you know when you received an invitation to give an invited talk, the first thing is, oh wait, am I this old now? But okay, after some time you just think about it and say, okay, of course I'm going to accept it, it's a great honor. So what can I speak about? I'm not going to give the usual talk that I give when I have a new algorithmic idea or whatever, I need to speak about something else. So the idea was I'm going to speak about high performance computing in cryptanalysis and try to give something, well, a tutorial is really too much. Just give my view on what is happening when you want to do big computation in cryptanalysis. And so this is what it is going to be about. But you're probably going to ask me, why do you want to speak about this? What is the point? Well, there is one very easy to explain motivation, it's the historical link. You all know that there has been a long standing relationship between computation and crypto and the place where we are and the proximity of Bletchley Park is clearly there to emphasize this link. So all of you will be going to the Bletchley Park and visit either, well, probably both, the Museum of Computing and the Museum of Crypto and Cryptanalysis. So you have all the link you want from an historical point of view. But of course I am not an historian, so I don't know anything about this. So this cannot be the reason I am going to give this talk. So the other reason is doing big computation in cryptanalysis is really kind of a background activity that you do in support of research and well, at least that I do in support of research and which is very important to give new idea, to put new idea in a concrete form and moreover it's something we never speak about. You know it's, as in the fairy tales, you never know what happens after the happy ending. Everything is fine, the algorithm is magic and it's going to do everything. Okay, you may get a glimpse of the prince at the end of his life and I am going to tell you we have done such a big computation just as Vanessa did during the first talk. We have done a big computation, we give you a little details but that's it. But what happened while doing the computation? So well, it's mundane, it's boring, it's whatever, so nobody wants to hear about this. But in fact it's not that boring. It's even fun, well, sometimes frustrating because it often doesn't work but still it can be really fun. So that's my motivation for speaking about this. So next you can tell me, okay, but large computation are not done only in cryptanalysis so why speak about this very specific kind of computation? Well, obviously it's because the kind I do but there are some really specific things that are quite important when you do computation in cryptanalysis and differs from other computation. The first thing is we are really simple minded and we want to do either a demonstration that some algorithm is working or we just want to break a record. So we don't want computations that you can run every day to do basic thing. We just want to do it once and be done with it. So this has a nice consequence, we don't need to reuse our code so we can program in whatever way we want. So by the way, if someone here wants to do nice programming in a company just close your ears and don't listen to me because I will give bad ideas. And another thing is since we are doing record breaking we need to find computing power you all know the saying about given horses so you just use whatever is available. So sometime you can run computation on strange things which makes things even funnier. And the final point which is really a crucial thing is that when you do computation in crypto usually the end result is really easy to check. If I have computed large discrete logs I can just give you the discrete logs and you are going to check them very easily. And this is not the case for many other kind of computation. For example in physics if I am doing weird stuff to compute the behavior of planets or whatever the only way you can check if what I am doing is correct is by redoing the computation or by having a real world model but you can just look at the end data and say it's okay. In our case this is a very important thing. So one of the consequences that we can do whatever we want as long as the end result is correct everything is fine. That's the positive way of saying it. The negative way of saying it is if something fails then at the end well you have nothing to show. Okay so when you are doing this kind of big computation there are a few main steps. So the first main step is to have some algorithmic starting point so you need to have something you want to do a computation on. And usually you just validate this by some kind of toy implementation in a high level language in magma if you are doing number theory or whatever. Okay the second point this is rather political stuff you need to go away and beg for computing power or whatever just find computing power and once you have it you need to choose a target computation which is compatible with it. Well then the easy thing you just need to program the stuff and after that you need to run the computation and this is you know just the boring thing nobody cares about but in fact well it's not that easy and it's really something we need to work in and one of the point of high performance computing is enabling people to be able to manage large computation without too much hassle. Okay so what kind of starting point can you start from? Well basically anything in crypto. So I have written a personal sample of the kind of thing you can use but you just can add your favorites to it so you can of course do things with latest reduction I did this kind of thing a long time ago during my PhD you can have fun with collisions and multi-collision you can use elliptic curves, pairings and even more complicated stuff you can do index calculus of course you can have fun with new kind of decomposition algorithm that you can use for knapsacks, cords or whatever and you can do some Grubner bases well there are hundreds of things you can do this is just a short sample of things which are not trivially easy to compute which can make big fun when doing large computation. Okay but even if you have a nice starting point sometimes they are not suited to make big computation why? Because sometimes just by having a toy implementation you already get something which is very nice and doesn't need much more to become something interesting. So one example is you know pairings as Thomas said one of the things I have been doing in the past was proposing this tripartite Diffielman stuff how did this come around? Well at that time it was back in 1990 well 1999 sorry and in 99 at Eurocrypt there was a paper comparing the reduction of Menezes-Ocamoto-Vernstern on Fryrock so comparing two kinds of pairings for cryptanalysis of discrete logon elliptic curve and well what happened when I read this paper I said okay wait a minute I have a toy implementation on my computer and it's much faster than what the authors are reporting so what's the thing? What should I do with this? It was at that point that I realized if it's that much faster it was you know a toy implementation in Paris-GP which is some program you probably used and it took a few seconds to compute a pairing so well if it's that much faster then probably we can use it constructively and well you all know the story so you just have no big computation to do another thing is a recent paper with Sorinayonika which is called pairings of Volcano and they are doing some crazy computation with Isogeny Volcanoes okay there are some very nice interesting algorithmic techniques proposed by Sorinayonika the implementation are just basic magma code and they are way enough to do kind of records on better things that what we could do previously so there is no need for more than a toy implementation so okay we fail we have nothing to do so if we don't fail at this early step then we need to find computing powers there are many ways to do this the first thing is you know the old-fashioned technique we all use this in the past well I did in it is just well look around find machines that you have access to and just use them so the nice thing is that this is easy to arrange especially if you can buy a few extra machines usually you can control the kind of machine you buy you know that the resources are here and you can use them the problem is well it's not easy to square because even if you have money to buy 10 computers you can buy 100 if you have money to buy 100 you don't have money to buy 1000 it stops quite soon the next thing which has been proposed for factoring is you just use all these idle cycles on the machine around on the internet you know all of you have computers which are doing nothing so I just beg computing power from you and try to use it well I must admit that I have never done this because there are really huge requirements which make the thing too much of an asset one of the requirement is that you must be very user friendly which is not easy you really need to program nice stuff have nice screensaver or whatever ok I have no time to do this some people can do it but I can't the next thing is if you go for this then you are doing your computation in an adversary model you never know some of the computer might send you just crap data to corrupt your computation and this is not easy to deal with either and finally one of the very important problem is the limited communication bandwidth which is a real problem when you want to do huge computation especially for linear algebra things so I have never done this another thing which is very nice which is occurring these days is you just go to one of the large computing centers there are several around Europe and you say I would like power and if you are lucky enough they give you some power and this is very nice because you have a very high and dedicated computer ok you don't control the architecture you have to fit within it but it's still ok the problem is the job management is not always easy so running your computation in this machine is not necessarily easy and if you don't have the luck to be able to apply and get things from here you can also go for high performance computing in the cloud and just buy your computing power from whichever provider you want ok personally I prefer to try the free option because in France trying to use the money to buy this kind of computing power is an administrative nightmare so don't want to do this ok so now assuming you have your computing power what you want to do is you choose a target so this is easy your target must be corresponding to the computing power you have it can be either a proof of concept sometimes it's enough it can be a real size demonstration and the best case is you can attack cryptographic size parameter or make a new recall you can't always do that and when you choose your target you should be reasonably sure that you are not going to work for 4 or 6 months and get nothing at the end so be reasonable ok so when is it enough to do a proof of concept well I have a few examples one of my old things about shazero computation we just did a 35 round a collision and a 35 round of shazero it was a few minutes of computation so it was just a demo but well it was the only point in the attack where we could have a full collision and at that time stupidly we have no clues that near collision could be interesting sorry the next thing you can do for proof of concept is what we have been doing for all the new algorithm for hard knapsacks why we only need a proof of concept here is because all these new algorithms are previously parallelizable there is some value somewhere that you just need to loop on so you can really benchmark the thing by just choosing the correct value if you know the solution you know the correct value and you benchmark the algorithm very easily without having to run for a very long time so proof of concept is enough and it's the same thing for linear decoding that you will see in a few days ok a more interesting case is when you do something which was not previously possible but we using a very moderate amount of computing power so for example we did something like this with Ramboulon a long time ago and we broke some knapsack based hash function proposed by Damgard which was very interesting but which happened to be very easy to break by a lattice reduction using only a short computation similarly with Elianzhorn we proposed a new crypto analysis of an old system called PKP sorry ok it was the full run would have been very long but once again knowing the correct value you could demonstrate the thing by a reasonable computation and the main thing here was that we were able to reduce the memory ok another thing is what Thomas speak about is correlation attack on LFSRs where well we could do a real life well a 40 bit LFSR example a fast correlation attack on 40 bit LFSR which is something which is not that uninteresting because some crypto system around use several of those and combine them together and in this case if you have some correlation and you can improve the correlation attack you attack the LFSRs the individual LFSRs one by one but it was only a few CPU days computation so ok it's just a medium easy case a similar thing is what we did with Vanessa much more recently when we considered the discrete logarithm problem of extension field of degree 5 not 6 and at that time the full computation was totally out of range but what we could do was demonstrate how partial sieving was going well partial relation construction and by using an adapted version of Robbner basis computation we were able to do the thing using a small amount of computing power but just a demo case ok so once you have eliminated all these options you know now that you are going to aim at some record or some very large computation so you know the computing power you know your target you know what you are doing so what you need to do now is code the stuff ok I will just keep this because it's really easy it's really the easy part you spend a few weeks coding and the thing is keep it very simple and stupid avoid all the fancy stuff you know object oriented programming what is that you don't need it just remain at low level ok sieve and assembly is very nice all the rest is just fancy stuff that is going to get in your way later for the same reason avoid library everywhere unless you really if it's some very minor task you need to do once and don't want to rewrite it's ok but that's the only exception avoid adding new and new and new stuff to make the computation impossible to manage don't care about reusability or portability of your code anyway you will throw it away because it's the best thing to do to improve it and just make sure that your code will be easy to change because you will need it optimize but not too much and the main rule is to avoid nasty surprises because lots of nasty surprises are creeping around so that's why avoid library program from scratch and use kind of very conservative and defensive programming I will explain later what I mean by defensive but it's very important ok and then you go to you know the tedious boring step of running the computation ok but you will see that surprise are there the first thing is you have your target in mind but just don't jump to your target because the landing will be hard so what you need to do is scale up slowly to the intended size so you start by some examples that should be easy and then goes up from this expect problems the first problem is that software can easily fail well you know all the easy stuff you have not looked at while preparing the computation all the easy phases well they don't scale at all so you expect to have to reprogram them on the fly as the computation size grows because they are not working anymore ok of course since you have programmed everything in a rush there are hundreds of burgers around just waiting for you but they are rare bugs that only come on you at the worst moment so what you need to do is to make sure that they are not going to make you spend your computation just to fail at the end because this is ridiculous so as far as you can you try to stop somewhere at several positions in your computation and try to check the data by using just independent easy to write code that looks at the thing and say ok is this reasonable or complete crap if it's reasonable or even better if this is guaranteed then you are fine if it's crap it's time to go back and do something else ok then after expecting software problem expect hardware problem the first hardware problem risk is you know electricity is very nice magic but very often it fails well you might say in real life it doesn't fail that often but when doing large computation well it's a real thing if you are doing computing power on shared computers availability of the computing power is a real problem so avoid having too tight a schedule because usually you will not meet it the worst thing is I don't know why but whenever I try to do some very big computation I have nasty surprises you know everything seems fine but when you re-read the data at some point there is something wrong all the numbers are correct but one of the numbers is wrong this cannot be a bug unless you are extremely unlucky there is no way this could be a bug because usually when a single bit goes wrong somewhere it's going to amplify so the most probable thing is it's probably an hardware fault and depending on the machine you can get some bit corrupted in memory at some point or something which is probably more probable is when you write down your result to disk you know you are using complicated protocols to share the disk between machines who knows what happens not me but usually you may have problem so once again check your data because if they are wrong the sequel is not going to be fun ok so just to let you have in mind a kind of scale of what big computation are I have looked around and find a few reference points so reference point from crypto mostly but a few from other places when you look at crypto examples so the largest computation, discrete log computation in finite field I am aware of was done by Klein Jung in 2007 and it was 160 digit and the total computing power was this so it's about 17 CPUs so if you do this on a single core when I write CPU throughout the talk I mean core because now you have this processor with four cores or eight cores or whatever and you never know how to count them so I mean one core so if you just use a single core you are going to run for 17 years so this this is not a small computation but they are larger so the first computation which is finished I am aware of is this RSA 768 which took 1,500 years for the saving and 150 more for the linear algebra which really is big ok and it's so big that I have not written the full list of authors it's a really long list and I think this stuff really need human people to be there and try to run the thing and correct the computer and do everything so it's really a major project just to run this kind of thing the one before the RSA 200 digit was much smaller ok and if you really want to have a huge computation then ask Dan they are still running this easy elliptic curve 130 bits binary field by using a generic algorithm so this is something which is feasible but at the real range real limit of feasibility and the estimated the estimated power is around 16,000 years on a single core which is really a huge computation ok so some computation from other field some people you know like computing digits of pi the last record is 10 trillion digits ok it took 3 CPU years well it's rather a small computation compared to some of the one above in crypto and just to have some more things I looked at the at the press so press is a european thing where you can apply for computing power so I look at their site and looked at the latest project and the time allotment that were given during the last call for project and the biggest thing they gave was for climate simulation and the total number of the total computing power that has been allocated to this project is 16,000 16,000 years so exactly what would be needed to do the biggest the biggest computation in crypto above so you see big computation in crypto are not this ridiculous compared to big computation at large ok so now let's go for a few examples of computation I have done in the old or recent past just to see kind of things that may happen when you do this so one of the oldest example I want to speak about is a point counting on elliptic curve which we did back in 98 with Renal Lersier and the starting point was Renal PhD thesis from 97 and you probably know that when you want to count points on elliptic curve using the scoff-elkisatkin algorithm what you do is you have two main phase you just compute partial information about the number of points modulo, small numbers and once you get this you need to pass everything together and the classical technique at that time was called the match and sort algorithm and the idea was just do a collision search on the elliptic curve ok and this cost a lot in memory you know the time and memory these kind of algorithm are the same you need to have big lists in memory, sort them and then look for a collision at that point we had some modular data available for large computation and as it was natural Renal had started the match and sort thing and it required one month ok easy just wait the problem is that we had a power after three weeks well the real story is even worse than that you know two weeks after the computation that started we had a call from the people doing the maintenance of the place and Zettel told us ok in one week we are going to shut the power to do some maintenance electrical maintenance ok nice on on Wednesday morning oh problem because the program was not doing any saving of the data to this so we couldn't restart it ok so during this week we we worked hard to find a way to cordon the program in a way that would allow us the computation good on Thursday noon we were ready we knew exactly how we were going to dump the data to restart after the power failure so we went for lunch and when we came back from lunch as the electrician told us we were preparing for tomorrow but somehow the power went out ok so in this case what we do is do I restart the computation or no we went back to the drawing board can we solve the problem in a different way and we could and we found a new algorithm with the same asymptotic complexity where time is concerned but that used a much smaller amount of memory and we could do the computation using 4 CPUs during a single night and during a single night usually you don't have any power failures so it was fine and well the description of the algorithm went in this paper one year later ok and as I said we reduced the memory cost so I told you before that the first shazero stuff I did was just a toy example that we had nothing to do with it but a few years later things had progressed and it became possible to try to attack shazero really and so it was based on an improved version of the analysis and essentially what you had to do was find a differential pass and try to follow it long enough so this really looks like a brute force algorithm so it's what people in high performance computing call embarrassingly parallel it means you just have nothing to do you put all the machine you have you start them at different points and tell them ok just go on and so this is quite easy and it was the first time I did some big computation on ball road power some people had some big machines they wanted to give power to people to try them so ok that's a good idea we can try it and after 8000 cpu hours which is roughly 9 cpu years not that big 3 weeks real time on 160 cpu we got a collision which was published one year later in this paper ok so this was really easy no bad news no power failure the only fun thing is at that point I went to see the machine and the guy who was managing the machine told me ok you know these are cold and these are hot these one are running your computation so it's fun ok so the next more recent example is a triple collision algorithm from 2009 with Stefan Lux so we had a paper about this in azurecrypt 2009 and we wanted really to illustrate that this algorithm was interesting in practice so the idea is if you look at the early literature to find a triple collision in a random function you need a lot of memory and when you need a lot of memory it's not possible to do the things so what we found was a simple way to reduce the amount of memory and with this reduced amount you get a computation with three phase phase one is you just compute many iteration of the function for which you want to find collision you start from random value you iterate until you get some distinguish point and then you stop ok and you do this many times in parallel using many machines so this is easy then you get everything centralized and you sort the value and find triples with the same endpoint and you rerun roughly phase one on these triples to make the sequence converge and if you are lucky enough you get the triple collision ok the problem is we are looking for power and at that time we only found some very strange machines where most of the computing power was on graphic cards you know it was the recent period when people said oh graphic cards are very efficient when you compare their cost to their computing power so let's use them to do computation and we add this ok so it was a strange experience to program on these things thankfully the algorithm was easy enough to make this reasonably simple short and easy and whatever and it was well it was really 8 times faster than doing the same thing on the CPUs of the machine and knowing that the CPUs costed about the same thing as the graphic card it really means that in terms of raw computing power it was really true the graphic cards were much more efficient ok so phase two this was easily done on a single CPU well you need to synchronize three things and it's really more complicated than just doing this stupid phase one so for this reason since it's also less costly it was easier to code it and do it on the CPUs of the machine and after all we added the triple collision on a 64 bit cryptographic function you know to absorb two desks and it was only a 100 CPU days computation so it's only four months well three months something small ok so now my last example which is probably the most interesting one is kind of a sequel of Vanessa Stolk I'm going to give you a bit more details about what's happening when we do this kind of big computation ok well index calculus is an old friend I have been doing this kind of computation since well probably in 98 so discrete logs in GFP discrete logs in GF of 2 to the N discrete logs in GF of P to the N for not so small prime and other less classical stuff so all this is index calculus so it's really a non-landscape it should be very easy well I can promise it's not a routine task even if you have done it many time before ok and you are going to see why now ok so just to know about the magnitude of the computation we had previously you are going to see that they are quite small everything is expressed in CPU days but years so you see it's quite small the biggest one we did was this discrete log in GF of 2 to the 613 which was only 3 CPU years and you also have the kind of architecture we have been using for this stuff so in the early days it was just single single core machines which were very easy to use and then we went to quad-recore machine and then to machine with 16 processors ok and this one was 4 machine with 16 processors so it's ok but it's still small it's something that you can use at home well mostly and so all these records were done with very small computing power so now let's start from the initial view we had for GF of P to the 6 so the theoretical view is very easy, Vanessa just gave it before so what we want to do is first sieve then do linear algebra and then find all the individual logarithms for all the extra value you want to get this is the theory very easy, three lines, nothing to explain well the practice phase one you need to sieve strangely enough after sieving some of the relation on the disk are incorrect nobody knows why so verify the relation by testing whether they really have zero on the elliptic curve it cannot hurt and it's better than having something wrong the linear algebra well this was the theory but in practice linear algebra is more complicated than that we do strict regression elimination then long shows algorithm that's what we had in mind because long shows algorithm is what we have been using previously and then complete the logarithm which is quite fast it's kind of a backward Gaussian elimination to get the extra logarithms on this initial view it's slightly more complicated than the theoretical one but it worked quite well we had everything confirmed with a small computation on 130 bits so a bit more data the sieving was just one hour on 200 CPUs so very easy we got 50 million equation in 2 million variables and after the strict regression elimination we are down to 600,000 equation on variables the linear algebra the long show step was one full day on 128 CPUs but it's still ok and all the rest was easy so the total thing was half a year of computing power ok so very easy simple computation no problem ok so clearly as I told you before we try to scale up slowly so don't go from 130 bit to 160 try to take steps because it can be useful so the first 2 steps we are going to 6 times 23 and 6 times 24 well as I told you the easy steps do not scale at all when we try to do the strict regression elimination for 6 times 23 it was roughly ok but already at 6 times 24 we didn't had enough memory on the machine to do it so we had to do the strict regression elimination on disk which makes things a bit harder and then it became too slow and we had to do it in a multi-threaded way and even after doing this the equation coming out of the strict regression elimination a few of them were wrong so it might be a bug it might be another failure you never know so thankfully in this specific case the equation coming out of the strict regression elimination still makes sense on the elliptic curve so just go back to the elliptic curve and check them if they are correct keep them ok the second problem we have is that long shows is getting slow and the problem is made harder because on the machine we have a time limit on jobs you can't run for more than a day then your job is killed so you need to find an automated process to save and restart without having too much trouble ok so for the 6 times 6 times 23 it was 3 hours and 1000 CPUs something very easy to you don't need to do anything the strict regression elimination not enough memory rewrite to work on this can then multi-thread ok we started from almost 900 million equations in 4 million variables and after the elimination 1 million equations so it was divided by 4 the number of variable which is quite good for regression elimination and finally it was just a few hours and 32 CPUs so it's ok corrupted equation added check and long shows was 3 days good strangely enough completing the data you know it was 10 minutes before well now it's 17 hours well it's somehow related to the strict regression elimination the fact that this one is becoming harder makes this one hard also but still the final phase individual logarithm was a few minutes at this time we use the magma code now it would be 40 seconds oh no 14 seconds so it's ok 1 year so you see alpha year 1 year ok scaling is finally not that bad 6 times 24 ok you see that the real problem is long shows because saving is still very fast less than a day long shows is getting slower well the problem is that there is a non balance here we are using 1000 CPUs and here only 64 so clearly something is wrong and the total CPUs is almost 4 years ok so now the next step which is logical is the one Vanessa presented this morning we go to 6 times 25 and as I said long shows is going very slow we need to to split the job in a nice way it's very complicated completing the logarithm is becoming harder and it's even worse than before the corruption on disk is back so after completing the computation of discrete logarithm something really strange occurred most of the logarithm were correct well almost all to say the truth but a few here and there were incorrect and trying to do backward Gaussian elimination with a few false value doesn't lead to any correct result so we had to add we had to add a correction step to remove the incorrect logs which was a pain ok so as Vanessa said this morning saving was very easy 62 hours well 2 days and a half on 1000 CPUs 14 14 billion equations in 16 million variable ok we went down to 3 million so 5 fold improvement and this took about a day when we say about a day it means that when we do the Gaussian elimination on disk in fact we need to run it several times to adjust some strange crazy parameter until we find the right one and once you have the right one it's just a few hours but you need to find the right parameter by dichotomy search or whatever but the long shows was a full month and this is really a pain ok the total was 12 CPU year so the next logical step the one you probably expected to see here was 6 times 26 ok so the theory was there the view confirmed by 6 times 25 is here so everything is fine we should be able to do it and the long shows should take 4 months it's long but it should be achievable so the saving ok this time we were in a rush so we saved on 8000 processor so it was just a day oh first problem and for some reason it would to do the full saving on the parameterization we had would have taken 27 hours so the saving was cut in the middle well not a problem except that it was also cut in the middle of an equation so to re-read the files we had to patch the program again ok not a real problem but in practice it can be inconvenient so now we have 40 billion equation and in 33 million variables we can do the Gaussian elimination go down to 6 million which is large but feasible and we expect the long shows to be done in 4 months ok just launch it so we started on September the 22nd so of course it should be finished well it was slower than expected in real time because the machine was very busy and we had to wait between the runs so the jobs were just there waiting for computing power to become available again so this is a mess so at the end we expected the computation to end on the 4th of February so we were there waiting for the computation to end so you know you have 1000 round left of the long shows and 100 and 10 and 5 and then why didn't it stop the orthogonalization process did not stop so mathematically this is impossible ok because if you have a matrix of dimension 6 million you can't expect to find more than 6 million orthogonal well mutually orthogonal vectors this is not possible but it still happened so it might be a bug it might be whatever so ok so it failed so how can we process the first option was ok add a sanity check this can be done easily in long shows because when you save your data to disk on long shows one thing you could do is look at the vector you have currently and check whether they are still orthogonal to the very first vector of the computation if they are everything is probably fine and if they are not everything is probably wrong so ok so this could be done but running again for 4 months especially since we only have access to the machine till the end of May ok so the second option is try to improve long shows to get more CPUs but due to the communication even if we can't do this we are not going to gain enough in scale to make something reasonable so option 3 go back to the drawing board ok so go back to the drawing board and the solution is known you know we should use block V demand by Coppersmith and it has already been used several times by Tomei for this computation of this feed log and by Kleinium for this one so each time they had oh something which was about a one month computation the systems were smaller than ours so it's not clear it's not clear we can do it really so ok but still there are three phases the first phase is very nice because instead of having a single run of matrix vector multiplication you do several run in parallel independently from each other so you can use computing power easily then you need to find a linear relation between all this stuff and there is this which explains how to do it with an efficient algorithmics and finally you need to recompute part of what you did in the first phase and derive a solution from it by putting these data inside ok but clearly what we have here is not good enough for our purpose so if we want this to work we need to scale up the approach and get something better ok so we did develop this program and what is happening on the previous example I told you scale up slowly so restart from this example and look at what is going to happen so I recall the long-shots data and ok first phase do ok we scaled up so we decided to do 32 independent matrix vector multiplication so this can be done on 33 hours using 1000 cores so it means that for each computer with 32 cores we are doing a run of matrix vector multiplication and it can be done very quickly next we use Tome's algorithm so this is done on a single computer with 32 cores and it's quite fast in 9 hours we are done we get the relations we need the linear relation we need and then we redo half of the matrix vector multiplication phase and in 15 hours we get the thing so the total CPU time is a bit bigger than what we had before but the real time went down to 28 days to 2 days and an half ok so now the new thing to do the sieving to do the complete computation including sieving is 5 days real time ok and the magnitude of the computation is 14 CPU years so the only thing we need to do is scale up to the next one ok so I emphasize that here the real time is without counting the weights between the 1 day runs ok because we are doing nothing but we are still waiting ok so what is happening the expected time is for the first phase is 125 hours so 5 days we started on March the 28th so it should be finished ok so well the power was back the day after but the machine is very busy these days and the first phase is still running I just checked this morning before the talk the 32 threads only 24 are finished so I can't give any more result for today and that's it so we may have time for one or two questions do we have a microphone probably yes when you talk about CPU time CPU over what year so ok so just to ok that's a very good question when I give my timing in CPU years I give the timing in current CPUs at the time the computation was done so it means that Moore laws is not taken into account at least for the time when the processor power were going up and why did I make this choice is because when you perform the computation it's irrelevant managing the one processor computation is not harder if the processor is going 10 times faster ok so what is happening is doing bigger computation with more cores is still harder so with the new big machines things are becoming slightly easier you can scale up the computation a little but still if you want to do a 1000 year computation it's a major project so this was the point of choosing this strange looking unit further questions ok so then let's thank Antoine again


Hi everyone, this is Jason here from Nathaniel. In this lesson, I'm going to take all of the normal chords which we might know. By normal, I basically mean two of them, major and minor. And then look at various strategies, various natural or very piano friendly strategies to kind of easily navigate and find all the other chords and the extensions or the more advanced sounds as we call them like the sevenths, the fancy jazz tensions, also some suspended intervals. So basically chords which are not major and minor. Major chord as we know, one, three, five. So that's a root, major third, perfect fifth, minor chord. Minor chord, root, minor third, perfect fifth. The same perfect fifth for both major and minor, right? So we are going to start with those chords. And also what's important to consider is that each of these chords have their own inversions. So if you take C major, C, E, G, or you have E, G, C where you just take the C and move it on the top. We call that an inversion or in this case, the first inversion and then we have G, C, E, the higher one. So just remember that there are 12 major chords, 12 minor chords, and then obviously the inversions of each. So we are gonna start with that and then expand and build all sorts of other sounds. So for example, if you take a C major chord which I just call as vanilla C major, right? You know, like an ice cream. So you take C and then you add stuff to it. You get a more sophisticated sound, maybe. That's sort of a sound. So all of this is based on just a simple concept called intervals and on the piano, it's laid out really well for us and theory will help us as well. So using theory and using the geography of the piano so to speak, we are going to find all sorts of advanced chords. So stay tuned till the very end and before we get cracking, don't forget to hit that bell, very important. We'll be doing a lot more videos as probably some of you already know and if you haven't already, hit that subscribe button. Let's get cracking. So if I take a chord, let's say D major, D F sharp A. So the first thing you want to note is when you construct a major chord, it's the root. Any of the 12 roots we have in music, C D F G A B, B flat, E flat, A flat, D flat, G flat. You have all those options. Right now I'm considering D as my root and to form a major chord and to form most chords along with that root, you need to at least know the fifth interval. So that would be the fifth there. D's fifth is A. Similarly, you take C. C's fifth is G. So knowledge of the fifth is, I think, very important and obviously the root itself, which is not a big deal, it'll tell you it's C major or C seventh or whatever it may be. So you have the fifth, which you need to know and a very important trick will be the circle of fifths. You could just see the circle and anything clockwise will be the fifth and anything counterclockwise in that circle will be the fourth. That's your fourth, C to F or D to G and anything clockwise will be the fifth example. D to A or C to G. So fifths and fourths become very important and then the next order of business would be to remember the thirds. The thirds is something I would really suggest that you just mug up, you memorize. There are only 12 of them and trust me, they are super important. So it's worth your time to learn those thirds really, really getting them at the back of your head. So major thirds and minor thirds. A major third, for example, from D will be two steps from within the major scale or you go up a third like that, one, two, three or a crude way would be you go up four chromatic steps from anywhere. One, two, three, four. So D's major third is F sharp. So if ever you're struggling with that, well, count up chromatic steps and you got your major third. However, make a chart, remember it really, really well and practice it. The more you practice these things, just like a sport, it'll start becoming second nature, like how to serve a ball in a game of tennis or whatever. So make sure you template these things. If you want to study harmony which is beyond a major and a minor chord, you have to know fifths. You have to know fifths from every single root. Then you have to know the fourths. Then you have to know your thirds, namely major and minor third. Once you've got all that done and dusted, you can form your chords. For example, a major chord is nothing but a root, it's fifth and it's third. Major chord will have a major third, which is F sharp with respect to D and a minor chord will have a minor third, which is F with respect to the same D. So that's about your triads. Now if you want to add some additional triads, some other interesting triads, given the knowledge of the thirds, the fifths, major and minor chord, you most definitely can. So if you take the same D major chord here, to create a suspended two, what you need to do will be remove the third and then play the second instead or play the sus two as we call it. So how do I remember the two, the major two? The major two is just the root plus two steps. Go up one, two there. You've got yourself the sus two and then you have your sus four, which is either the third plus one step or the fifth minus two. So that's how I like to look at it. From your root, get your second if you want. That'll be sus two.  So sus two, major, sus four, back to major and another interesting chord will be the diminished chord or the augmented chord. So to form the augmented chord, you start with the major, take the fifth and move the fifth up a chromatic step. Move it up by one. Up means right side. So there's your augmented. Again, there we have it. That's your augmented. And if you want to do diminished, you start with the minor chord and now you take the same fifth and you move it down a step. What did I tell you for augmented? Take a major chord, move the fifth up a step. What do we do for a diminished chord? Take a minor chord and move the fifth down by a step or a semitone as we call it. I just prefer to say down a chromatic step that just throws away all the doubts. You know chromatic is like one by one, right? The closest possible interval. So you go diminished chord right there. So we have augmented, diminished, sus two, sus four and then you can obviously build some other chords. Like if you want to do an add two, right? You can play a major chord and then add that two. That's why they say add two. You're adding a two to the existing triad. That's an add two. That's like an add four, a very nice sound. So that's how you kind of embellish the chord from there. So this is pretty much about triads. Now, if you want to do extended chords or seventh chords, the bigger chords, what you could start working on now is, okay, let me come back to let's say a C major chord and now you're trying to find, let's say a dominant seventh. Now you tell yourself, what is a dominant seventh? A dominant seventh will be a triad you already know, namely a major chord plus what? You have to say, okay, what more should I add to this to create a dominant seventh sound? What you add there will be a minor seventh interval. So you go C major and you ask yourself, okay, what is a minor seventh or a dominant seventh interval? The answer is quite simple. You just answer the problem by saying root minus two. So if you take C, the root is C. You do a minus two, which is one, two and you got yourself a C seventh chord right there, which you add to the triad. Now, let's say your fingers were like this. You're doing thumb index middle and you have some fingers this side open. You ask yourself the same question. A dominant seventh chord is nothing but the root minus two, which is B flat. So root minus two gives you a minor seventh across the board, wherever you play. Now, I have two shapes for you right now, right? So I have a C seventh, where the seventh flat is played there or C seventh, where the seventh flat is played down below, okay? Now, what if I was on another inversion of C major? Let's say this one. You don't have to bother about the shape of the dominant seventh. Just you need to just know what is the dominant seventh interval from C? Intervals are way more important in this case because the piano is what you see is what you get instrument. So you have to know the name of that interval. So what is a flat seven from C again? Well, I'm repeating myself a lot, but it is nothing but the flat seven B flat. So you ask yourself, where is the closest way to play my B flat? Well, it's right here. And you've got the other shape for this rather advanced chord. So you take this one at the B flat down below. Take this shape, fingers are free. At the B flat up there. Take this one and your B flat's right here. It will always be close to your hand. And last but not least, you take the G C E and you find that the B flat is here. You just need to give yourself a free finger in order to play that additional note. So this is your dominant seventh chords. Now this is no different than all the other chords. For example, a minor seventh. How is a minor seventh formed? You take a minor chord and then you stack up the minor seventh, which is the flat seven. Same flat seven B flat. So here we go. B flat here, B flat here, B flat here, B flat here. So those are the ways you can really remember a more advanced chord given the fact that you already know the existing triad. Okay, that's minor seventh for you. Of course, you need to practice and get used to all these shapes, but the fact remains to form it, all you need to know that it's a minor chord plus B flat. C minor plus B flat is C minor seventh. C major plus B flat is C dominant seventh. What is the other popular seventh chord which people use, the major seventh chord? So what is a major seventh? A major chord as the name suggests plus a major seventh. So how do I get a major seventh now? Minor seventh, I told you, is octave minus two. Major seventh will be octave minus one. So there we have it. And then a dominant back there, minus two. Minus one would be the romantic major seventh. Okay, and again, I can play that B either up there or down there, very nice for arpeggios. Or C major with the B there or with the B right there. So we've discussed dominant sevenths, minor sevenths as well as major sevenths. What about the sixth chords? We have major sixth and we have minor sixth, don't we? So you take the major chord and now you ask yourself, what is the major sixth interval? It's very simple. It's just the five which you already know is G plus two. What is the five plus two major sixth A? And you add that A to wherever you are, whether it's here or maybe here, right? That's your major sixth sound, right? Now you're probably wondering, I should probably remember my major sixth intervals as well or my minor seventh intervals as well. Yes, the answer is true, but the odds are that if you're sort of new to the piano or haven't worked on your intervals enough, you're not gonna get all the 12 intervals from every 12 root notes. It's gonna take some time. So my advice was since you're already fairly efficient with the major and the minor chords or at least their formation, start with that. Master your fifths, master your thirds, major third and minor third.  It's the same as the root. Your fourths and then we add more to it, right? To remember the major seventh, octave minus one, minor seventh, octave minus two. Major sixth will be, well, you could argue octave minus three, but it's maybe a bit more easier to do five plus two or octave minus three. So the advantage of these major sixth and minor sixth chords is they are the same in terms of the sixth, okay? So you go C major, major sixth, A. C minor, the same A and you get your minor sixth or the James Bond-like sound. Or if you want more exotic sounds or more and more basically, you could like say, okay, I want a minor chord which I know and then what is the combo left? I've done minor chord with a major sixth which gives you a minor sixth flavor. I've done a minor chord with a minor seventh that gives me a minor seventh flavor. What if I tell myself minor chord plus a major seventh? Let's see how that sounds. One of my favorite chords called as the minor major seventh chord. Minor major seventh, okay? So you can just form chords like that. For example, you wanna find a minor seventh flat five, okay? So minor seventh first. So minor chord plus a minor seventh and now the chord is minor seventh flat fives. You take the G and you flat the five or you could just say it's a diminished chord with a minor seventh, right? So you can get even some of the more complex chords, I guess, like even if you want to say, if you wanna find an augmented chord, let's say by now you kind of know that an augmented chord is one, three, five, sharp. You could kind of then add a seventh flat to that. That becomes an augmented seventh or you can do a major seventh sharp five chord which is major seventh.  That creates a more sophisticated sound, right? So I just wanted to share these thoughts at the end of the lesson, just to show you that you can build some of the most supremely advanced chords there are under the sun. Even if you say you wanna build like a Phrygian chord, you know, which is a root fifth and then you add the flat two maybe, right? That creates a Phrygian sound.  Maybe you do a root, sharp four and a five or add a third there. You can get these modal sounds. You can get a lot of things using the foundation, right? So let's recap, guys. We've done basically triad, different triads apart from major and minor in this lesson using nothing but intervals. I have sort of highlighted the importance of remembering your triads and also the intervals in which, through which they are formed, namely the perfect fourth when needed, major third and minor third. Make a few charts of all this stuff and keep it ready, right? Before you explore. And then all the other chords we saw over the lesson. We saw diminished chords, augmented chords, suspended chords. Then we moved into seventh extensions or seventh chords. We looked at dominant sevenths, minor sevenths, major sevenths. Then we did a few other permutations using the chords. So if this was a bit too much to digest this entire lesson because I've covered, I think I've covered a lot. What you could do is head over to our Patreon where I've prepared a rather like a booklet of all this information. So you'll find the, you'll find a chart where I've written down all the intervals, all the important intervals. You'll find the circle of fifths, all with my handwriting, of course, which I think is quite cool. Then also tricks to form your intervals, major seventh, minor seventh and whatnot. So get yourself a copy of the PDF booklet on the Patreon and what's also cool, if you follow us or if you subscribe to Patreon for just five bucks a month, five US dollars a month, you're gonna get whatever was done in the past, all the previous lessons, as well as this one and what we are going to do in the future. So it's just in kind of a subscription which will keep growing on you, notation and a lot of other things along the way. So I hope you guys found the lesson useful. Again, this is Jason from Nathaniel. If you haven't already, do consider subscribing to the channel, hitting that bell icon. And if you want to learn with us, any of our team from Nathaniel, vocals, piano, guitar or whatever instrument you like in person with us in our online music method program, there will be a form in the description. You could perhaps fill that out and connect with any of us in the Nathaniel team. Cheers and see you in the next one.


Namaskaram. Well, in New York and it's snowing heavily, they're expecting anywhere between a foot to three feet of snow today. It's been snowing for the last three hours or four hours now. Just finished the UN event. This was an event by the permanent mission of Indian Embassy here at the United Nations. This was about water, sanitation and women, these three things they want to connect. Because tomorrow is a World Water Day and they are launching a tenure or a decade of action for water conservation and water conservation and water is seen as a part of an important part of sustainable development goals. Well, I am part of this important panel where all the key people are there in this. This is towards action for the next ten years, what we need to do, how to engage the people. As a consequence of Rally for Rivers, we have brought this awareness in the world without a mass movement. There's really no solution. Governments may do things, companies can do things. Individual people and NGOs can do whatever they do. All of it is useful, but without engaging people in a mass scale, there's really no solution. This has gone home very well with Rally for Rivers and that's why we are here. And tomorrow is going to be an interesting panel discussion at the United Nations, which is under the umbrella of United Nations, not by the Indian Mission. Right now, I could send you a few pictures of what's happening outside. The snow is coming down pretty heavy and all schools are closed. Transportation is not working. Most of the taxis are out. Uber is not functioning. In spite of that, the hall got filled up today and very enthusiastic response from a variety of people who attended today's meeting. This has been driven home very clearly. That Rally for Rivers is a very effective way of looking at water solutions in the sense I have even in today's meeting, I drove this home that if we want solutions for water, if we want water available to everybody, one of the most important things we need to understand is that there must be sufficient vegetation. There must be sufficient forest. If forest is not possible, at least tree cover. Without vegetation, there is no way tropical part of the world will have the needed water because in the temperate part of the world, there is no fall as it is happening right now in New York City, heavy snowfall. Similarly, everywhere else in the temperate nations or in the temperate lands of this world, snow sits on the ground for two to three months and slowly drips down and fills all the aquifers and everything. But in a tropical land like India, only 45 to 50 days of rain or precipitation happens, what falls down or what comes down in 45 days, we have to preserve and sustain for the next 365 days, the whole 365 days. So this can only happen if there is necessary vegetation and rich organic content in the soil. So this point has gone home very well and this has been taken note of in a big way. And right now in India, there are serious efforts after the rally for rivers. Many states are going on overdrive. Karnataka is going for 25 crores of trees. Maharashtra is going for over 50 crore trees. And Telangana is going for over 90 crore trees. Andhra Pradesh is talking about converting 50% of its agricultural land into horticulture. And UP, the Ganga basin, there are serious plants for plantation of which we will be a part of. So all this happening and thanks to all the people, the millions of people who participated in rally for rivers, especially for the little school children with such enthusiasm, they did all that they did for rally for rivers and every volunteer and everybody else who participated who made this happen. And today there is a movement in the world towards this. Everybody understands up to 33 degrees latitude. The most important thing that needs to happen is vegetation. Somehow there was a certain amount of misunderstanding or a lot of flak going around. But today it is very clear both in the Indian government and in many states of India and also in United Nations in the world bodies. Well, tomorrow is going to be an interesting final discussion. Tomorrow is a full day for me at United Nations. Every one of you who have participated in the rally for rivers who have supported this in so many ways with your physical presence or just in your hearts in all the different ways that you have supported. I want you to know in some way it is moving towards a solution. Solution is not close by. If we start working today in the right direction, solutions will slowly come over a couple of decades I would say. So I want all of you to stay committed and focused because what we are looking for is to turn the world around in some way. This is something that we owe to the future generations. This is not something that will happen over a weekend or even a year or two. This will take a few decades, if not many decades, at least a couple of decades for us to see significant results happening. So please stay on course. Let's see that before our time is done, we hand over a really lush green and water-rich planet to the future generations. This is a commitment that we must take. This is a commitment that we must fulfill for the generations to come because this is something that we owe for life that's after us because our time here is just a little time. We have no right to take away everything from this planet. But our lifestyles, our existence, our technologies, our needs, our market needs, our economic needs have multiplied and we can't turn everything around. But one thing we can do, make sure there is substantial vegetation on the planet that whatever nonsense we do, still the planet is capable of withstanding. If all the other life survives, this must be understood that every other life on this planet is eco-friendly except the human being. So the human footprint has become so much that all the other life, the life in terms of worms, insects, birds, animals, all of them are withdrawing in a big way. There is a sad picture going around. It's a tragic day that a species that has lasted for a million years comes to an end simply because of us, of human beings like you and me. So it is important that we create enough space for every other creature because they are the true eco-warriors. The worms that you see, the insects that you see, the birds and animals that you see and the trees that you see, these are the genuine eco-warriors. We just have to make space for them. So this is what we are trying to bring home if we create enough habitat by creating trees and moving our agriculture, at least in a significant part from crop-based agriculture to tree-based agriculture. This is where the solutions are. First of all, to ensure that this boogie of ecology means it's against our economy. This has to go. This is the fundamental goal of Raleigho rivers that ecology and economy can go hand in hand. It is just that we have to learn to do our economy in a gentler and more inclusive way that includes all life on this planet. So be with me. Tomorrow is an important day for Raleigho rivers because in the UN many things are going to be taken note of and the recommendations in the Raleigho rivers are very relevant for all tropical nations on the planet. So UN is looking at it very cleanly. Let us see where it goes. Thank you very much. Namaskaram. I wish you were here to see this fantastic snowfall that's happening in New York City today.


Hell yeah, what's up guys, this is Chris Pike. My friends call me Big C. Back in action today, I'm gonna show you how to add camera shake to your videos. Let me just show you what I'm talking about first. You see that? That's a shake. This is not because the person holding the camera is shaking the lens. It's because we've added this in manually. This is a very commonly used technique, a production value enhancer for when you're showing confusion, or excitement, or frustration, or if you just wanna show organic camera movement, what your camera is on a tripod, for example. You wanna show that movement, here's how you do it. Before I show you any more, I'll show you a little bit here from a Mr. Beast video. You see this? This is what it looks like when somebody's walking and they've got their camera on and it's shaking around. Very, very common, but I'm gonna show you how to do that without having to do the holding the camera, just doing it naturally. So let's just go ahead and delete all of this here. So we'll start from the beginning, and I will drag and drop in some footage here, just like this. So I've got some, this is just stock footage of somebody playing some sort of console thingy-dingy, and it's cool. All right, let's go. You'll see here as I scrub through it, there's no shake going on. It's just him playing it, okay? So let's just make it 13 seconds so it's not super long. The next step here, this is a quick tip in case you're not aware of this, but I'm just gonna lower the sound down because we're not really working with sound here. We're just working on the shake or the camera movement. The next step, if you're following along, you wanna go to the effects panel over here, and then unbelievably, this is like one of the craziest naming conventions in the world, but you actually need to go down. Let me just close up some stuff here. You gotta go to Grunge, and no, it's not like a 90s Grunge band or like a Nirvana concert. No, you gotta go to Grunge, and then when you go down, you'll see something called shake. Alternatively, you can just search here and you'll find shake. So what you do is you left click on the shake effect, drag and drop it on top of your video just like that. When you do that, it gives you a default, a bit of shake, so let me show you what it comes with right out of the box. It's a very subtle kind of shake. That might be good enough if you just wanna show a very subtle hand-held look to your footage, but in most cases, you wanna go a little bit more than that, especially if you're trying to do like a frustration or a confusion or oh my God, I'm so angry type look. What you wanna do is I generally jack the amount up, now let's just increase the amount to about 80 for now, and then the speed, let's go all the way up to about seven, 7.2. Now watch what we got here. I'm gonna just move it to the beginning. Ah, so frustrating. And if you wanna change that like big, big movement, you can go ahead and do that.  That's good. And again, you can up to speed if you wanna increase it. Let's try eight. Hey, crazy. Excuse me, but that is how you add hand movement, how you add camera shake to a shot without any shake. Guys, this is very, very commonly used in high production value videos. And because it's freedom and the way we do things here, this is a free tool, this is free software, everything we do is free and make you the best video editor you know. That doesn't cost you a penny. Thanks for watching this tutorial. Time for more stuff coming up. Stay tuned. Be back soon.


Professor Sirina Slakish will now change that geographical focus to Ireland and our final speaker for this session is Assistant Professor Ed Brick from the University of Nottingham. He's going to speak to us on the Irish sovereignty, cybersecurity and counterintelligence in the 21st century. So thank you, Professor Ed Brick. Thank you very much and thanks for the invitation today. It's nine years ago I was seconded by this department as a civilian to a CSTP mission in Afghanistan, the EU police mission. And I had the great pleasure there. Obviously it was a very Nordic-led mission at the time. And in terms of small states asserting themselves, I can tell you that when you watch a Finnish general have a serious meeting with a four-star American general in Asana, there are certain advantages that the Finns have in terms of getting their way. However, in terms of cultural differences, their Irish members of the mission can suffer a little bit in terms of note-taking and concentration. But I want to start with a historical anecdote and it's a slightly provocative one since I'm the last speaker before coffee. So in September 1974, not far from here, there was a rather awkward exchange between the head of the Anglo-Irish section of the Department of Foreign Affairs and the head of Chancery, the British Embassy. And the British have been caught. Essentially they shifted the course of HMS Ark Royal and aircraft carrier and they basically sent reconnaissance aircraft over Irish airspace to try and seek out IRA, Irish Republican Army, arms dumps in the Irish state. And of course Dublin Airport detected that, right? So that created an awkward moment. Now the British had even more awkward news. They wanted to do it again because they believed it had been quite successful. Now this created obviously serious concerns between the Department of Foreign Affairs in terms of sovereignty. On the one hand, you know, when it comes to the classic way of sort of looking at threats, they had detection had worked, detection. But in terms of deterrence and punishment, the options for Ireland at that point weren't great. I mean there was, essentially they were looking at, well, the Irish Air Corps had didn't have the aircraft intercept 30,000 feet over the over Irish airspace. And it was an embarrassing diplomatic incident for two allies really in the United Kingdom and Ireland in terms of sort of cooperating on counterterrorism within the island of Ireland. And so they looked at, you know, various options looking at kind of in terms of punishment. And obviously the EU wasn't an institution you could appeal to even clandestinely, you know, sort of covertly or otherwise to try and intervene. Ireland wasn't a member in NATO. So they ultimately decided that simply a rather secret diplomatic protest was kind of the best way to do things. And then Charles Whelan in this building said to the head of the chancellor, he said, look, if you're going to do it again, we can't stop it. Quote on quote. Right? So the British did do it. And actually inadvertently it proved quite useful in terms of intelligence for Ireland as well that were gathered by this, really was an, was a clandestine, initially at least a clandestine violation of Irish airspace. And that was done by an ally. So that goes to the heart of kind of small states dilemma, right, that comes to dealing with even very friendly largest states is that to what extent do we have the capacity to deter and even punish when sometimes even even not even friends or states that are in between sort of do things that we're not too pleased with when it comes to our sovereignty. And I suppose that's I really want us to go back to the theme of focusing on these themes of deterrence, detection and punishment. Today, these three elements are of course very back, very much back in sort of as a pressing priority, including for Ireland. Sovereignty in the digital era is obviously much, much harder to measure than it was in the 1970s. And so in terms of detection was easier, obviously in the Irish case in 1974. Right. So even today, in terms of sort of occasional Russian, or violations of Irish airspace, for example, you know, that can be detected reasonably. Other things such as cyber now is much more difficult to finding exactly who the author of a violation of Irish cyber security is are those of our partners in the NBA is extremely, it can be very, very difficult to deny ability is much more easier when it comes to cyber violations, including even from individuals or institutions that are based in Russia, for example. And so, of course, so whereas intelligence activities in the Cold War could be more readily comprehended, if not always detected, and did have some discernible patterns today, obviously, as some of the previous speakers, and indeed, the permanent secretary from Iceland also referred to in his intervention, and it is it is much more difficult sometimes to identify the fingerprints on certain actions when it comes to cyberspace. And we've seen really Ireland has seen a proliferation of threats to its security on three unconventional fronts over the last 10 years. First, there has been a significant escalation of the threat from international jihadist terrorism, including from returning fighters from the wars in Libya and Syria. And of course, friends from Finland and Sweden can attest very sadly and tragically that neutrality doesn't exempt you from these type of threats. These attacks do happen and have happened in those countries. And indeed, Ireland and Cardi Shikhauna and others here are having to work very, very hard to ensure that such a situation, you know, will not or hopefully will not arise within the Irish states. And we're seeing extra resources from the commissioner being put towards that. And of course, there have always been there have been a number of cases of Irish nationals traveling to associate with Islamic states in Syria as well. So we're very lucky here to have a long standing Irish Libyan population and only a very tiny proportion of Libyan nationals or Libyan Irish nationals will have traveled to Libya, for example, to associate with Islamic state. But it isn't it is very much a prominent concern, of course. And for those charged with our security and that has proliferated. And it's something which we're having to work very closely with our allies in Europe, particularly in the EU, but also in terms of the native countries as well, to the native itself to try and to try and deal with that. And I would say that when it comes to looking at this this escalating threat, there was a lot that we can discuss and engage with when with our NBA allies with with our Nordic partners, who have, of course, also grappled with the dilemma of dealing with communities that add a huge amount to the country. But also within those communities, there is a there is this very small number of people who may be planning extreme activities. And how to do that is very, very difficult. There's no easy way of doing that. Of course, one of the key lessons that we learned from countries such as Denmark and wonderful work by Danish academics on radicalization, for example, is that, of course, it is very important not to try and sort of fit, describe a community as as being a sort of single diaspora to understand that there is therefore there is no self appointed or even state appointed leader of that community. And actually doing that type of activity, saying that this voice represents the Muslim community in Ireland, that can be counterproductive. And so we need to understand the diversity that lies within the sort of the Muslim communities that exist within our state. And when it comes to counter radicalization and counterterrorism, of course, the EU, JHA, not least the CNA system remains will be absolutely vital in the future for Ireland's counterterrorism and efforts. However, similarly, and here's the the Brexit conundrum. Obviously, we share a common travel area. We're not in Shengen. We share a common travel area with the United Kingdom. And Five Eyes will obviously remain indispensable to our security in the future. And in terms of trying to you know, Ireland is having to will have to look at ways to keep the CTA the common travel area secure after Brexit. That's quite complex. That's quite difficult. If the UK pulls out of various data sharing mechanisms, various JHA mechanisms, and what do we do at the bilateral level will be a very interesting, difficult question. And their models of Nordic security cooperation can help. I mean, hopefully the UK will go the way of Iceland and Norway and link up to EU JHA in a very constructive way. But that's that certainly cannot be taken for granted. Just moving on to cyber, the second threat then. Well, if you look at in terms of contagion in terms of attacks, Ireland has suffered major cybersecurity attacks in recent years. And indeed, Ciaran Martin, a Northern Irishman who is also the head of the UK National Cyber Security Centre, has said that, you know, a category one attack on the UK is highly probable in the next few years. And the risk of contagion then to Ireland is clearly evident. We're very linked up with the UK. It's very difficult to detach yourself in cyberspace. And we've already seen with ESB as well attacks on ESB how potentially damaging that can be. So what can we do about this? Well, at the Nordic Council cyber initiatives and wider NBA cyber cooperation is quite instructive. It's quite very useful. I would urge the government, it's also in Ireland to look at cybersecurity university partnerships with Nordic states that already do wonderful work in cybersecurity. In Ireland, we have some of the best minds in the world when it comes to cybersecurity, we need to tap into that as a state to an unprecedented degree if we are to sort of, I would say deter, detect and even look at collectively trying to punish those who would violate our cybersecurity. Our global importance as a centre of industry really depends on that. And I would also say that in terms of, you know, there's a lot of good things being done in terms of the Ireland's National Cyber Security Centre, the National Security Analysis Centre in the Department of the Tisha. This is a government that's taking these issues seriously. But the resources are still not quite there. And so as we build up our infrastructure, we need to, we can look at other European states who've also gone through this experience, not least in terms of looking at NATO-led initiatives and EU-led initiatives in Estonia, for example. And I would say that the EU and NATO can only go so far. Obviously, there are some things within the EU and NATO that are very, very sensitive and that will not be shared by the UK, France or others. And we need to understand ourselves as well that even with our closest allies, we also need to be able to, you know, some things do need to remain secure even from our dearest friends, right? That there are interests that are different even sometimes from our closest allies. And so having our own capacity, like, you know, in fact, this is an argument very much made in Norway as well, for example. That's really important, too. We shouldn't underestimate the need to do that. So we move from airspace to cyberspace. The two need to be protected and how we do that. And if you look at what the MBAs we're looking at in terms of Icelandic airspace, for example, but also cyberspace, really working in small countries in Europe to try and maximize lessons, opportunities, and even working collectively. I mean, the northern group of defence ministers that is operated by the Northern Council and often includes MBAs as well, is an interesting dimension of this. The UK has joined the northern group of defence ministers. I think we need as many sort of post-Brexit, we need to be in the room with the UK as much as possible in various regional organisations, not least to protect our very valuable common travel area. And so I think moving to engage the Northern Council and wider MBAs and initiatives on that is a very worthy and highly recommendable thing to do. So I better stop now. But just to sum up and say that we have huge mental capacity here in terms of our digital economy. Clearly Ireland is the centre of the world. If you look at the Silicon Valley, if you look at the people who are working leading on cyber security, many of them are Irish nationals. We have a lot to offer in terms of our universities and the state is building up its institutions to deal with cyber security. So on all these areas, counter radicalisation, in terms of cyber and even the old traditional stuff, such as looking at the increase in foreign, major increase in foreign intelligence activity in this state, we need to work very closely with our Nordic partners who have experienced a lot of experience in dealing with all these things, including the traditional espionage activities and trying to move to sort of to basically make sure that smaller states such as Ireland, that in the 21st digital century, that we are very much able to exert our own interests, protect our own sovereignty and work closely and add, which I think we can, immense value to our European partners. Thank you very much.


Good afternoon, everybody. I'm Tommy O'Brien, coming to you live from TfNN Headquarters in St. Petersburg, Florida, 2 p.m. Eastern Time on Monday, and quite a market to start off the trading week as we have big time negative action. Dow Jones off 770 points right now, 2.9% in the negative. You have the S&Ps negative by 85 points. That's 2.93% in the negative. NASDAQ leading the way off a staggering 284 points or 3.55% in the NASDAQ trading at 77.20. Start things off. Take a look at the VIX as we have. The VIX, as you would expect, quite a rise today and continuing that run that we had Thursday, Friday, 23.35. The VIX reaches for a high, currently trading 22.71. Start things off. Let's jump over to the futures markets. We'll start it off with the Dow, and we are at session lows as we speak, 25,664 in the Dow. You backed this up to last night at 9 o'clock. You were trading at about 26,457. Pretty remarkable, almost 800 points below that level. NASDAQ 100, 7409 is the price right now. Session lows as we speak. Last night we were floating at around 7,700. So you're talking about almost 300 NASDAQ 100 points from that price level. S&Ps at 2843. We were up there at 2933. That's 90 S&P points right on the dot from where we were last night at 9 p.m. Eastern time. Gold contract, trading higher from most of the overnight session. A little bit of volatility this morning, but gold near highs at 1477. Crude oil, also some volatility. Crude trading at 54.84. And we've seen dollar weakness. Euro strength today. Euro trading at 1,1203. In terms of what else you have happening in the market, 10-year treasury. Quite a number on that 10-year. Remarkable that you go back to October at 3.2%. You go back last week and we were just trading at 2%. And now today, currently, you have the 10-year trading with a yield of 1.733% right now. In terms of what else? Jumping around to some of the bigger movers or shakers today. Technology stocks getting hit hard. Chip stocks getting hit hard as well. Apple down almost 5% right now trading at 197. NVIDIA down 6.7% today. Right now, you have AMD off 4.9% and even retail with tariffs coming down the line. Coals off 3.35. And the market continuing the slide as we are at lows with two hours left to go in the trading day. Stay tuned, folks. Steve Rhodes coming up right now with the trader's edge. And then, of course, we're going to have a treat. Larry Pezzavento filling in for Tom O'Brien live from 3-5. Should be an interesting finish to the day. Stay tuned, folks.