So, you can open your browser and go to better or connect the interpreter to you. So, you can use the dashboard with me. So, I'm really lovely. And in the first page, you can see all the communities that we are already serving in the dashboard. So, starting from environments and economics, well, SDSM weeks, we have Instruct and AGI, the Research Data Alliance, we have many. So, not only from the Open Air Connect projects, but other external research initiatives and communities that would like to try out and help us in building the service. So, since I'm a super user, I can play the role of a community manager. What does a community manager can do? They can configure the dashboard. So, this slide, which are the criteria by which Open Air will assign research products to the community dashboard and also to configure the look and see of the dashboard itself. So, which pages should be available. So, the first thing is, of course, the basic information about the communities. So, you can configure your logo and you can decide if the dashboard is visible to all, so it's public, or if it's visible on its managers, which is useful in the first phase when you're still configuring the dashboard. And the most important section related to the content is the managed community content. So, here you can select the projects, the content providers and the subjects that will be used to assign the products for this community. So, here you have the list of projects, for example, that have been selected for the digital humanities and cultural heritage community. So, these are projects that are in Open Air and it is possible, of course, to delete, to change your mind, or add new ones. So, you need first to select the founders and this is the list of founders that are currently supported by Open Air, but this list is not static, we are going to increase the number of founders in this list in a continuous way. I can select the Indian Commission, for example, I know that the climbing project is a project that is relevant for the digital humanities communities, so I can search for it and I can add it to my dashboard. So, next time that Open Air will process the content in its application and find the links to applications or a dataset to this project, to Client Plus, the product will also be assigned to the dashboard and to the community. The same happens for the content providers. As you may know, Open Air aggregates methods of output from a lot of content providers. In here, you have a way to select which ones are for your communities. So, for example, if I search for heritage, I can find this data source, studies on the value of cultural heritage. Okay, so I can find this journal, for example, with services, science and digital heritage, which I think is relevant for the community, and I can add it. So, now, everything that is collected from this provider is also relevant to me. And similar things can be done with subjects. So, in this case, our managers just selected one subject, but we cannot as many as you want. And you can take it as three terms, three keywords, or from control vocabularies. As I said, you can't configure the config, so which pages are available in the dashboard, and this can be done in this section, manage entities and pages. So, to show this, let's enter in the dashboard as a normal user. So, you can see in this home page, you can have an overview of what is assigned for your community, so the number of applications, data, software, other kinds of research products, the number of projects, and content providers. And you also have an initial list of applications in the first page. So, let's suppose that the manager don't want to show the other research product box. So, you can go here to activate it. You can just activate it, disable it. And now, magic, now it's not magic. But the box disappears. So, it can be enabled at any time. So, functionality that is available for registered users, which are not managers, but registered user, is that of linking. So, add products to the dashboard, which are not yet available, or are links between existing products. So, for example, I want to assign, I want to search for objects to the other three dashboards. So, I select my community. But if you want, you cannot select other. So, for example, I cannot select the Claring Research Initiative. And then I can search for research results. And this research is performed in OpenAir, in PostRef, in Datasite, in Market. And you can also search in all of these spaces. Alternatively, you can also upload a CSP with a list of DOI. And in this way, you can do what we call Wood claim. So, you have a number list of DOI, and automatically, then you'll be assigned to the community. Then, we have the monitoring section. So, in the monitoring section, you can see statistics about the products in the dashboard. So, the number of publications, you can access status of those publications, which are links to projects, and this kind of information. So, we have it for publications, data, and software. And the manager can decide what to see and what not to see. So, if I go to the Administration dashboard, I can decide in this section manage statistics and chart. If I want to show statistics in the public dashboard or not. So, for example, if I want to show this graph in the main page of the dashboard, I just need to take here so that when I go back to the home page of my communities, I can find statistics here. If the manager doesn't like it, I just can't bring it like this. So, this is a powerful... Well, it's simple but powerful at the same time to want the freedom of the manager to show the view of his community.


Y violon wedi gwybod i ysgolwyddiad y byddai yma, i'w fーポlwch i'w mewn ffordd o'i gynnwys? Fynol, mae hefyd yn ysgrifennu gorfod lai gennaredd. Mae Llywodraethol yn afddiad, yn gweithio'r lluniau arddangos. Mae gennych y mynd i gyflwyno. Mae'n gwneud i gion i ti ac yn ganchain â'iард ac mae'r gweld i'ch gweld i'w ffordd ac i'r wael yn cycksåu arna. Yna rydym wedi ei gweithio'i ffordd y gwrdd. A gweld o bobl y gallu cyffredd. The decision it is, isn't it. And then you know, it's a big learning curve for some of the younger players, because that's what it's like to play for everyone at the football club. You know a lot of expectation that regard is no cares about injuries and stretch squads and all that. I say it because I mean it, it's true. But no, I really care. So that's a big part of their development. It can't always be rosy, it's tough, and they're young, and they're learning. Second off we put more experienced players on a mae'n cael ei wneud fel y bywyd yn i'r cyffredinol, byddai'r cyffredinol, a'i gael, yw'r cyffredinol yn eu gofyn. Mae'n rwy'n gŵr, ydych chi'n gweld i'r cyffredinol yma, a mae'n gweithio gan. A mae'n gweithio'n gweithio. Mae'n gweithio'n gweithio'n gweithio, mae'r cyffredinol yn geithredu'r cyffredinol. Ac mae'n gweithio'n gweithio'n gweithio, Wrth gwrs, yn dryf yn ddigon, dwi'n arddangos i'r plau oherwydd a rai i'w rai o'r clywed oherwydd yn ddigon, ac a'r ymwneud eich clywed yn gweld rhywbodaeth peirio. Mae'r rhwng gennym hi'n gwneud hynny, ond eich Ymwneud wedi bod'i ei ddau i'r plau bod eich rai oherwydd. Llyfr Si'n da i'w'r rhwng ac yma'r rhwng yn ulygu'r gyffredinol wneud yn rhaid o'r lwyth. Yn rhaid, gallwn i'w rhiwp hi'n rhaid oherwydd i ddiweddol iawn. ac mae'r gwaith yn ydych chi'n contractiaid. Mae'n ddaro'n ddiweddol. Felly os gael bod nhw'n hynny ymgyrchol. Felly roeddwn i mewn gwirioneddau hyn. Fe yw'r ffordd oedd ei wneud a'u gweithio'n synod? dolweddol. Fe yw'r roedd yn dreidio ar y gwaith o gwirioneddau felly Rhaglenol a'r Rhaglenol. Efallai o'r wychchain â'r gwaith? Mae'n rhai beth o ran y gwirionedd. Ond Tom Cameron yn ei ddweud gan y cydnod? ac ydych chi'n meddwl sydd wedi cael ei myfodol, demandrach sydd wedi swy certainly o'i'r ffordd. Dwi'n clywed i'n gwybod, Tom awn i'n gwybod i'n gwybod i'n gweithio eu phlas. Diolch yn dod i'n oed i chi'n gobeithio. Yn i ddim yn fath hwnnw, ong ddod am fwy o'r diolch yn holleg i chi'n mynd i ni. Yn i'n holleg i chi'n gweithio pob bobl, Crefwyr yn fwy o'r prifoedd i chi? No, it was the absence just as we're monitoring what's going on. A night's a movie, James. Are you still being answered? Yeah, another one. It's noise at the moment. I'll find out more tomorrow when I speak or on the way back when I speak to Kev. What do you invent for our convention to have with one of your colleagues? Is that something you noticed? I presume he didn't mention the three I had off-sided. He won't mind me saying I got on well with him, so. No, I haven't actually seen that to be fair, so maybe it was. It's just one of those nice polar results more important. It's not more important to me. Well, it's important, but I've still got to see a side that can play, that can control things with all due respect in this sort of game against Doncaster Rose. I've still got to see that, second half I did. First half we weren't a million miles away. We never had the detail. I mean, only when he goes through if he scores, I think that changes the feel of it all. Offside goal changed the feel in their favour, of course. And like I say, we changed it at halftime and reminded the players that there's 50 minutes nowadays. Who knows how long it's going to get played. I think it was 51 or whatever it was, second half. I said, glad you got 51 minutes to find that calmness, that Premier League assuredness that we know is there. And I thought, as the second half went on, I thought we did. I was going to say, it could turn around now. A lot of transfers to all of them. Could have done with that, being 12.30 or something like that. Well, that's the way the fixtures are put at you. You know, we have got a stretched squad, we know that. We are working in the market the best we can, as diligently as we can. It's not been an easy market for us because we haven't got pots of gold. I've become quite obvious. We're still seeing if we can affect things. We'll have to wait and see on that, but the fixtures are the fixtures. We get on with it, they're put there for, you know, that's it. Done deal, so we will be playing at 12.30 on Saturday. Sean, are we pleased with the character you're such a lot, please? There's been a lot of negativity at the start of season 3. Well, I think to be fair, they used to negativity. I haven't experienced too much else since I've been at Everton Football Club because it's been there for a couple of years now. So I think it's more about changing the story. I've mentioned it recently. We should have already, I feel, with the performances. Two out of three performances, I must say. Because I think they've been very good. The difference was tonight. We found the moments and made sure we took care of business and I was pleased with that second half. You know, part of their growth, I think, as a group, and I said to them from last season, they've played in some unbelievably pressurised situations last season and the season before, some of them. I said, look, that has to help you grow. You know, that has to be part of what you've got in your locker to play when you are under pressure because every game in the Premier League is a pressurised game, some bigger than others, obviously, and we felt that last season. So tonight was more about reminding them of that, half-time particularly, and after the game. You know, saying, look, you keep growing from these forms. It's more about the young lads, to be fair.  That's what it's like. Can you handle that? Can you, as you grow and mature as a footballer, can you handle when the heat's on? Most people in football, most people in life, actually can handle the good times. What about when it's not so good? I think that's a big thing for the players to learn, for everyone, because that's part of what the story has been for a couple of seasons there, and it's our job to change it. Sean, do you angry at yourself that you remain angry? No, I don't really do angry as much as people think, despite my voice and my appearance. Very rarely solves anything. You know, and again I do. Just questioned, you know, some of the whys it were for us, realigned them and said, lads, we've got time to go out there and correct things, and I thought we did. Well, you may have better off the pitch so far than the pitch 25. Well, I haven't had dinner with him, to be fair. I haven't popped round his house, so I don't really know that much about him as a person, but that'll come over time. But he's really pleased to be here. He knows a lot about having a football club, because he's a fan when he was a kid. And I sat with him and just had a quick chat with him, and said, look, first things first, come and enjoy everything. I don't have a pressurised players when they first come to the club. Give me a chance to breathe, give me a chance to settle, give me a chance to just feel what it is. And tonight I said, go and enjoy it. And then, of course, we'll add in layers of coaching and what we can do and things we've noticed and all that sort of stuff. And he'll naturally learn about the group as well. But he's got a real nice edge to him, I would say, about his past, where he's come from, and now he's getting there, and now he's going, right, I'm ready to take it on. I thought he certainly showed the desire to take it on second of tonight. OK, guys. It's OK. Thanks, everyone.


Okay, so as you might tell from the opening slide, this is a repeat of a talk I gave at PyCon Canada a few weeks ago in Toronto, except this is the fast version. So the origin of this, why I am standing in front of a room full of Python people talking about Go, which is a completely separate unrelated programming language, is because about a year ago I had this crazy project I wanted to implement, a new build tool which needed to be reasonably fast and more importantly I didn't want it to be tied to any particular high level language, even one that I like as much as Python, because I have this crazy idea that we shouldn't have one build tool per language, we should have one build tool. So I was shopping around for, and I mean I know C, like a lot of people who are over the age of 35, and C is a really painful language for writing anything large. So shopping around, you know, I knew that there had been a lot of interesting work in statically compiled languages over the last couple of years. I knew about D, I knew about Go, I knew about, I just learned about Rust while I was in the process of this, and I checked them all out. So I really liked D and I really liked Go, and a year ago I really didn't like Rust, and at the end of 20 minutes I hope to explain to you why I used Go for this project. So in a nutshell, Go is a statically typed language, like Java or C++ or Haskell, but with type inference.  It is object-oriented, but not as we know it, Jim. It's garbage collected, thank goodness. It is concurrent. Instead of threads and mutexes, there's a much better abstraction for concurrency in Go and it works very nicely. Go is aggressively minimalist. If you've started using Python like before 2.2, you might think you know what a minimalist programming language is like, but you don't know minimalist until you've used Go. They really take it seriously. It is brought to you by the brain trust behind C and Unix. These guys know what they're doing. I'm talking about Ken Thompson, Rob Pike, and well, those are the main two and some other people at Google. And Go is an excellent alternative to C. Before I dive into the real content here, some links, you'll notice those bottom three, this is like HTML presentation, so you'd have to click on them. You can get those slides from the URL on my website, which is down at the bottom on every slide, so you can follow along home quite easily. Here's an example. Here's a very quick introduction to the type system in Go. Variables are declared, and one way of doing it is declaring that A is an integer and B is an N32. That's explicit typing or explicit declaration with typing. Or you can do it implicitly with using type inference, and that's how I've declared C here, that colon equals is an alternate assignment operator that says, hey, compiler, you figure out the type of C for me based on the other side of the expression. The assignment, the attempt to define D is an example of just how strict Go is. Even on a 32-bit machine, Int and Int32 are different types. There's no automatic coercion, and that's a lesson learned from many painful experiences with C, which has very complicated rules for promoting numeric types that nobody except Ken Thompson really understands.  Go explicitly discards the heritage of C, and the same thing happened in Python 3, where the automatic type coercion of string types is gone. In Python 2, a rich source of bugs is automatic implicit accidental unexpected coercion from byte strings to unit code strings. In Python 3, that's no longer allowed, and it must be done explicitly because we learned from our mistakes.  Oh, wow, there's a built-in string type, big, big advantage over C, not really surprising if you've used any programming language other than C in the last 30 years. There's a bunch of other built-in types, which are more interesting, like arrays and slices. Slices are... Implementation is somewhat different from Python lists. The interface is quite different, but it's the same basic idea. What you'd use a list for in Python, you would use a slice for in Go. There's maps built in, just like Python dictionaries. Structs are just like C structs, essentially, so the closest thing in Python would be a named tuple. There's pointers, nice, fun. Function types, done right. Functions are first-class objects, and a function that takes an int is not the same as a function that takes a float, it just works. Closures are excellent, everything just works out of the box. And then the interesting novel stuff are interfaces, which are kind of like Java interfaces and kind of like ABCs in Python, abstract-based classes. They're like Java in that they're static enforced by the compiler. They're like Python in that you just implement an interface, you don't have to tell anybody that you've implemented it. And then the really cool one is channels, which is half of the concurrency story in Go. So one of the interesting things about Go is that it's object-oriented, but not as you know it. So the three key ideas behind Go's approach to object orientation is, one, you can attach methods to any user-defined type. Two, composition. Every object-oriented language you know today probably is based on reuse through inheritance. There is no inheritance in Go. Instead, composition or delegation is a first-class citizen in the language, and you get syntactic shortcuts for composing objects rather than inheriting classes. Three, interfaces, the big one. So here's an example of methods. I have defined a user type. This is probably something anybody, lots of programmers have done. It's got a UID and a first name and last name. By the way, anybody who writes code like this to, whoops, whoa, what just happened, to model actual real-life human names, every time you do that, shape-shifting reptilians eat a kitten. That's not enough to generate, to represent human names, but I'm simplifying. So my user type has a method full name. Ta-da, not very interesting. But what is kind of interesting is the syntax. I don't know any other languages that work like this. Instead of having self or being self like in Python or implicit and automatic like in C++ and Java, you explicitly declare that this method is a method, or this function is a method of the user type, and this is the receiver object. The convention, instead of calling itself, is to just say you or user. But that's a convention just like self is in Python. But I think the rest of this is fairly obvious, right? It doesn't take any arguments, it returns a string. Now here's something more interesting. This is something that static typing people just love, the idea that you can define a UID type to prevent you doing the horrible accident of multiplying a UID by a GID or a file size. I think those of us who have embraced dynamic typing just say, whatever, don't do that. But there's a lot of programmers who really salivated the idea of having a compiler enforce this. And what's cool about Go is there's basically no cost to it. You define a type UID as Uint32 and it is a 32-bit unsigned integer. End of story, it takes 32 bits, that's it, that's all. Any operations you do on that UID are machine code 32-bit unsigned integer operations. They're fast. What's really cool is that you can add a method on that. If I told you, as a Python programmer, to define a UID class to contain a single integer so that we can have a next method, you'd laugh me out of the room for the grotesque inefficiency of that. In Go, there's no penalty. It's 32 bits. So more interesting is composition. So here's the hard way, the traditional way of doing composition that you may have done in Python or Java or C++. So I've got a user type which has a UID and it also has some privileges. And I put privilege set in a different type, just, you know, it seemed like a good idea at the time. So, but I want the methods of privilege set to be visible to user, right? I just want to, if I've got a user object, I should be able to call hasPrivilege setPrivilege without knowing about this implementation detail. I want it to be part of the interface. So the way I do it is I reimplement hasPrivilege as a delegate, a wrapper around privilege. And the same thing here. Boring. What's cool about Go is you can get that behavior for free by embedding a privilege set in your user type. So the only difference between the declarations of the two type, here, the privilege set in user two is explicitly named. Here it doesn't have a name. It's anonymous. And poof like magic, that's called embedding. That's a language feature that takes the methods of this guy and makes them methods of this guy. So it's a lot like inheritance, but it's not. I mean, it fills the same niche in the language that inheritance fills in Python or Java, but it's not inheritance. And then finally, interfaces. So, so far this probably, if you're familiar with Java, this looks like a Java interface. The particular spelling is different, but it's a type that has some methods in it. And the methods have arguments and types and return types. So, okay, how is this different from Java? Oh, I guess I don't have another slide on that. The way that it's different from Java is that you don't ever declare I implement privilege set.  And that's the same idea as abstract based classes in recent versions of Python. Which is pretty cool. So the control flow in go, not too many surprises, but it's a good example of the aggressive minimalism. There's no while. So there's if, and there's for, and there's switch, much like C. There's no while loop. And there's no do while loop because you don't need them. You can do it all with a for loop. So why mess up the language with unnecessary features? Functions are just done exactly right. They're real closures, everything works beautifully. First interesting or another interesting example of both aggressive minimalism. And something you wouldn't expect in a modern language is no exceptions in go. Which is a real surprise because every language in the last 20 years has had exceptions. And the workaround in go is you have multiple return values. You need to return your regular thing and you also return an error object. The other thing that exceptions are nice for is try finally. Well, there's a nice little mechanism for that called defer. And the way defer works, you just do file equals and you open a file. And then the next line of code is defer file.close. And it doesn't happen right there. It's deferred until the appropriate point, which works very nicely. And there's also a panic mechanism for genuinely exceptional conditions. If you run out of memory or a dereference and Neil Pointer, you get a panic. You don't panic on failure to open a file because that is not an exceptional condition.  It just happens. It's not exceptional. That's the go attitude. I like exceptions personally, but hey. So here's an example of error handling in go. It's a classic example. You're writing a million bytes to a file and halfway through the disk fills up. What do you do? You've got partial success and partial failure. Well, the answer is you return the number of bytes read 506,000 or whatever, and you also return an error object. So the good news is that go accurately represents what really happened writing this file to disk. The bad news is you got a lot of tricky cases to handle here. So I think the rationale for why go does error handling this way, I mean the case against exceptions, number one, exceptions mess with control flow. If you're reading through the code, you're looking at line I and then line I plus one in a language with exceptions, you don't know that line I plus one will follow the execution of I plus one will follow the execution of line I. There might be an exception in go. That's not the case. It will happen. And then the other really good reason is how do exceptions mix with go routines and channels is an open question. This is easily goes most controversial design decision. I don't like it. I like exceptions myself. But I understand where they're coming from. So concurrency. This is just about the simplest example of concurrency I could come up with. It's all based around channels and go routines. And if you think go routine sounds like co routine, that might not be a coincidence. So here's the idea. Responder. So the idea, what I'm doing here is I'm going to have two go routines. They're a lot like threads or processes, but they're not exactly. That's why they have a different name. And one of them, the one in the main go routine is just going to send ping, ping, ping, ping, ping to the background guy and the one in the background is going to send ping, ping, ping, ping back. Not very interesting. But the way it works is so there's another go routine was just an ordinary function called responder takes a channel and the two go routines communicate over this channel. So there's a dedicated operator, this little arrow, which means send some data over the channel. And it also means read some data over the channel, read some data. So this is it. So this is a channel. And this is a value coming off that channel, which I assigned to a local variable so I can print it. So the background go routine is just an infinite, they're both infinite loops, right? Remember, I said there's no while, there's no while true or while one, it's just for that means infinite loop. So the background go routine just takes a data off of the channel, prints it. And if it's the expected value ping, send back pong, otherwise send back pong. So that's concurrency and go in a nutshell. So when I say go is aggressively minimalist, I've given a couple examples already. Here's another one. Of course, go has a testing package in the standard library.  But what's interesting about that unit testing package is it doesn't include any assert methods. You go look at Pi unit in 2.7. And there are dozens of assert methods because you might want to assert that these two values are equal or they're almost equal or they're equal except for order that this really raises an exception, blah, blah, blah, blah, blah, blah. It's even worse in J unit because there's integers equal strings equal arrays equal blah, blah, blah, blah, blah, blah, blah. They just said, why should we do that? Go has perfectly good methods for comparing objects. Use them. And there's a perfectly good if statement. And if these two objects aren't equal or whatever your test is, you are perfectly capable of calling the fail function yourself.  The other rationale they give is that you should spend the time to write good failure messages, rather than using the testing library as a crutch. And you should structure your tests differently. Instead of having a long sequence of very repetitive similar assert this, assert this, assert this, assert this, assert this, you should loop over a list of expected and input values and expected values. They call it table based testing, which is a useful technique. Personally, I prefer unit testing in Python than in Go, just because it's less typing. But it's a good example of their aggressively minimalist stance. Why have this fluff in the language? Why have this fluff in the library if you don't really need it? So my personal experience, I've after doing, I don't know, five or six months, about 10,000 lines of code in Go, it is definitely not as fun, easy and productive as Python. For I think some of the reasons I've explained, and there are various other reasons that just get in your way. Things that get in your way. For performance, Go blows Python out of the water. There's no question. It's directly compiled the machine code when you add two integers, that's all you're doing. You're adding two integers. Go is much nicer than C. And I'm speaking as somebody who likes C. If you'd asked me a year ago, I would be no question about it that C was my second favorite programming language. I do not like C++ or Java. And I'm not surprised that Go is a lot nicer than them. After putting in my time with Go, I honestly can't decide if C or Go is now my second favorite language. Or D is pretty cool too. I played around enough with that to get a good impression. Anyway, oh yeah, yeah. So big win. Concurrency built in. It's a massive win over pretty much any, I mean, Java is the only other mainstream language that has built in concurrency features, and threads and mutexes are a pain in the neck, people. Go routines and channels are much, much nicer. I miss exceptions. That's a big downside of Go. I understand. I accept that it's difficult to get exceptions and concurrency working. I don't care. I got them working. They're a great language feature. If you're designing a language and you have to choose between tuples and multiple return values, choose tuples. It's a more general solution.  I think Python started the trend 20 years ago and Go is dialing it up to 11. I'm not so keen on the particular style they chose, but hey, that's okay. That's it.


Wait. Why have you been rude like that and you have been rude for too long man? I'm speaking. Please. Please. Don't allow this nonsense to continue because we will not be abused like that. Honorable. Please. Please. Please. Please. Don't allow this to continue because we will not be treated like that. Please. This is not the apartment it belongs to all of us. They stand up here without you and you allow them. Please. Please. Control the house. Please. There must never think that the only ones who can do this nonsense. Please. We can give it to them. Please.


Hello everybody. Thank you for coming here. So my name is Conrad Gavda and I will be giving introduction to quantum computers. Alternative introduction because I believe the quantum computers are explained either for children from kindergarten, which is okay, or for scientists, which is also okay. We need something for us, for programmers. And so my name is Conrad. I live in Warsaw, Poland. On daily basis, I'm a cloud evangelist for Orange, which is a telco company, but also has its public cloud based in Poland. So in fact, if you open its web page, it's in Polish. You'll see my face somewhere there on that page. But besides being cloud evangelist, I'm also a Python developer and a trainer. And I'm also a host of a podcast, but it's also in Polish. So I'll not talk much about that. Let's jump into this vast topic of quantum computers, which have enormous power and quite peculiar limitations. So I try to explain quantum computers to one of my colleagues. And when I've done all the talking, he finally said, okay, so in fact, they're like analog computers. And he was quite right. This is quite reasonable opinion. And let's try digging it just from that point, because analog computer or rather analog calculators, calculation devices were known for centuries. In 19th century, 19th century, Lord Kelvin created differential analyzer. That was a machine that was able to do analog computations. The inputs, for example, were the positions of the wheels. And he used to sum them up just by using a rope. And then later on, he also introduced multiplication. He was able to multiply two analog values. So in this case, the carrier of information, the analog output, is just how much of the rope is sticking out of the machine. That's an analog variable here. When I was preparing for this very session, I'd done a bit of research and I found this guy, Leonardo Torres Quevedo. Have you heard anybody heard of him? No. Well, he was born in this area, studied in Bilbao, and then designed or even invented many wonderful things, also including his own algebraic machines, so analog computers. Do check him out, a wonderful, wonderful person. And he even done some early electronics. But then the electronics got more advanced. And we've got analog computers that were electronic devices. And this one is a photo from Technology Museum in Warsaw. So here, the information would be carried by a voltage on a wire. So you had an electrical wire and the voltage could be zero, some maximum, like five volts, for example, and anything in between. And in fact, I would like to point out that that's a real advantage of those computers that on a single carrier of information, you had any state you would like between the zero and the maximum, I could say infinite number of states, but that wouldn't be really physically correct. So those are analog computers. And we'll come back to them in a minute. In the meantime, people also decided, okay, let's go digital even before electronics. And sooner or later, the idea of bits came out. So as you know, bits could be zero or one. So on the same wire, we just discard any state that is between zero and maximum. And we either pull it down or pull it up. And how do we today play with this information on a very basic level? We use gates, logical gates. And you see the symbols here. So each of those has inputs and output. It senses the voltage that is on each input and it produces voltage zero or those five volts, for example, on its output. And people figure out that you could build quite advanced things out of those gates. So for example, you put in such a schematic and you're able to add two numbers, four bits numbers. Or you can do even more and that's arithmetic logic unit. So it could do several different mathematical operations. You just tell them which ones using those control bits. And I would like to point perhaps two things or at least one. One thing is that this is stateless. This has no memory. Any change on the inputs is reflected on the output. So no memory here. But people also invented that, well, we can create some kind of memory. We just need four gates. We connect them like that. And we have a piece that can remember one bit of information. So that's a basic register. Okay. So we have the arithmetic unit. We have memory. We can build a computer. So now, ladies and gentlemen, in several seconds I explain you how computers today are working. So, okay, maybe not computers but processors. So basically in the processor you've got registers which store the bits that are remembered and some combinational logic like something like this arithmetic unit. And so what goes inside is that the bits of information are kept in the registers just like rabbits in the cages. And from time to time when there is a new instruction to be processed, they're led free to go through the combinational logic, perhaps change the state, and they come back to the registers. So that's more or less how the processor works. I promise I'll explain that in several seconds. I think I've done a great job. So, okay. Thank you. Thank you. We can finish now. Okay. No, that was the things we already know in the classical computing. Now, I've talked about bits. Let's talk about quantum bits, so qubits. But one big warning side here. If we're entering the world of quantum physics, quantum computations, we, as humans, have some kind of intuition.  And it works well on lower sizes like I take a grain of sand, and my intuition works well. It works well for bacteria and things we see under the microscope. But once we get smaller into size of individual items and so on, some effects starts to be visible that are completely contrary to our intuition. So if you dig into that field, sooner or later you'll get to things that are completely not intuitive, and there is no, there may be some metaphors, but none of them will be 100% correct. You just need to take it for granted that it works that way. Okay. So if one bit stores zero or one, one quantum bit, stores an information about probability of measuring zero or one. Of course, my introduction is alternative. So I neglect some of very important things that you get from other introductions, but I think I'll show the point better for, that is better digested by programmers. So if you have a qubit, it's like with analog computers, but you have zero chances for measuring one, so 100% chances for measuring zero, and 100% chances for measuring one. And you could be anywhere in between those states. So this is the story about the Schrodinger's cat that he could be into dead or alive at the same time. By the way, Schrodinger came with this main metaphor to show how crazy is the idea of superposition, which is the physical phenomena, but that stands behind that. So scientists like to show the state of a single qubit using such a graph. So you have zero in the fancy brackets on top, one with fancy brackets in the bottom, and you use a dot or a point to show what's the current state of this qubit. So if the dot is here, that's zero. So you're sure to measure zero out of that. If it's here, it's one. You're sure to measure one. And it could be somewhere in between. So how to read that one? It's quite close to zero, so there are quite high chances for measuring zero and quite low chances for measuring one. So you could imagine a slider, so that this qubit inside is a slider that holds some analog value. Or a different way of showing probabilities is this bar chart, chances for zero, chances for one. These are not quite probabilities, but they're something similar. I'll come back to this in a moment. There is also another dimension, for some reason it's a sphere, not a slider, because those values can be complex numbers, but for my speech today, we'll just put that away. We don't need that.  Okay. So if we have four registers, A, B, C, and D, it's like having four sliders between zero and one. So okay, we've got quantum computer, which is in fact analog computer. People done that in 19th century. And moreover, those qubits store, let's say, this analog information, and you can manipulate that. You can do operations on that. But at the end, if you would like to have a readout, you need to do a measurement. And this comes to reading zero or one. So this is why I'm talking about probabilities and so on, because they store some analog value. But in the end, if you'd like to have a readout, you do the measurement, you only get a single bit out of qubit. So it's quite a bottleneck. You have a vast analog area, but then quite a narrow escape when you only read zeros and ones. So that's not, doesn't look that good. But here is the fun part. Let's imagine we have those four registers. And the question is what are the chances, what is the probability of measuring some value, like 004. So A, B, and C are zeros, D is one. So typically, we would think about it like it's a probability of measuring that, that, that, and you just multiply them, like they're independent events. And you could write down all the table of which probability is for measuring what state. Like here is measuring 0011 on the consecutive outputs. Well, so that's not the case. In quantum, in quantum computers, by using the physical phenomena called entanglement, you end up with possibility of having different probability, different chances for each of the measured state. So here is the place when it's not that intuitive. Let me just tell you that if you have four quantum registers, so four qubits, you end up with 16 analog variables that you can play with. And now, now could, it could be a wow moment. If you realize that, okay, with four qubits, you've got 16 variables. With 10, you get 1000 and so on. With 266, you get an amount of analog variables that is roughly the number of atoms in the known universe. So that escalates quickly. Okay, so that's great power. But with a great power comes not only great responsibility, but in this case also great limitations. One of them is this bottle neck, so you can only measure one bit per qubit. So if you have this number of atoms in the universe for each of them, analog variable, then you only, and you can do computations on that, but that's what you can read out of that is only 266 bits. The other one is quite obvious. If those variables are probabilities, the probabilities need to sum up to one. Well, that's obvious. The other painful thing is that you have quite a non-obvious set of operations that you can do. They're quite limited and quite peculiar. For sure, there need to be reversible operations. What does it mean? If you have register A, you could not just say set register A to one or copy a value of register B into A, because you lose information what was in A. You cannot just reproduce it. Instead, what's possible is for programmers writing something like XOR equals B, or just swapping values of A and B. That's one of the cases when you have a great power, but also great limitations. I would like to summarize the things that I already conveyed to you. We have some kind of machine, a quantum computer. It exposes to us the programmers qubits, quantum registers. Out of that, we know that we can measure different states out of that, and each state has its own probability. We know that they don't need to be independent events. In fact, we could draw any shape here as long as the probability sum up to one. This is what I already have told. Now, the engineer scientists figured out that probabilities are not the most convenient way to work with those qubits. There is something in between this free space that is more convenient. This is probability amplitudes. They're also called state vectors that will appear later on in the slides. What's the relation between those probability amplitudes and probabilities itself? As simple as that, you take absolute value of amplitude, square it, and you get the probability. You could say amplitudes are something like square roots of the probabilities. There are also complex numbers. We're not touching upon that, but because of this squaring in absolute value, well, one thing appears, they could be also negative, and we will use that. They can have minus values. This is a great advantage. This advantage is that they do not sum up to one. They squares sum up to one, so it's not that easy to keep track which what should be the sum, but you'll see that later on. We know how to store the information, what is the information, now how to play with that. Let me tell you a story. Long time ago, there was a group of great pioneers that were inventing quantum computers, and they thought for classical information, we've got bits and gates. Here we will have quantum bits, so we will use for them quantum gates. Perhaps that was not the best idea for naming, but it caught on, and people are using that. If you're talking about something that's going to run on a quantum computer, most probably you will see a circuit made out of quantum gates, so those squares are those funny figures like that, are quantum gates. It works like that that on the left we have inputs, on the right we have outputs, and each of those lines is one qubit, like one register, so they'll always be straight on that schematic. It's quite like musical stuff for nodes, but instead of writing nodes, you write gates here. Why do I say that's perhaps not the most accurate naming? Well, in fact, in most implementations, the qubit stands in place. It's some physical thing that is always in the same place, and we only apply some operations to that, so that's not the thing you do with gates. You put information through gates, and here it's like throwing the gates at the rabbit of information. I mean, I hope the rabbit likes those gates. Okay, so this is my point about gates. In fact, it doesn't work like gates. In fact, this is like applying some operations, a bit like running instructions on a processor. Okay, and what are those gates? There are some examples of the most commonly used gates, scientists love to use on matrices. So everywhere there will be matrices, and if you decide to go deeper into that, you will go into them. For my speech, I'll skip them, and let's go through some examples. And that might be a bit quicker. My goal here is not to explain every simple gate just to give you a feeling of what's the kind of play here. So x gate is something like not operation. If you get qubit set totally for zero, you would set it for one. If it's one, it's zero. If you get 10 chances for one, you get 90% chances for one. So using a slider, it would be something like mirroring it. But sliders, they're good for probability, quite poor for showing amplitudes. For probability amplitudes, let's stick with this bar chart. So you just swap the probabilities of zero and one. If you have a set of multiple qubits, in this case, there were both zero. We applied not x gate. This one is still zero. This one is set to one, as simple as that. And here is the question of naming. How do we name this state? Because we would like to give it a binary name like one zero or zero one. This is something we will read out of that. So which bar chart is correct for this output? And in different frameworks, they use different notation. In Qiskit, that we'll be using, for example, further on, the latter is correct. So this digit represents the measure, something we measure on the qubit zero. And the next qubits are written on the left side of that. Okay. So that was quite a simple, just that the initial state was quite simple. Let me show something fancy. So this is a, on this schematic, we have a black box that sets amplitudes like that. It have no special sense. They just look good for showing examples, as for me. So let's apply this gate for qubit zero. What do we get as an output? We get amplitudes like that. What happened here? Those bars were swapped and those bars were swapped because the qubit one, so this measurement, if it's zero, it stays zero, if it's one, it stays one. But we swapped the probabilities regarding the other qubit that has the gate applied. If, on the other hand, we applied on qubit one, what happens is we get that. So also the bars are swapped, but different ones because now we're playing with the qubit number one. And what happens if we apply this gate to both of qubits? Well, you could follow the arrows and what you get in the end is something like that. So in fact, applying not to all of the qubits in our set just makes a mirror. So we had this growing shape, now we have this falling shape. So, okay, that was the not gate or the x, probably x gate. Let's go to some more advanced one, Hadamard gate, which scientists love this one. From zero, you get to 50% chances, so equal chances for zero one. For one, you also get to that state. So wait a minute, I said that those operations need to be reversible, how on the earth that's reversible? What do you get out of 50%? Well, here the magic is that you come to zero, if you go to zero, if you came from zero, you go to one, if you came here from one. How that's possible? Well, I mentioned there is some kind of trick and let's see it on those charts, on those ball charts. So if we have 100% set for zero, you will get equal chances. That could be expected. We just get that multiplied by one by square root of two and that one, which is zero, multiplied by one by square root of two. Why this square root? Because normally, with probabilities, you would multiply by half. Here we have amplitudes, they will get squared, so we need to do like square root of half. That's square root of half. And for this amplitude, we get square root of zero and here is the trick, minus square root of the amplitude of one. Here it was zero, no problem. But here, if we take the 100% chances for one, we get that. So this is simple and that one, it gets square root of half times zero and minus square root of half times one. So both states give you 100% chances for either state. And don't believe me, that's reversible. Check it by yourself. So get this state, use the same instructions, that's always the same operation and you'll get zero. Get that, use the same operations and you'll get one. Okay, how it works, we have several qubits. So let's apply this to the qubit zero. So it's quite similar than that I've shown on the not operator.  So here, because the qubit one stays calm, nothing happens. So if qubit one was zero and zero, it stays zero, only the qubit zero would possibly change here. So we apply this arrows with this multiplications on that part and separately on that part. Okay, let's speed up a gate that uses two qubit qubits and in fact, this is the one that could produce entanglement because you could not mix probabilities of two qubits with only one qubit gate. So it is called control not, it has control and target qubits. And it's something like applying the not gate, the x gate, but only if the control qubit would be measured zero. And it's hard to explain on the qubits itself, it's easy to explain using those bar charts and amplitudes because okay, so we have our initial state and we applied that gate, control bit is bit number one, qubit. Control qubit is qubit number one and the target qubit is qubit zero. So what happens is we have like half of the not operator. Here in those states, qubit one is set to zero would be measured zero, speaking correctly. So nothing happens. In those states, qubit one would be measured as one. So this is when the not gate would be applied as simple as that. Okay, so there are many more gates, but you know more or less how the gates know, how the gates work and how we write code for that. There are many frameworks. I guess most of them use Python, not all of them, but most of them. And you use it like that. So you create an object and you apply gates to that one by one. So in fact, it's something that you just write a set of simple operations that will be applied. For me, it just reminds about assembly language. Here is where there's the place when you have registers and you apply very simple operations. So in fact, using, for example, Python is great because you have many helpers, four loops, and so on. You can draw images. But it's quite similar to writing assembly language. And in fact, there is, under the hood, there is a quantum assembly also in Qiskit. And it looks quite similar to the code we write. We got many helpers, but it's quite similar. The other fact I would like to tell you is that every quantum program we write, you could draw a schematic out of that, a quantum circuit. And every quantum circuit could be expressed as a matrix. Every. And the size of matrix doesn't depend on number of gates. It only depends on number of qubits. Or exactly, number of states. Well, that means for three qubits, we have eight by eight matrix. And for 10 qubits, we'd have thousand by thousand matrix. And so on. But mathematicians are great for showing infinite matrices. So that's you'll definitely meet if you're digging into that subject. So one of my key takeaways here is that the code you would write using some frameworks, or the assembly language for quantum computers, or the gates on the circuit, or a matrix can reflect the same code, the same behavior. They're interchangeable. They think that is a bit aside as a graph of amplitudes, because that's only an example of for given inputs. But for me, it's quite useful example. And I would like to see that as a driving wheel and the road that you see. You take quite representative example and play with the gates or with a code or whatever to manipulate this example to get the results that you would like to be measured. Okay. So what are quantum computers today? There are present. There are reality. Most of them are universal gate based quantum processing units. There are other types, but I'll not focus on them. And they're a bit like digital cameras. I mean, the number of pixels or here the number of qubits is really important. But not only that. One of things is the number of the number of possible entangled qubits. So in some quantum processing units, you could entangle everything. In others, you could not so you cannot get the number of the atoms of the universe from 266 qubits. And the other things, like in the cameras, is noise or errors. And there are a lot. There is a large problem with that yet. And people fight with that on the level of algorithms. The simplest way is to run your algorithm several times and you see what are the typical answers that they should be correct. The other one is that some physical devices introduced inside physical qubits, which those have a lot of errors. And they're also logical qubits. There's less of them, but they have less errors and you can do computations on them. And also I've got a question. Why do you build quantum computers? We've got the equations. Can you just simulate them? And the answer is it's like the fake grass on the stadium. To some extent, you can use that, but there is a line when there's not possible. I'll use the image from AWS. It's already three years old. It might have shifted a bit, but only a bit. The shape is correct for sure. So this gray area, this is number of qubits. This is error rate. This gray area is something we can simulate today. So we can simulate tens of qubits, but not hundreds of qubits. And the orange area is the place that we know if we have quantum computers that can do that, that many qubits with that little errors will change the world. There are already algorithms good for that. We're looking for less demanding algorithms and building better quantum computers. Okay. And speaking about building the computers and AWS, so there are several services, cloud services available today that you could use and make use of physical quantum computers. So one of them is in the Amazon's cloud and when you open the bracket service, you'll have the list of them and also their availability. The top three ones are in fact Amazon's simulators. And when I took the screenshot, the other ones were not available because they have shops, they have their opening hours. If you open details of each of them, you'll see it's small, I know here. But there are opening hours of that computer, number of qubits, and also you can open the architecture. So here are 25 qubits and you could entangle all of them. So that's good. That's great. But there's also quantum computer with 79 qubits, much more. But you can entangle only that pairs. That's much more tricky. But for some users, it just may be great. Okay. I promised, I will show how to do that, how to use that service. So basically, you need to have AWS account. You need to have it set up on your computer so that you can use command line and I'll skip that part. I think there are too many tutorials for that. Then you need to enable the service on the website and it's just a matter of clicking several boxes. You can download the slide later on and check what to click. There are five clicks you need to do. And then the fun part, so writing the actual code. So I'll be using Qiskit, so I need to install some Python libraries and that's that pre-recorded demo. I have no courage of showing that live. And then, and you'll get the code in the slides, not the videos, you'll get the code. So I do the imports and I create an object that will represent my circuit. And that will be in a circuit with three qubits. Now I get, I put a Hadamard guide gate, so H on qubit number zero. And then I'll put control not for the pairs of qubits. So qubits number two and three will be, qubits number one or two, will be controlled by qubits number zero. And let's just draw this circuit to know how it looks like. So this is all on my computer so far. I use the plotting library to show the circuit. Let's launch that. And that's how the circuit looks like. Yeah, one Hadamard and two controlled not. Okay. Let's try to simulate the circuit. And for the beginnings, I'll simulate that on my local machine, but using Amazon's library. For the sake of time, I'll scroll a little bit. And I order 1000 of simulations to be run just to have some statistical results. And then let's draw the histogram. So this will show you not the probabilities, not the amplitudes, but how many states were measured, how many measurements came out with that state and how many with that state. So only the measured states are shown, all zeroes and all ones. And you see the numbers, how many times this was measured. Okay. So let's go forward with that. And let's use Amazon's infrastructure so I make sure I'm on a proper region. And instead of local simulator, I'll use a device. For the sake of time, I'll scroll that. So I'm using a backend and which backend to use. So I go to the list of devices and I copy the name of the simulator. So this is SV1. I insert that. Okay, let's use that. And in the end, I've got quite similar bars there. Now I've changed that name to fast with clicking. Okay, so, okay, we've got, I've closed the results for the simulator. And I copied the name of the real actual hardware that is a quantum computer. I paste that and run the same with less computations. And I'll skip forward. You know what happens at timeout happens. Because you need to wait several hours, for example, on that computer. But I'll print the name of the job and later on in the next video. In the next video, I can check that all after several hours. It was completed. So I just tell my circuit to retrieve the measurements and use that idea, the idea that I copied before, run the program. And that was, that's the real output. And what's interesting, you could see that there are errors. That there are errors in there. And there are states that should not happen just because of errors. But most of the measurements are those two correct states. So one final takeaway I would like to give, because I know we're short of time, is what's the future of quantum computers? Because once they get bigger with qubits and better with errors, they'll be great for breaking encryptions, for optimizing problems, solving equations, perhaps for artificial intelligence. Many people think so, but it's not 100% theoretically proven that they were useful. But we think so. And if you think about those three areas, for me, it is something like graphic cards. I mean, GPUs are perfect for that. And my image for how the future of quantum computers will look like is that there will be something like GPUs. How many of you write code for CUDA or other GPU frameworks directly? Yeah, we've got one person. Great for you. But that's a niche thing. So my guess is that writing code for quantum computers will be a task for few. But the few that will do that will change the world. Thank you very much.


All right, we're live. Good morning, bookmap community. Hope everyone's doing well. Happy Monday to ya. All right, well let's jump right in. We'll take a look at the charts and I'll give you my opinion. Little delay there. Okay, so over the weekend, Finn Twit went absolutely crazy talking about this pullback that we had over the weekend. And I just wanted on Friday at the end of the day and I just wanna take a second to say it might not be as big a deal as you think it is. And the reason I'm gonna say that is this. Let's just expand out the profile here. And we'll just kinda look at how it traded. So we opened, okay, so we opened right down here and the market just kinda spent the first few hours of the day balancing inside the range that it had created from the overnight. Then the market broke that initial balance to the upside and began to trend higher. Well, why did it do that? Because we had the weirdest of weird situations that doesn't happen often, but we had a gap inside a gap. This was actually a gap up from previous that had been unfilled and we opened all the way down here creating another gap inside a gap. Okay, and so that just created a lot of imbalance in the market. There were traders all over the place looking to take trades based on those gaps. And so the highest probability once we began to trend on Friday was that we were gonna go fill that gap, that we were gonna get up to 44.72 to fill that gap. And we did, yay, we made it. But then what happened as soon as we did, the auction literally immediately failed, right? The next TPO continued the trend, the following created a poor high and that that immediately ended. So that kind of tells us that maybe all they wanted to do was fill that gap. Now, something that was very interesting to me about the book map that had caught my eye on the way up was this massive, massive node of volume. Let me just scoot you on back to Friday's range here. There we go. Was this massive node of volume of liquidity that had been sitting up near the high of the day. And so what I said to myself essentially was like, that's funny to me that there's that much liquidity and that it's been sitting there all day and that nothing has happened with it. That's got to be some market maker doing something. So I was really just looking for a change. What happens? Does anything change there? So we worked our way all the way back up to fill the gap. We got cessation of the trend, but nothing changed with this liquidity. I mean, not a single order left the books. It just sat there. That is very, very unusual. Generally, once you start to get changes in the market, all the liquidity just immediately starts to move all over the place, right? Because the bots are reacting. All of those day trading bots are realizing, okay, the momentum has changed, but we'll be, they're recalculating and then they're deciding, okay, now we're gonna do this, now we're gonna do that. Well, that was still sitting there the whole time. Now, I actually stopped trading at that point because it was Friday and I was done for the day. I was happy with my profits and I was ready to walk away. So I wasn't sitting in front of the chart when we had that massive pullback. I didn't experience any of the emotions that came with that. It just, it wasn't something I was there for. So when I opened up the chart this weekend, I go and fin-tweet and I see all these people freaking out about how it's the end of the world because the sell-off means that the world's coming to an end and I look at the chart and I notice one thing that jumps out at me. More than any other. Boop, boop, boop, boop, boop, boop, boop. We literally closed at the exact same level to a tick that the market opened at. So ladies and gentlemen, boys and girls, children of all ages, let me relieve any tension or fear or animosity that you might be coming into the market this morning with because we had a sell-off on Friday. It wasn't real. It wasn't real. We got nothing to worry about guys. It was all just market makers. Obviously somebody had bought a lot of calls or a lot of puts on the zero day and those market makers needed to make sure that the market closed right where it opened so that they would expire worthless for whoever bought those. So they let the market fill the gap because there was so much momentum to do so. But as soon as they did, boop, boop, they brought it right back down. They literally only pushed it a few ticks past that opening price where those market makers would then stop selling and boom, we closed right there. So I'm not panicked about the sell-off that we had yesterday. But what it does tell me is that the market is still in balance. So I just want to zoom out here for a second and take a look at the daily. We can see that the market is in a balance area. Okay, a balance area is basically a range that the market gets stuck in for a period of time and it just has to go sideways in that range as long as it has to before it's ready to break. Look, here's a balance area right here. They had to go sideways until they could break lower. Here's another one here. They had to go sideways until they could break higher. Here is the longest freaking balance ever. This was like the two-month-long balance area that we had to just keep going sideways in until we were ready to break and go somewhere new. So all this is to me is just more balance, right? It's just we weren't ready to keep going and we need to go sideways some more. But that's important context. That gives me two things to think about this morning. Thing number one, we are in the middle of a balance area. Often when a market is in balance, it works its way from one end of balance to the other. So from the middle, the more likely probability is that the market is going to continue lower to that opposite end. However, if the market were to find support here, if back-testing these levels, which we did in the overnight, was enough and the market can turn that momentum around today, well, then that would be bullish to head back up to the opposite end and likely this next one will be the one that gives us that breakout. So I have to be like water, my friends. We all do. I'm sorry, but coming into the market this morning, we must be open to any possibility. The market could go up, it could go down, it could go sideways, it could be highly volatile, it could be super slow and boring. There is literally unlimited options for what the market could do today because it's in the middle of the balance area.  All right, well, thanks, Charles. Appreciate you telling me that there's no way to know what they're gonna do today. Well, how will I know? Please tell me how I will know. Well, first and foremost, I wanted to just zoom on out a little bit and make note of the fact that that liquidity that was sitting there on Friday, all day and never moved, it's still there. So it is now becoming a magnet. Market participants are now becoming aware that there is liquidity just sitting up there above yesterday's high, just waiting for the market to come up and fill those orders. So that's the first thing I wanna be aware of, okay? Knowing that, I'm gonna pay very close attention to this overnight high, which is that, we'll just call it 4440, okay? That area right there is going to be extremely important once the market opens this morning. Can we work our way above there, okay? And if we can, can we find support up there? Can we push up, bring in some new buyers and keep it going? If we can, I will get bullish very, very quickly. Now we do have resistance above, lots of resistance above, okay? It's not like it's gonna be a straight trip up, but if we're able to get above that overnight high at 4440 and find support up there, it means they're trying to take the market higher. It means those buyers are winning. We've got weak references we left behind and we've got that liquidity up at 4480. So those start to become targets, right? However, this node right here in the middle of the overnight, that is the last support the market has, the last decent support to hold up the market. If the market opens this morning, either with a gap down or it just opens and pushes below yesterday's low, it is likely to head down to those 4425 area and look for support there, okay? So they know they got sellers up here in all the resistance levels, they know they got buyers down here. So if the market opens and it starts to push lower, I'm looking to test that 4425 area. How the market reacts to that will be very important. If it can hold the support, it's probably just gonna be a sideways day, right? If we push, say we opened right here, say we opened right here, we kind of push down a little bit, we get down into there, we start chopping, start chopping, boom, that's probably sideways day is what we're setting ourselves up for. But if we push down here and we get below there and that starts to become resistance, in my mind, it becomes much more probable that we now need to test the overnight low. Doing so would take me back to my analysis on the daily and recognizing that if we failed to break out of balance up here, the highest probability is heading down to test the opposite end. So that overnight range is very important to me this morning.  Getting above that overnight high tells me we're probably trying to head back up. Getting below that note I just pointed out and finding resistance tells me that we're trying to go lower and anything else I'm just gonna assume we're gonna chop it up sideways until we get above one of those levels. All right, are there any questions from the chat? Rob, the trader says the AV is good. Well, thank you, brother, appreciate ya. Emanuel says hi, good to see you. And Chillin' with Dylan says sup, dogs? Sup to you, dawg. Pavel in the house, good morning to you. We got 49 people hanging out, but only 12 likes. Come on, people, let's smash that like button. For those of you that are new to the channel or new to my stream on the channel, this is the Bookmap channel. Bookmap is a software. It's the one you see over here on the right. It's basically an order flow software that allows you to see where the liquidity is and where it goes throughout the trading day. Incredibly important tool. And my name is Charles. I run a community called Pirate Traders. Where we're focused on trading the ES and the NQ using the two-way auction process. So essentially, instead of trying to ask ourselves what's happening in the world, what is this politician gonna say? What is that person gonna do? How many cars is this company gonna sell? All we do is look at the information that's in the chart minute by minute, day by day, and we assess what we believe is happening right now based on that information. And we know based on statistical probabilities, what is likely to come next, right? If the market is in balance, it's likely to continue balancing. If it begins to trend, it's likely to continue trending. When it gives us those signs that trend is coming to an end, it's probably gonna start balancing again. And so on and so forth. So that is my approach. I trade the two-way auction process. John O. G'day. Or Kiora. Hey, good to see ya. He says, how is the NQ doing? Let's take a look. Okay, NQ, also very much in balance. Same as the ES. Let's actually just jump out and we'll take a look at it on the daily. Get some perspective first. Wimp, wimp, wimp, wimp. Too many lines, too many lines. Okay, all right. Well, that is clearly a market that is in balance right there. I mean, look at this. One balance area, literally right on top of the other. This reminds me of the S&P a few months ago. These were such frustrating markets to trade. Okay, so as far as the horizontal balance is concerned, exactly the same scenario as the ES, right? You are right in the middle. So the continuation lower is the higher probability, but if the market is able to find support here, the next break might be the one that can actually break out. So I would describe it as being in a very similar situation as the ES this morning. I also just make note of this trend line, which looks extremely messy right here. I must have drawn that off of a different timeframe, but I would actually, oh yeah, I see it. Yeah, okay, that's reliable. So you could potentially be bouncing off that trend, and that could be a reason that the momentum is able to turn around and head back up to test that high. So okay, same story as the ES, let's look for levels. Yeah, I mean, that overnight low on the NQ is gonna be pretty strong, okay? Because this massive note of volume, we were talking about this for the last few weeks, this little node right here, sometimes you get these in the market where the market just gets pinned to sort of an exact level, and it just keeps coming through again and again and again and again and again and building up more and more and more volume. And that just basically becomes a very, very strong magnet. It's just hard for the market to get away from there, but it also will likely become the bounce whenever we're ready to head back up to that previous node. So it looks like two days ago, on Thursday of last week, they perfectly bounced off of that that node and then in the overnight, they tested it, looked below and failed and pulled back up. So right now, the market is telling us that that's good and that's gonna hold, okay? So we are looking for support pretty much right around that 51, or sorry, 15, 120 area. And actually it's almost exactly the same as the ES. The ES has a node just like that. So it's the same thing. I could have just used the same analysis. Push above the overnight high, look for continuation higher with lots of resistance above. So not an instant trip up a grind. And if they're able to get below this node, below 15, 120, look for continuation lower. But honestly, the NQ looks like it might be set up for a choppy sideways day. This is a lot of resistance. This is a lot of support. So a day where they have to grind for a while would not be unreasonable. So first major resistance, 15, 190. Can they get through that? First major support, 15, 130. Can they get through that? As long as they're grinding around in the middle, expect it to just chop around. Chop zone. 11 minutes to market open. Hit me with your questions or hit me with a thumbs up. If you got nothing to say, say something nice. Say I like you, Charles. Here's the thumbs up. Kiki, Kiki, Kiki. Kiki, Kiki, Kiki. Welcome, Kiki, Kiki, Kiki. Is Bookmap useful in crypto trading? Yes, it is. Bookmap has really as a company focused on trying to provide extra insights to the crypto community that just isn't available anywhere else. They've got other streamers that talk about those things that stream on crypto. I highly encourage you to check it out. And also, they've just got really cool tools. You can take a single Bookmap chart and you can combine all the data from every different broker. So you could have Coinbase's data, Gemini's data, whoever you want, all the different markets in one chart. So you can really see where the liquidity is. Whereas like, for example, I've got this one, this is just Coinbase. So I can see where the liquidity is sitting on Coinbase for Bitcoin. But if I wanted to, I could build it out to include all the other platforms and really have an idea of what's going on. So yeah, I'm not the guy because I'm just a futures trader. I just trade the ES. But you've come to the right place for sure. Anthony says the ES overnight low looks not so nice. Not so nice. Yeah, there is an unfinished auction there. Good catch. But like I said, to me, that's not the priority, right? To me, I'm thinking bigger picture. If this node breaks and in particular becomes resistance, so we push down, we push through and then it becomes resistance, it's just all down from there. You know, it's like, cool, yep, that needs some repair. This needs some repair. It's like, we can just monitor for continuation lower. Because like I said, then it becomes about that conversation of balance on the daily, right? If we're heading down towards that balance area low on the daily, we're gonna pass through all that stuff on the way. So it is a good catch, but it's not the most important piece of information to me right now. I wanna see if they can hold it first. You guys with these names. Rattlesup, Rattlesup, what's up, Rattlesup? Is it fair to assume that the overnight low was due to the China CPI news? Markets have digested the news already and we'll be rallying since the London Open. And we've been rallying since the London Open. ES all the way down seems unlikely. Yeah, so what you're doing is you're approaching your understanding of the market from a fundamental point of view. You're asking the questions of why is the market doing what it's doing? Is it because of this news? Is it because of that? Will this news change things and lead to that? In my experience, I'm terrible trading that way. I know some people are. I know there are people that can make lots of money trading off of fundamentals, but I don't. So I have no answers for your questions. I can't help you at all. What I can do though is I can use the technicals to understand what's happening, right? So like I said, if the market pushes down to the 24 area, find support, turns around and heads back up into yesterday's range. It doesn't really matter to me if it was because of China's CPI news and then London Open. No, that matters. It's just what's happening. What's happening right now? We found support. We're turning around. We're heading higher. What's the most likely thing to happen next? Well, then let's say the market open, push below yesterday's low, find some resistance, come down, test that support, find some support, turn around and come back up into yesterday's range. Well, now I know regardless of why it's happening, I don't really need to understand why. I just know the most likely spot it's going is to test that overnight high. So there's an opportunity in between there and there. And when it gets to that overnight high, I know it's probably gonna get resistance, right? It got resistance in the overnight. So it's probably gonna grind here. And so then recognizing what's happening there, does it fail and come lower? There's an opportunity to go short there. Does it find support to go higher? There's an opportunity to go long there. So I don't really need to understand like why whatever's happening is happening. I just need to know what is happening. And if that is happening, what's the most likely next thing? Now, am I gonna be right every time? Of course not. But I can be right a majority of the time, more than I'm wrong at least, at least better than half. And if I'm right better than half and I use good risk management and I never break my rules and I'm extremely disciplined, it is actually very possible to crank out a living every day, making money without ever knowing why the market does what it does. And not having to struggle with that question in my mind just makes it all so much easier in my humble opinion. All right, we got no more questions and five minutes till the market opens. So I'm gonna take a quick break, a super quick little break and just go make myself a cup of coffee. Get your questions in the chat and I will hit them as soon as I get back. All right, I'm back. Did you guys miss me? Have you ever heard anybody put on a pot of coffee that fast before? It's crazy. Skills to pay the bills, baby. Collid says, do you have book map free? I don't have book map free, but if you go to one of my live streams from my channel, which is Pirate Traders on YouTube, you'll see a link in the description below where you can get a discount for the first few months, but unfortunately not for free, right? Nothing that's good in life is ever free. If you want something of value, you're gonna have to pay for it. But I would highly recommend it. Even if you just wanna get a subscription for book map for like a couple of months, just to try it and experiment with it, I think it's worthwhile. It's the insights that I get from it are very subtle. It's kind of hard to say like, cause I don't take any trades based purely off of book map. It's not like I'm like, oh, if I see this, I go short or whatever. But there are so many times where I'm watching the price action, right? And I'm just not quite, I don't quite understand it. I'm like, wait, what are they doing? And almost always looking over a book map, I can find an answer. It's like, oh, I see. There's an iceberg right there. They're trying to create liquidity to come back and take it out. But about whatever, it's like, oh man, the insight is waiting for me once I glance over. So worth experimenting with. Give it a try. One minute to market open. Kick, kick, kick, kick. Says, why don't you trade crypto? I used to, I started in crypto. I got my start back in 2017 with the altcoin, the crazy altcoin market that happened there and I just made a ton of money having no idea what I was doing. Oh, here we go, market is open. Okay, so we open with the gap down. First order of business for the market will be to fill the gap to try to get back up to yesterday's low at 44.31. And then we will look for resistance there. This is a level where the market could give us some insights as to what comes next. Okay, so that gap is filled. Now the question is, do the sellers pile on and push us back down through that opening price? Or are we able to stay up here inside yesterday's range? If we stay inside yesterday's range, we look to test that overnight high. If we get smacked back through the open, we look to head down and test that node around 44.24. But anyway, yeah, I got my start in 2017 in the altcoin market. I made tons of money, had no idea what I was doing. I was just straight up like picking a crypto because I liked the look of the team or whatever. Like, I had no idea what I was doing. And then I gave it all back, like in the year that followed. And that's what made me realize I need to learn trading. I need to actually learn how markets work, how they function. And through that process, I've come to realize that crypto is too manipulated and too random that you're really gambling. Everyone who trades crypto is just gambling. There's no way to have statistical probabilities on your side. And I trade purely based off of statistical probabilities. So here's one for you. We're finding support inside yesterday's range, increasing the odds. We're gonna test the overnight high at $44.40. Boom, that I can't give you on crypto. So that's why I trade the ES because it's much more consistent. It will do the same behaviors over and over and over again. And that's just more reliable and easier to trade off of. I would much rather make my living, grinding out a little bit of money every day, consistently, rather than trying to, hope I'm gonna get this 10x amazing trade, where I turn $1,000 into $20,000 or something like that. That's not for me. Those days are behind me. All right, so here's that test of the overnight high. Again, a great level for more information. Are we gonna find support here for continuation higher or get smacked back down? All right, so no support at the overnight high, increase the odds of more chop, more sideways. So now the question that we're asking ourselves is, can they continue to keep the market inside yesterday's range? The more time we spend inside yesterday's range, the more volume we bring in, the more likely we're gonna continue higher. But we have left behind some very low volume nodes down here. Those often need to backfill. Travis says what timeframe is the orange composite volume on the left? It's basically like the last, I think of like 180 days or so all combined together. I don't really get too specific with the exact numbers of things. I'm just really looking for where was the liquidity before. So basically I can actually show it easier on a daily chart. So basically like when the market was up here, I only needed to go back that much. But then when the market pulled down to here, I had to go back that much. When it pulled down to here, I had to go back that much. You know what I mean? I just basically wherever was the market trading in this area in the past, what were those important levels? So right now I'm pretty much including about this much time right here. Okay, so I'm watching the market. We are getting support at this overnight high. That's a little bit bullish to see. There's a but though. But we're creating this taper up here, which is telling me we are running out of business. And we also just had all this liquidity disappear on book map. So I would describe myself as cautiously bullish right now. Still uncertain if they can hold this overnight high. Nor can we look at the queue, let's do it. This is how we do it. The queue is doing the exact same thing. Bro, you literally could have just used the same thing. So they pushed above that overnight high and they're trying to turn it into support. Can they hold it? They also left behind some low volume nodes and I would consider that low weak because it's one tick below the open. So the probability is pretty high. They will come back and test this. And same thing as the ES, as long as they find support inside yesterday's range, it's bullish, right? But if they start to pull down below yesterday's range, you're heading down to test that 15, 125. We must wait a bit longer. We just can't be sure yet. Who's gonna win the tug of war? Buyers or sellers? If they can hold this overnight high, so if they can hold 15, 198, I would look to test the next major node above, 15, 250 and then 15, 295. Monitoring for continuation higher from there. Freed out the coffee is almost done. I know it's over there. I can smell it. Woo, wait till that brigade stream starts so I can take a sip.  I want it so bad. Give me my caffeine. All right, well that's support. That is bullish to see. So I am very cautious with these low volume nodes. Both markets have a weak low and low volume nodes. So that tells me that probably we're not gonna go straight up all day. Probably at some point we're gonna come back down here, but for now they're holding the support. So we are looking to head up and test the next resistance on the ES that's gonna be 44, 44. And we'll see what happens there. Charles, why do you care so much about the weak low and the low volume nodes? Well, it's just a sign of unfinished business, right? The market knows that that's there. The market knows there are participants that were willing to do business here that didn't get a chance. So right now the buyers are in control and they'll push it as far as they can. But they might not get it too far if they need to come back down here first. So I'm looking for that resistance above. All right, well, they don't have it. My bad, sorry guys. So that means we do not have that support at the overnight high. We have a good high too. Good taper, good volume. So now we've come back for this low volume node and we're looking to see can we stay inside yesterday's range? It is sideways inside yesterday's range, bearish below and bullish if we can get back above 44, 41. More tug of war is necessary. 98 people watching 50 likes. Smash that like button if you wanna head up and test 44, 44. Okay, so now that we're seeing a pattern begin to emerge in the book map, it's giving us information, okay? Look at how they are stopping the market with an iceberg at this exact same level multiple times in a row. Okay, boom, boom. Now the last time what happened was they brought the market back up and a bunch of people went long, right? So then they came back down. We can see these red circles right here. That's telling us that that was more sellers than buyers. So that was people getting stopped out of long trades. So they came in, they ate all that liquidity, came brought it right back up to the same level and now they're doing it again. So this is chop, but it's telling us they're building a magnet up here, right? They want that liquidity up here. They want you to go short right now and put your stop right here. Why would they want that? Well, so that once they find support, they can come back for it. So very choppy, but that is interesting information. Miguel, good morning to you, welcome. All right, so now are they gonna play the game again? Are they gonna bring us right back up here to the overnight high just to slap it down again to get more people short or are we able to break through? This is a chop zone. If you're not familiar with the concept of the chop zone, it basically just means it's an area where the market is stuck in a range and they're gonna play tug-of-war, they're gonna pull it up, they're gonna pull it down, they're gonna pull it out and they're just gonna keep going. It could go on as you would shock you how long it could go on for, but once they're finally ready to break out, having been patient, waiting for that signal will give you a lot of insights moving forward. So right now we're just still playing tug-of-war. Just look, we just got some more people to short. I wonder where they put their stops. Okay, so now we've begun to backfill that low volume node we've been talking about from earlier. So this is likely where there are participants waiting. Right, so if the market can hold itself above yesterday's low, it is likely to turn around and head back up to take out those stops. Are there buyers waiting? Let's find out. Barely got to fill it. There is still liquidity there. Andrew says the queue is doing things. SH says the NQ needs to resolve its weakness. And Pavel says the NQ tests the overnight low. Well, that's a lot of bad news from the queue. Yeah. NQ is heading down to test its overnight low. So they just tagged that massive node we were talking about earlier. That's the very last hope for the buyers right there. If this now becomes resistance, if 15, 130 ish, this area doesn't have to be that exact level. If this area starts to become resistance now, you're almost certainly heading to test that overnight low. You also want to pay very close attention to yesterday's low, which was the opening price for resistance as well. If they push up to there and they cannot get back into yesterday's range, that would be bearish to see. So the queue also in a chop zone, but it's getting a little bit bearish, a little tiny bit. Remember, it's very important to keep track of the idea that it's not about going to a level that matters. It's about what happens when you get there. What do they do when they get to that previous support? Okay, so once again, filled some of those low volume nodes, still left one behind. They want to chop it up some more, chop, chop. Peter H says, MP chart, yeah, market profile. The chart on the left is market profile. That's basically, it's the same thing as like a candlestick chart. It just allows you to see the market in three dimensions. So it lets you see where the market spends the most time. That's where you see the letters overlapping and where the market brings in the most volume. That's where you see the large volume nodes. And that's just basically more information than a candlestick. And then over here on the right, that is book map, showing us where the liquidity is and what happens to it as it matches with price. Who's doing what, where and damn it, why? So right now we think we're chopping so that we can create liquidity up here to come back through. We don't know how long it's gonna take. They may chop for an hour, but just that's what they're doing, at least on the ES, different from the NQ. Andrew says, news print in two minutes. Thank you, sir. We always wanna know when there's news coming. We don't care what it is, but we wanna know when it's coming. So if that volatility kicks in, we're not surprised. Volatility and tempo is one of the easiest way they can squeeze day traders. Make it move really fast, out of nowhere, freak you out. And then it's too late, you missed your chance. Asim, name of the software I'm using, that's called WindowTrader. WindowTrader without a W at the end. Speaking of which, okay, so the market profile software just gave us some information. It did two things at the same time when we printed the B period. It pulled the fairest price to do business what we call the point of control up higher and it pulled the value area, which is this blue box higher. So both of those things are just letting us know that we're building momentum to the upside. And book map letting us know the liquidity is beginning to disappear. That's those bots making way for the news. Okay, market just created a poor high. Absolutely as to be expected in a chop zone. Poor high often causes the market to push away. So go the opposite direction, but then increases the odds that when it comes back it will pass through and go higher. So they're just still doing the same thing, right? Still getting more and more and more stops up here. Telling you, look, it's a double top. You should go short and then they whack and you get that. Okay, so now we've done the work. We did the two-sided trade, we did the chop. So now we can trust that the buyers are in control. They fought the good fight, they took control. So now I'm looking for the market to hold support at the halfback 44.36 or the overnight high 44.40 for continuation higher. If we pull back through the halfback at 44.36 it is likely the market's gonna head back down through the opening price. Okay, so the buyers took control. Can they stay in control? As long as they can, I expect it'll push up into resistance, come back down to support, push up into resistance, come back down to support and so on and so forth. Ben says, hey, what is some of the reasons why larger players want to generate liquidity and pop it above and then reverse? Why do they get people on the wrong side? Is there some logic? Yeah, so the liquidity means they get their orders to fill. So let's say you have a thousand contracts that you wanna fill on the ES. If you just put an order for a thousand contracts at one exact level, everyone's gonna know it and you're not gonna have any edge, right? You're not gonna have any advantage. So what you have to do is you have to slowly accumulate that position. You can't get in all at once, otherwise you set off too many alarm bells. So what they do is they push the market up a little bit and then they create liquidity. They get stops, right?  So every time it pushed up, short-term traders went short, went short, went short. Where did they put their stops? You see these big green dots? That's all of them. So everything that you saw happening in here, they were doing this to get the liquidity that they're filling right now. They couldn't have filled those 2,700 contracts if they just stuck the order right there.  It's just a matter of size. Okay, so we're pushing into the first resistance here. We'll be watching to see, does it bounce, does it pull back and can we hold the overnight high at 44 or 40 once we do? So you see that now? Those 3,000 contracts, somebody's hungry. So Charles, a big player going short with 3,000 contracts, that means the market's going down, right? Heck no, they don't make it that easy. Could be anything. He could be going short because the market's about to flip in reverse, or he could be taking profits on longs that he was accumulating during the overnight.  All right guys, well with that, unfortunately, I have to say goodbye. It's been great meeting all of you. I hope you got some insights from this. If you're interested in learning more, I have a community called Pirate Traders. We'd love to have you join the team. I do live streams like this every morning for the first hour of the day where I just talk about what I'm seeing and what my insights are and how those could be valuable. And then I also teach courses. I have a e-course that's available anytime if you wanna take it. And then I also occasionally, once every few months, I do a live webinar type of series where I do live, you know, two-week long course, four hours a day. I teach a lecture for the first half where I explain all the subject matter in depth. And then the second part of the day we talk about what's happening live in the markets. If you're interested, we're actually doing one next week. Your timing is perfect. And you can head on over. I'll actually post the link in the description here. And you can head on over and join. It's 150 bucks, but that's only three points on the ES. If you anywhere in here got long and you took profits at resistance, you've already paid for the course. And there will be a lot more of that to come. So anyway, with that, I'm gonna say goodbye and head on over to the Brigade Private Stream. But if any of you are interested, we'd love to have you next week for the course. Thank you so much. Oh, I forgot, it won't let me post links. Whoops, well, there you go. You'll have to copy and paste. Anyway, thank you so much. And have a great rest of your day. As far as insights moving forward, I am bullish right now, but they've got to hold this overnight high at this point. If we start to pull back down, we may just be looking at a sideways day or even a sell-off. So they really need to hold the support here to keep it going. As long as they can, if they continue to hold support, test resistance, hold support, test resistance, remember what I said about the daily chart when we started out this morning, that that daily chart is telling us that we are in a balance area. When you start the day in the middle, you're either heading up or you're heading down or you're going sideways, going nowhere. Right now, for this moment, it's saying up, as long as they can keep it going, we'll assume they can keep it going. Okay, bye.