Okay. Right. Do I have everything plugged in? Now, I've got two click-its here. Okay. So a lot of times when people do these kind of polls of an audience that they ask people to raise their hand, it's kind of totally meaningless. It's just to kind of make sure you're all awake. But I'm going to ask you a question and it's actually going to decide the talk I give. So here goes, who here has sort of seen a talk about service workers before or kind of know roughly what they are? Okay. Right. So I'm not going to do the intro talk then. So if you don't enjoy the talk that I'm about to give, it's actually your fault. You picked it. So you should have picked the other one. So firstly, I'm going to do a little bit of a recap. I built a little web app called Emojoy, which you can find at this URL. It started just as a website, but I turned it into a progressive web app. And if you're looking to do the same thing, the first thing you need to do is to integrate the site with the operating system and the UI. And one of the ways of doing that is in the head of the page, you can use a theme color, and Chrome will use that to kind of change the color of the location bar there. So it's a small quick win for integration. But the main part is this web app manifest. So inside the manifest, it looks like this. It's got details on the name of the app, the icon, all that sort of stuff. And once you have this, you will be able to add the site to their home screen, and they get the icon and the name that you specified. But not only that, when the user taps the icon, they get a splash screen. This is reasonably new in Chrome. And this is where the browser is booting up and while your page is getting to first render. And so the icon, the text there and the background color and the sort of the purple strip across the very top there, that's all taken from your manifest, so you can configure all of that. And once that goes away, you get your site, but without the URL bar, that's an option you can have. So here it just feels like a native app. However, this whole illusion of native comes crashing down when you're offline. So this is pretty bad, right? The user has launched our app, they've come back to our app, they've added it to the home screen, that's how much they like it. But we have failed them to such an extent that the browser has had to step in and defend us and they do this by blaming the user saying you are offline. This is your fault. If we're going to compete with native, this is like an operating system level error message, like a full crash. So this is not good enough. But things get worse. So offline isn't the worst thing that we face. This is, I call it, li-fi. This is when your phone says it has connectivity, but it doesn't really. I think we've all experienced this. The li-fi experience is just that. So that the splash screen goes away when the site gets to its first render. But with li-fi, that never happens. This is worse than offline. With offline, you get a quick answer. The answer is no, but it is a quick answer. Here, the user is just left waiting. You're forcing the user to stare at this or give up. And with every passing second, they hate the user experience a little bit more. And this is why we should avoid treating online and offline as these kind of binary states. Because if we cater for online and we cater for offline as separate things, this situation goes completely unsolved. And that's why the gold standard here is offline first. Offline first solves these problems. With offline first, we assume offline and do as much as we can with local content than try and get content from the network. And the more we get to render without a connection, the better. So you should think of the network as a piece of progressive enhancement that might not be there. And here's how we do it. So to begin with, register for a service worker. And this isn't some kind of magic manifest format. It's just JavaScript.  Of course, we should write this register call here in a simple feature detect. Because, you know, there are older browsers out there that don't support service worker. And this feature detect prevents them from hurting themselves and others around them. Anyway, in that script, I'm just going to register for this event, this fetch event, so I'm going to have a debugger statement there. And when I do that, now if I refresh the page, I hit a break point. And you get this event object, and it has a request property. And this is the request for the page. And you get things like the URL, headers, the type of request. But you also get one of these events for every request that the page makes, the CSS, the JavaScript, the fonts, the images. I get the event for these avatars even though they're on origin. So it's not just your own origin. So by default, requests will go from the page to the network. And there's not a lot you can do about it. But once you introduce a service worker, it controls pages, and requests will go through it. But like other events on the web, you can prevent the default and do your own thing. And that's where things get really interesting. So let's use that to go offline first. So the first thing we need is an application shell, which is just the site but without the messages in this case. We want to serve this and the CSS it requires and the JavaScript it requires before we even try a network request, before we even think about going to the network. Because even if you have a great network connection, serving this locally is going to be faster. And that's the offline first approach. So we need to cash this ahead of time. And the service worker has an event for doing this. It's the install event. This is fired when the browser sees this version of the service worker for the first time. And it's your opportunity to go and fetch everything you need to work and store it in a cache. So here I'm opening a cache called static V1. And then there I'm adding the HTML for the shell, the CSS, and the JavaScript that it needs. But these won't be used by default. Service worker doesn't do anything for you. It kind of, it waits to be told what to do. So over in the fetch event, I'm going to start by parsing the URL so we can look at the component parts of it. And then if the request is to the same origin, and it's just the home page, we're going to respond with the app shell from the cache. So calling respond with here is my indication saying, like, I'm going to handle this request, I'm going to take over here. And we pass in either a response object or a promise that resolves to a response. Caches.match that returns a promise which resolves to a response from the cache. So these can pose it together really well. Otherwise, we're going to try and respond with cached content that matches the current request. So that's how we're going to pick up the CSS and the JavaScript when the shell page requests those. If there's no match, it's going to resolve with undefined. So as a fallback, if response is falsely, we'll make a network request. So this is the offline first approach. We're treating the cache as our priority, as our primary source, and then falling back to the network, whatever connection the user has. So using this pattern, you know, the page goes to the service worker, and the service worker just pulls the shell from the cache and the CSS and the JavaScript it needs. So that gives us our shell render without going to the network. And now we're running JavaScript on the page so we can display even more content. So with a Mojoyer, in this case, I actually went to index DB and pulled out the past messages, the last messages the user saw, and rendered those on the page as well. So the user's looking at messages without having to go to the network. And then we can go to the network for newer messages if we can, and we can show updated content and additional content. So if this network request fails, it doesn't matter because we're displaying content. That's a good offline experience. If the network is slow, then that's maybe okay, because the user might just be looking at past messages and we've given them that. So to see the benefits of this, let's pit the original online only site against this new shiny offline first version. We must go to the comparinator. There was going to be sound there. Never mind. So first up, the online experience. Go. So we get instant full content, whereas the original lags behind having to fetch stuff from the network. What about the offline experience? Instead of complete failure, we have instant full content. What about li-fi? Instant full content rather than the white screen of death. In fact, with our progressive web app, the experience is the same no matter what connection you have. And that's the offline first goal. The network only matters when it comes to fetching new content. And this is how we compete with native. And compete with native, we can. I decided to pit the emoji progressive web app against a native app. Google photos in this case, because it's a well-built, well- refined native app. I wanted to launch them at the same time and see what happened. So press them at the same time. And it's really close. This is native versus web. In fact, the emoji is about 0.2 seconds slower to show content. That's 200 milliseconds, not a lot. And that's compared to a well-built native app. But that's starting from cold. The browser isn't in memory. If the user who's used the browser some time recently, and let's face it, the browser is a pretty popular app, so it's likely to be in memory, this happens. This is a progressive web app beating a native app to content render by almost half a second. Now, a few people said to me, it's like, well, what about Android instant apps? What about those? Well, my answer to that is progressive web apps are shipable today. And they're not Android only. You can build one app across thousands of devices, operating systems and browsers, and it can beat a native app to content render. So ServiceWorker is in the stable versions of Chrome, Firefox, Opera, Samsung browser as well. And it's coming to Microsoft Edge. It's a high-priority implementation for them. It's under consideration by Apple. But progressive enhancement means you can use it today. You just don't get the offline features in Safari. But if you use ServiceWorker and suddenly your stuff has more features or becomes faster in Chrome and Firefox than it does in Safari, then that will give Apple more reason to implement ServiceWorker. As web developers, you are in control of the future of the web here. But not enough about the things that I supported today. I want to talk about the future, this is what I wanted to get onto. The idea was to build something like Wikipedia, but Wikipedia that ran offline first. So it's something that was very much less of an app, because the emoji is very much built like a native app, it looks like a native app. But is this stuff applicable to sites? Is it something that you will be able to use for your blog? And we thought Wikipedia is a really good demo of that. So the idea was, like, when you're online, you're going to get a server render, because that's how Wikipedia works. But with a ServiceWorker that we can start doing different things. So the first thing I did when I built the Wikipedia demo is to create an app shell as well. That's right. So I built an app shell for the article pages that would load this generic shell without the network, and then the page's JavaScript will handle affection is the appropriate thing from the network. So without ServiceWorker, it was kind of just a standard website. But with ServiceWorker, I'd rearchitected it to be more like a single page app. So I was dead excited about what I built. So I ran straight to the comparinator to see how everything changed. So I'm going to set the normal website here against my shiny ServiceWorker version.  Three, two, one, go.  It got slower, like way slower. Here it is again. First render is actually quite fast. But the content, which some people would say is the important bit, is over two seconds slower on 3G. I had a mild panic, not as much as the panic I just had two minutes ago, but a mild panic that we'd really messed up the ServiceWorker thing. But it wasn't ServiceWorker that was the problem. See, I was using this app shell and letting JavaScript do the rest. Which is fine if your design already sort of dictates that you do something like this, but it wasn't the case here. I'd rearchitected a site into a single page app. And single page apps are incredibly slow, and this is why you'll see me moan about frameworks all the time on Twitter. Here's what a website does to get to first render. HTML starts downloading, CSS downloads, and now we start rendering content, and we render more as more HTML downloads. We might download JavaScript as well, but it should be async, so it's not going to block render. Contrast this to single page apps, web apps, where HTML downloads, usually instantly, because it's normally really small, CSS downloads, and then we get our first render, assuming the JavaScript isn't render blocking, which it often is, but let's be kind. Anyway, this is just a basic UI render, no content. And then JavaScript downloads, it pauses and executes, and then it goes off to fetch the content. And once it has all of the content, it adds it to the page and we get to render, and this is how slow happens. And in my case, I wasn't losing too much time on the CSS, the HTML, and the JavaScript download because they were all cached in the service worker, but the problem here is at the bottom, the JavaScript has to download all the content before showing any of it. The more I think about load time performance, the more I realize it's not about the size of your CSS, the size of your JavaScript, it all comes down to being progressive. And this is related to progressive enhancement, but not quite the same. I mean, show them what you've got. Like, all the time you're loading, the user is watching and waiting. Don't make them wait until you have everything before showing them anything. Prioritize the first render, the first interaction. Show the user what you've got as you get it. And that's where I was failing. I was hoarding all the content and only showing it once I had all of it.  But for me, this was my app cache hangover. You see, app cache nearly, nearly lets you use the page shell pattern, but not quite. But it lets you so close, like you can almost smell it, but it just sort of bats you away at the very last moment. So once app cache was out of the way, I was like, really? App cache is gone. Does that mean I can have all of the page shells I want and nothing is going to stop me? But I didn't stop to think that the best answer wasn't the one that app cache nearly let me have. It was the thing that it didn't let me anywhere near. What I wanted was streaming. And with streaming, you get to finish the simulation here, and you can see the final render is somewhat quicker than the non-streaming version. But the important bit is that render happens ages beforehand in the non-streaming model. So this is the full HTML spec loading here over a frottled internet connection. It's a 3 megabyte document. It's still downloading, but it gets on screen after only 20K is fetched, which is great. That's streaming. But for a long time we had no access to streams and JavaScript, but that is all starting to change. So we designed the fetch API alongside service worker, mostly because we needed a lower-level representation of requests and responses. But it was also a good opportunity to kind of look at XHR and make something that's a bit easier to use, because XHR is almost 18 years old. I don't want to be using XHR when it's legal to drink. It's bad enough when it's sober. So this is fetch. It returns a promise for a response. There it is. But that only resolves when we've received headers. We haven't received the body yet. You have to choose how you want to read it, and that gives you a promise as well, and then you get your data adjacent in this case. This compresses really nicely using arrow functions and even better using async functions, so that the keyword await there, it pauses execution of the function until the promise resolves. And it's pausing in async way, so it's not blocking the thread, it's not blocking interaction. I think Edge has this in their preview builds. I think we've got stuff in Canary as well, but Babel lets you use it in other browsers as well. And it produces much easier to read code. I think it's great. So if you haven't encountered it before, you can pretend that async code is sync. It makes it a lot easier to read. Anyway, you don't have to read the responses, Jason. We added a load of different methods for common types that you'd want to read. We added these for two reasons. They're nice convenience methods, but we wanted to ship fetch before streams were ready, so we needed a way to read the body. But we did reserve response stop body for streams when they landed. And they landed in Chrome and Opera around a year ago, and they've been actively developed by Firefox, Edge, and even Safari as well, they're working on them. Here's how you use them. So you fetch something, say the HTML spec, and we're going to fetch it as a stream, and we called GetReader, so I'm saying I want to open the stream, I want to get a lock on the stream. And then we can read some of the data, read returns a promise, result is an object, result.done is true when there's nothing left in the stream. So if result.done isn't true, result.value is a chunk of the data, and that's a Uint8 array of bytes that you've received. It's not the whole response, it's just the first part of it. When we want the next part, we can call read again. So if we wanted to get the length of a whole response, we could do this. We're going to have a variable there to keep a running total, and then we're going to create a loop. I'm just going to keep calling read until result.done is false. And in there, get the value, add the length to the total, and then log it out. And that's it done. We should be able to see that working. I don't know. It feels really risky doing life demos after what happened before, but let's give it a go. Let's see. Here we go. So this is, let's see if I can make this bit bigger. Oh, wrong window. Maybe I can't make it bigger. Where's my mouse pointer? There we go. So if we refresh the page here, we can see the sort of log at the bottom there, and it's reading the HTML stuff. And we can see that the, we're inspecting parts of the response here, but we're not having to keep it all in memory. You can see the chunks are of different sizes, so that's something you have to deal with. They're kind of around about 32K, but not always. So here we're reading the full size. It's eight megabytes, I think, the uncompressed size right down at the bottom there, but we don't have to have the whole thing in memory. We're just sort of reading bits and then there can be garbage collected straight away. So a more practical use of something like this would be to search a stream for a given string. So say we wanted to search the HTML spec for the word horse. Here's how we do it. So this is fairly a simple way of doing it. We're kind of fetching it, reading it as all this text and then searching. But this means we have to load that full eight megabyte document into memory and then search across it. We can do better with streams. Instead of fetching all the text, I'm going to loop over the stream as before, but the problem here is that result.value is in the array of bytes, whereas we need a string to do the matching. In future, this will be really easy. You'll just be able to pipe the stream through like a text decoder and that will kind of read in the bytes, convert it to text and pass it out at the other end. But transformed streams haven't been fully specced yet. They're all coming soon, but at the moment you can do things a little bit manually with text decoder. So here we fetch, get a reader, but also creates a text decoder. And then we want to loop through the stream as we did before. But on result.value, I'm going to call decoder.decode and that will take the byte and give us a string back. It decodes it assuming UTF-8. There are other options as well. The stream through there, that's actually really important. That changes how things work. So let's show you that. So here's a simple demo. So this is the code you saw before. I've got three chunks of text there, and for each one I'm going to decode each part. And if I run that, everything is broken. But if I add that stream option in and run things again, right, we get the poo emoji, the toilet emoji in an exclamation mark. So the reason this happens is that emoji are four bytes long in UTF-8. So with stream true, it tells it that it might be receiving more bytes later as part of the same message. So with stream true, it receives the first three bytes and it goes, this is part of the character. This is not the whole thing. So it just returns an empty string and it holds those three bytes. The next time we call it, it adds the next three bytes on. So it adds the 169, the first byte, and it goes, ah, right, I've got enough now to show the poo emoji. So I'm going to pass that back and I'm going to hold on to the last two bytes. And then we add the next chunk on, the next three bytes, and it goes, ah, right, I've now got enough for the toilet emoji, send that back, and also 33 at the end there is the character code for an exclamation mark. So you can send that back as well. So now we can check these chunks as they come along. Now we've got them as text to see if it contains the word horse. And not only that, we can also cancel the download when we find it. And this is really efficient. So it's an eight megabyte document, but if we find a match in the first 20k, that's great. We can stop the download and save all that bandwidth. But there is actually a bug with this implementation. It works fine if our chunks are like, my lovely, and then horse running through the field, oh, there's the match in the second chunk, great. But what if the chunks are my lovely huh, no match, horse running through the field, no match? And we miss it because the match was across two chunk boundaries. So when you're doing things like searching or filtering streams, you need to defend against this. And the way we do it is by keeping a buffer that is the size of the thing we're looking for, minus one. So in our case, horse, five characters, we need a buffer of four. So that means that we could see my lovely h, fine.  So the code for that, my slides have gone off again. Isn't that great? Whatever you did, oh, it's back, excellent. So the code for that, same as before, but we create a buffer. My heart rate is going so fast. So we're creating a buffer. We're going to loop through the stream. We're going to decode it, add it onto the buffer. And if it includes horse, great. And then we cancel. Otherwise, we reduce the buffer down to those last four characters. So now we're searching large documents, we're keeping the memory usage down and we can stop the download early. So I'll show you an example of that as well. So we're actually going to run this on the HTML spec. It's a slightly longer piece of code because I'm going to keep a larger buffer so I can show the search term. So with horse, which I didn't expect to be in the HTML spec, but if we run it through, there's a match. And it's because Tommy Fawson is one of the contributors and he's got a horse in his name. Let's run a different example. Someone could be an example of something that probably won't be in the spec but might. Who? Do you know what that means? You are so much more polite than the meet-up in London that I gave this same talk to very recently.  Okay, I'm going to pretend that's not a heckle. And I'm going to do that sort of nervously. Okay, this will be fine. Obviously, you're not expecting anything to happen. But as it searches, it's like, whoa, does it match?  A canvas hit region. Okay. Where are my slides? So, oh, yeah, I was talking to some developers in India and where connectivity is quite poor. And they were sending this blob of JSON down for some search results. And they wanted to detect 2G versus 3G. So the idea was like, oh, if they're on 2G, we're going to send fewer results because it will get on screen faster. You'll get a faster render. But detecting connectivity is really unreliable, especially in India, where you can have 3G or 4G packaged, but it will be the speed of 2G. So it's much better to do something else, like serve something like this, where it's not JSON, but every line is a JSON object. And this is something you can stream then. You can parse each line separately as JSON and deal with the data as it arrives. And that means you can deal with the first result before dealing with the rest. And there's a real, there's a huge performance benefit to this. So here I've got an example of that. I'm going to throttle the network down to 2G. There we go. So a regular fetch of this JSON will take, well, it depends on the connectivity, but it will take around about, okay, so it's all about five seconds. And with regular JSON, it has to download the whole thing before it gives you any of it. So the first bit of JSON arrives after five seconds, and so does the second. But with a streaming solution, getting the last bit of data is going to take roughly the same amount of time. Yeah, so sort of five seconds. But we get that first bit after 364 milliseconds. So there's a huge benefit here for slower connections. We can start showing results before we've received the entire file. So you might be wondering how I can use this to speed up my Wikipedia demo. Well, I can't, because although you can use fetch to read a response in little chunks, JavaScript has no access to the streaming HTML parser. It might look like here I'm sort of happily adding HTML into an element, but plus equals is the same as getting then setting. So you're asking the browser to serialize the DOM and then you're asking it to parse some more DOM, like you've added some more to the end. This is a performance disaster. Don't do this, because the elements at the start of your string get created like hundreds of times. I'm hoping we can get like a streaming HTML parser a document fragment or something in future, but it's not there yet. But in Chrome beta and Chrome canary, we can create our own readable streams now. And this is something that's also being developed in other browsers too. It looks like this. You just pass in an object with these methods. And so say we wanted to create a stream of random numbers. We're going to store an interval. I'll show you why in a moment. I'm going to create a stream and then we're going to pass in a start method. This is called straight away. So in here, I'm going to set up an interval that pushes a random number to the stream every second. The controller has other methods as well, such as like close to signal the end of the stream, but we're not using that here. I'm also going to add a cancel method. This is when the user cancels the stream after they're done reading it. You get this cancel method so I can use this to abort the interval. So this is just like fetch streams now. I'll show you an example of that running. I think it's this one. So yeah, here we go. So this is just the code you saw before, but I'm going to read the value three times and then cancel and then try and read it again. But what we'll see if the page loads should be great. You can see this log down at the bottom here and it's getting those numbers. It gets three of them, but then it's had enough of it. So this is a push based stream because we're pushing data into it. So if no one's reading from the stream, those numbers are going to build up and up in memory and eventually you'll get memory problems. The opposite of this is a pull stream. The pull method is called when a reader is waiting on a value and we don't have anything left in the buffer. So when pull is called, I'm going to return a promise. That waits for a second and then pushes the random number on. And this is much better because you're not generating random numbers if nothing's waiting for them. Your streams can be of anything. With fetch, we saw there are a UNS8 array of bytes here. It's numbers. It could also be objects. It's one interface for all of those things. The designers of web streams, they talked a lot to the node folks because they have had like four, three or four versions of streams and they've made mistakes along the way. So there's a really good source of like what did you do wrong so we can avoid making the same mistakes. So you might be wondering how I can use this to speed up my Wikipedia demo. Well, I can't because not just using streams on their own anyway, because things get much more interesting when they're combined with a service worker. So this already streams. Fine. It just does it automatically. The browser connects the dots. Same with this. The browser will stream it from disk, from the cache. But in Chrome beta and in Chrome Canary, you can create responses from streams. You can create your own streams and stream those into the browser. So in my fetch event, I'm going to create an encoder. So this is the opposite of before. It takes a string and turns it into bytes because response streams must be bytes. We saw that before. Then I'm going to create a stream with a pull method which waits a second and then pushes a paragraph onto the page. So you can see that I've got encoded or encoded to turn it into bytes. And then I create a response, give it the stream, and then say this is HTML, give it the HTML header. So if we run that, it should be here, we can see random numbers appearing on a one-second interval. But as far as the browser is concerned, it is just receiving text very slowly. And you can see that the spinner at the top there, as far as the browser is where it is just loading a page very slowly. So you might be wondering how I can use this to speed up my Wikipedia demo. Well, I can. I actually can this time. Before we were piping content straight into the browser streaming HTML parser, and that is the key to it all here. This is what AppCache wouldn't let us anywhere near. So instead of turning a perfectly capable server-rendered site into a JavaScript-driven single-page web app, I can use ServiceWorker more like my server. So here's what I did for Wiki offline. I fetch the article header, the body, and the footer. So the header and the footer are coming from the cache. The body is coming from the network, but it will fall back to the something in the cache if it fails. And then I combine those streams together into one single stream. And combine as a function I wrote, it's about ten lines. It's kind of a manual process right now. It's like creating a single stream that reads the first stream into it, then the second, then the third, and so on, until it's run out and then it ends. And then we create a new response using that stream. So one response made of multiple different parts and places, just like what you do on the server. You get some stuff from a database, some stuff from a template, et cetera, et cetera. Treating your service worker to a server maps really well to content sites like blogs and Wikipedia which are server driven. You see the result of this for one final time, we go back to the comparinator. Oh, there's sound this time. Great. You'd normally be bored of that sound by now, but that was the first time. So here's how it compares. So on the left, the app shell render. And on the right, the streaming service worker, both over 3G, so launch them at the same time. So the difference is absolutely massive, but the app shell was a performance regression anyway, so let's compare it to the original server render. So we get the benefit of that quick cached first render, which happens without the network. But that allows us to get network stuff on screen quicker because there's less to fetch. We've already sent the header and stuff down. I'll play it again. So the first render is almost like a second faster, but content render is half a second faster, even though it's just coming from the network, the same network in each example. So needless to say, I'm quite excited about streams, but that doesn't mean the app shell model is bad. You saw it being used with Emojoy earlier and the result was a progressive web app which launched faster than the native app. But a streaming solution will be faster and easier for you if you use server rendering, say, like switching to an app shell model here could be a lot of work and could land you with a performance regression. If you're already a single page web app, you have that performance regression already, so knock yourselves out. Carry on doing that. Consider streams if your initial content may come from the network. The benefit of streams is being able to build content from multiple sources. If your initial content comes from the cache or database entirely, then you don't have so much to gain from streams. So that was the case with Emojoy. I was getting all the first render content from caches and databases, so streaming wasn't a whole lot of use there. Consider streams if a partial content render is filable to you. And that, I think, is in most cases, but especially written content. So if you're looking to build something like an offline first, news sites like the Guardian or a shop like Amazon or your blog, streams could be the faster and easier way to do it. And they're landing in Chrome in the next few weeks and they're being actively developed in Firefox and Edge. If you want to know more, I've written an article about streams, a gushing praise on my blog. In this post, I do some sillier stuff as well, like kind of transcode and an MPEG to a GIF on the fly or transform content. I actually did this with the I ran a transform stream on the Wikipedia page for cloud computing. This is it. But every time it sees the word cloud, it's replacing it with but, which is great to read. Where is that? I've got a favorite bit in here. See if I can find it. There it is. Oracle announced the Oracle But. While aspects of the Oracle But are still in development, this but offering is poised. I love the term but offering. That's great. So service worker is this is Bruce Lawson's logo for service worker. I like it. It kind of makes me feel slightly drunk. It's great. You can probably fill new network features with it. You can become a faster network resilient, more network resilient. We've gone through a lot of stuff here at Lightning Speed and that monitor has gone off and I've got one slide left. So let's rush. There's also a free Udacity course where you can take a website from online only to offline first to use it over a series of examples. Covers the App Shell model in index DB.  Thank you very much. Cheers.


Hello and welcome. I'm Candace Rondo, director of the Future Frontlines program at New America. Thanks so much for joining us today for our discussion inside the mind of QAnon. We have a great discussion on tap with two of the most energetic and innovative researchers on the phenomenon known as QAnon that I certainly have ever met. I'm really looking forward to digging in with you, talking about their new book, pastels and pedophiles inside the mind of QAnon. But now let me turn to the subject of the day, which is QAnon, a phenomenon that all of us have been hearing about one way or the other, whether we're on Facebook or Twitter. Sometimes we hear it in the news. Some of our family members or friends may have some sort of proclivity or have joined the movement known as QAnon. But what's interesting, despite that sort of ubiquity over the last couple of years, is that there haven't been a lot of big studies on QAnon itself. There have been a few journal articles here and there and academic studies, definitely a lot of media coverage. But there really hasn't been a series of book out on QAnon, despite the fact that it has had such a huge impact on politics in the United States is increasingly having impact around the world in other countries that are struggling with democratic principles and balancing normative action and behavior at a time when autocracy and authoritarianism increasingly attractive as an option for governments around the world. Today, we have with us Mia Bloom, Dr. Mia Bloom from Georgia State University. She has for years been studying the phenomenon of extremism in many different formats. She is also a New America fellow, and has recently been working on looking at QAnon as a social phenomenon. And from the perspective of somebody who has really covered the appeal of extremist movements and how that social movements kind of come together around these extremist ideals and so we're going to be talking to Mia. And as her co-author, Sophia Moskalenko, Dr. Sophia Moskalenko is a researcher with Start and also is a good colleague and friend of Dr. Bloom. She has worked on social psychology of mass identity movements, cult movements, and trying to kind of get inside the mindsets of those who are attracted to extremist movements, and she too brings a very interesting background to her study on QAnon. We got to talk about what QAnon is just briefly, and I'll just say at future front lines we have spent a lot of time looking at the phenomenon of QAnon from the online perspective and how alt-tech platforms like Parler and Gabb and other fringe platforms outside of the mainstream like Twitter and Facebook have come to be germination centers or hot houses for the rise of conspiratorial thinking online, and how that in turn has affected electoral politics in the United States and elsewhere. I'm really excited to get into this conversation with Mia and Sophia, and I actually have to start with the first question that I think is on everybody's minds, you know, and I'll ask you Mia, what is QAnon? Well, first of all, thank you. It's an honor to be on this side of the computer for a New America event. It's just been wonderful to be part of New America for the last two years and be working with such amazing people like yourself and Peter and the other Peter. So this is why I need to always do this ahead of time because the Department of Defense has funded this research. So anything I say it doesn't represent the OD or the Department of the Navy and all the mistakes I make, which probably will be many are my own. Now that that's said, QAnon started as this baseless conspiracy theory in October 2017 on sort of the underbelly of the internet on the chance. So you had it went from 4chan to 8chan to then 8chan became 8kun. And what it did was it had a series of over 5,000 what they would call Q drops like these little Pyrrhic posts that then people had to figure out what it was and what it was connected to what it was really saying, and it became in many ways like a game. And when you look at the popularity of QAnon from October 2017 until the pandemic, it's relatively flat in terms of how popular it wasn't in all likelihood it probably would have just petered out. But then with the lockdowns associated with the pandemic, we saw as much as a 600% increase in the number of people who were posting about QAnon, talking about QAnon hashing it. And we really do see very important correlation between the pandemic and the rise and popularity of QAnon. At the same time, about a year after it started, it sort of embeds itself within the Republican Party. So it starts in October 2017 predicting that Hillary Clinton was about to be arrested, which obviously never happened. By October 2018, they start appearing at Trump rallies. And so it's very hard to disaggregate this QAnon phenomenon from support for the former president. Let me back up a little bit because a lot of folks might not be terribly familiar with the chance. And for those who are less familiar with the chance. It's worth kind of pointing out that actually QAnon as a phenomenon comes out of a much bigger than QAnon, which is this rise of the alt tech movement, you know, online websites that are image boards essentially so very kind of old fashioned and somewhat clunky interaction user interface, but very attractive because there are some moderated platforms right so there was first to Chan, which emanated out of the Philippines. And then there was for Chan, which of course was started by Frederick Brennan, and then take it over for in cooperation with the Watkins family. This is Ron Watkins in particular who has now become famously associated with the QAnon movement as a result of a number of documentaries that were recently produced about the mystery of QAnon. And, you know, for Chan, each and of course were places where you could say anything. And the idea of Q, the Q drops emanates from this idea that there is a an insider inside the Trump White House that has special information about a secret circle of, you know, elites including Hillary Clinton, who also happened to be involved in satanic worship and, you know, child trafficking. It's a very elaborate theory, but it's actually one that has some pretty familiar contours. And if anybody has studied the history of organized antisemitism, you know, going dating back to the early 1900s in Russia, you will recognize some of these tropes talk about that a little bit more Mia. Well so first of all, you know, and again, I didn't want to short shrift this issue of the chance. I think that when you look at the this what I call the underbelly of the internet. I think this is where Gamergate happened. This is also where the incel involuntary celibates of proliferating the sites have been used for things like hate groups and pornography and sort of a lot of illegal activity as well. And I think that had it remained, you know, kind of says you said, it's very difficult to navigate these platforms. If you're not tech savvy, had it remained within these platforms. This is our we wouldn't see so many people subscribing to the belief now, but it's sort of jumped the platform, you know, it went to places like Instagram and Facebook and things are far more common. And it also then started affecting communities that we ordinarily would never have been on the chance like your grandparents or your distant relatives, but let me move forward to your question. One of the things that said Sophia and I noticed as we were writing the book is that a lot of a lot of what we associate now with the ideology of QAnon is basically rehashed anti Semitism, but it's also conspiracies that have been around for like 20 years. So for example, the lizard people, you know, you've had this conspiracy theory about lizard people since 1999 that their, you know, humans are being replaced by these lizard human hybrids. And what happens with QAnon that's so unique to conspiracies because we've had conspiracy theories, pretty much since. John F Kennedy was killed. And, you know, reports coming out of DC were criticized for being redacted, and that the government knew something that they were not sharing. But I think what QAnon has done successfully more so than any previous group, or conspiracy theory has been to allow almost like an ala cart picking and choosing.  In other words, it allows you to have a virtual buffet, a smorgasbord, if you will, of conspiracy theories. And that's what I think QAnon has done really uniquely is bring together not just rehashed anti Semitism and existing conspiracy theories, but creating an almost like an umbrella organization, so that all these groups that previously didn't communicate and didn't interact now can come together. Right. So, but the through line is that there is a hero in this story, right that we have the anti heroes as kind of, you know, central George Soros, Hillary Clinton, but the the heroes in the story are Michael Flynn, the former national advisor to Donald Trump and Trump himself, right. And then, you know, allegedly a group of Trump insiders who are protecting his regime. So while there's this kind of smorgasbord effect that you're describing. There is this central through line in fact like really who knows if QAnon really would have emerged with the kind of popularity that it did. If that that through line wasn't there. I think that's a question that probably should test a little bit but Sophia you have written a lot about the psychological drivers that that bring people to this place where they're desperate for a sense of agency in their lives and to grab on to this kind of shared identity of, you know, belief in conspiracy theories and, in this instance, belief in the idea that Trump is going to save the world from this ring of pedophiles. How does that work exactly. So I think, as important as it is to understand how QAnon emerged on these dark corners of the internet. There are a lot of weird and crazy things happening on those dark corners of the internet. And QAnon is the one thing that took off the way that it did picking up millions of followers in the US alone. One, an interesting question for me was to understand what were the reasons that people gravitated to this particular brand of, you know, narrative that circulated. First clue came from their own writing and posting and just their vernacular, you know, they often use this term red pilling that comes from the Wachowski siblings, the Matrix movie where the main character is invited to see the actual truth about the world. And the reason that main character does that is because he feels that there's something fundamentally wrong about everything. So that is a feeling that is shared by a lot of QAnon followers that there's something fundamentally wrong with everything in their lives. So, looking in depth through case studies of these individuals and through interviews that they themselves gave several particular things emerged that they felt were wrong, and that QAnon offered them the truth that they found satisfying and a solution to this, you know, conundrum And so one of these things was the mistrust they felt to the government and institutions. And some of it had roots with the sex scandal starting with Bill Clinton's and then moving forward.  Another thing was their disillusionment with Hollywood, which was for many people, you know, age, you know, 40s and 50 was this ideal of the United States right all the best things about it. And then we had again sex scandals and the Me Too movement that emerged after that identified so many powerful people who were icons in that domain, who for years have violated the public trust. And engaged in, in sexual behaviors that were horribly inappropriate, including with minors. So again you see that reflected in the folklore. And of course QAnon really took off during the time that COVID became a global pandemic, and the lockdowns that followed we see a geometric progression in the number of people who engaged with QAnon content until then, it was trickling up a little bit me I mentioned in 2017, but we really didn't see this massive engagement until 2019 2020. And so being in isolation, as we all were, and feeling lonely and feeling scared about this new virus this pandemic that we didn't know anything really about how deadly it was how we could protect ourselves from it. You know, people went the only place they could go to find companionship and ideas and understanding which was the internet. And QAnon offered all of these narratives about the virus where it came from, who was behind it they offered scapegoats to blame for this horrible situation that people found themselves in, which was, again, satisfying. And one last thing also to keep in mind is that at the time that QAnon was really taking off on this massive scale. We had in parallel, these Black Lives Matter protests and George Floyd, you know, news that polarized our society in a profound way, and made a lot of people very uncomfortable. There are all these political conversations that some people just didn't feel okay engaging with and yet they also felt left outside and so this hashtag save the children became a safe escape route. You know, so you are still engaging in some form of, you know, social discussion about political things.  And it offered a way to connect with people on a plane that was feeling very dangerous and precarious to a lot of particularly white, particularly middle class people at the time of Black Lives Matter protests. So those four things, distrust in government, disillusionment with Hollywood, COVID, you know, fears, anxieties and isolation, and also the uncomfortableness that people felt with the racial issues that surface at the time gave QAnon such a huge edge and attraction that brought so many people to it. And so those are really interesting points and in fact, like what you're, what you're really pointing out Sophia is actually almost like slices of the electorate, right. And not just like slices of the conservative electorate but really genuinely slices of the American electorate that we have seen emerge over time, basically since like the late 1990s, early 2000s. And the growing distrust in government comes from a few different, I think, life events for people but also big historical events for the United States chief among them is 911, which was I think psychologically disruptive. And that threw up into chaos the entire conception of security and safety in the United States for every single American. And, and on top of that the emergence of, you know, intense aggressive high level, jihadist Islamist violence directed at Americans, Europeans, people in general, right and the kind of the graphic nature of that directed violence that political violence also set off a kind of alienation in a rift within our society around, you know, freedom of religion and protections for, you know, freedom of religion and started this new debate of course that we started to see how it emerged around 200345 and then that morphed into the tea party, which coincided with another disruption, which was the, you know, 2008 recession, right and that sent so many American lives and, you know, people all over the world were affected right and thrown into chaos and into free fall so again these sort of psychological disruptions that are happening out there in the world are being kind of reflected in our communities right. It's a really important piece and then that actually begins an entire movement and we know for a fact of course that many of the tea party members that you know became so prominent in the Republican Party, and so assertive, you know, have then since morphed into, you know, very hard right associates of the Q and on at least over an idea, even if they are not stated, you know, proponents of the Q and on view. They certainly seem to align themselves with a lot of the, you know, the principles and ideas expressed in the number. What do you think about that Mia. Certainly, what we're seeing is, you know, on the one hand, what Sophia mentioned about activating, especially middle class white women. When there have been surveys like a American Enterprise Institute did a survey, and then the Institute for the Study of Religion, few months later did another survey. And a lot of people who believe in the statements that there is a blood drinking cabal of Democrats and elites that are undermining Trump. We have been identified as Democrats and so we do see sort of some spillover effect from the Bernie Bros from people who previously would have been left wing. But for the most part we are looking at people who are to the right of the tea party, because think about people like Jeff Lake that are not, you know, radical enough anymore for the Republican Party. We have people that there's been a massive shift. Now, some tea party people did migrate to Q and on, but I think Q and on really captured the imagination of certain niche groups within the Republican Party that tended to vote Republican like evangelicals, and interestingly enough Orthodox Jews, which is so ironic, given the fact that there's so much anti Semitism and Q and on that along the research that we've done for DoD has included looking at telegram channels in Hebrew that are disseminating Q and on propaganda. But it has become so embedded within the American Republican Party. In part, we saw 97 different candidates that were in the primaries in the summer of 2020, and of which I think 24 went on for the November election, two of which, Robert and Green were elected. But we also have people who are very Q and on adjacent people like mo Brooks or Madison Cawthorn, or Matt Gates, all of these people who use some of the Q and on imagery. And as we're looking towards the next election, we're already seeing 46 people who are identifying as Q and on that are going to be in the primaries. And so we're so far ahead of the election, that it's guaranteed we're going to see more, including the tone of Ron Watkins, who's running for Congress. So I think that part of it is, it's, it's outshining it's sort of more Catholic than the Pope, as far as its radical views, compared to the Tea Party, the Tea Party seems sensical by comparison. But we are also seeing that Q and on is pulling in new people to the Republican Party, people who previously would not have been part of it. And it does create this cult of Trump, like this idea that is that savior, that Trump is the only one who can save the children, and that Trump was asked by the military to run for president, despite it was going to cost him too much money and he was going to lose out and he was you know, he really didn't want to do it. It's that trope that you see very often, you know, the leader who has to be convinced, you know, like Moses, he didn't want to do it, God insisted, like this idea that they are almost recalcitrant in their desire to lead the country, when in fact you know that at least for Trump's purposes he was not really resistant. And I think that also the last thing that I wanted to make sure that we talked about and that I mentioned is that while we have this sort of the big politics the top down effect of people who are running for congressional seats. We're also seeing a lot of Q and on infiltrating in the grassroots, as far as school board elections. And so Q and on is becoming embedded in this movement about children's education. So part of the book banning of, you know, the 1619 project, or mouse, or any piece of literature that might make someone feel uncomfortable. There are CRT and anti ethnic studies movements that we're seeing, both in high schools and in colleges.  So is it, is it uncomfortable, or is it threatened because I want to cast back to something that Sophia just mentioned which is this other piece here. This phenomenon of Q and on happens to coincide and converge with the me to movement. And we see, you know, this kind of pushback by women predominantly in a very public way against a paradigm that has been extant in our society since the year dot, right.  I think Sophia points out something very interesting, which is that a number of idols have progressively fallen that have anchored white culture. Let's just call it what it is white Christian culture. And the reality, the demographic reality of the country, and the power dynamic of that demographic reality has really shifted at the same time. And so, you know, we like to talk about sort of you know how critical race theory makes people uncomfortable but isn't it that they're feeling threatened, ultimately, and that the threat is what drives them to this sort of sense of a lack of agency over their lives, and a kind of need to reassert that through the conspiracy theories that they grab on to whether or not they're named Q and on or not. Have we seen this movie before I think we have. I can speak to that if that's okay. So, absolutely right in the book we spent some time talking about how the shifting gender roles, bigger than the me to movement preceding that have basically made a whole again slice of the population feel like they were caught between a rock and a hard place so these, you know white women who grew up with the idea of the 1950s gender role for themselves, you know as a wife and a mother and the single earner household, and you know, things that are not really attainable for those people anymore. You know they were without really voting for that themselves, they were put in a situation where their expectations for them now include some sort of a career and a job. And at the same time, you know when they're trying in that in that direction they often feel discriminated against and not paid equally with men, and all the house chores and childcare in the United States are still predominantly women's so it's like, you know, they're still doing most of the work at home, the expectations are pressing and, you know, the work they're able to get is not rewarding enough and doesn't pay as much. And at the same time so this is the on the gender roles for women but then at the same time you have men who also grow up with the idea of, you know, a job at a factory they can pay for a family of four to have a house of their own and their kids can go to college that went out the window and their masculinity feels threatened because they can't be the provider that they envision themselves to be in the future. And black and brown men coming into positions of power and being framed by a lot of political talking heads and a lot of the media as zero some conflict you know these black and brown men are taking away our jobs. They're taking over the meat market the dating opportunities and the trauma for lack of a better word or the discomfort as you as you said better people perhaps of that translates to not only the appeal of Q and on but we see the same issue in right of all of these online movements right where they want to go back to this 1950s idea of a white man, having all the power, and a woman being in her rightful place, catering to their every win right, we can see that in other identity based online movements where they want, you know, meant to have this power. So, it's gender roles in general shifting and compounded with this race issue coming up at the same time that just combined into a perfect storm that made the ground so fertile for these seeds of disinformation and and conspiracy theories of Q and on brought perfect storm indeed, Mia. Well, and that's, and that's the thing that we mentioned in the book and Sophia is better at explaining it even than I am but you know she talks about unfreezing. And I think that, you know, we are, we've had this moment of the social justice crisis with George Floyd we had a pandemic. So a global health crisis. It's a economic crisis where a lot of people are losing their jobs, we're being made redundant or like in the service industry. And so these things, you know, make people anxious to begin with. And then at the same time, a lot of what we grew up with, you know, the idea of gender being binary. Well, that's gone now. But there's lots of people who are like, Well, what do you mean like that was the thing that they could believe in that there's men and there's women and that's women and you could change, but this idea of non binary, the idea of trans, even for you know sort of not someone who was Republican not someone who would have put on a hood and marched with a Tiki torch to Charlottesville. This is very discombobulating. And so in a world in which a lot of the things that you were raised to believe in are now up for debate and discuss, you know up for discussion. That is the opportunity for these groups to come in and say no no no no, we're going to tell you the truth, we're going to make you feel better, we're going to bring us back to harken back to a golden age. And in some ways when you look at the jihadis that they want to go back to like the sixth century, you know back to a different time and earlier time. So they've idealized this past. And I think that when you look at the events, Candace that you mentioned whether it's 911, or the uptick in violence, the crash of the stock market. And these things Q offers an explanation to explain. Ah, it was the cabal behind it all. You know the, the fact that there was a Gulf War that there were no WMD that it was 911 etc etc, all of these things become part of the Q world to explain what's going on. And so when people are feeling like they've got so many questions and they need an explanation, and a movement comes forward and says, I have all the answers. Remember, remember Trump saying you know only I can only I can fix this. What Q and on does is it comes in and says, I have an explanation for everything, you know, and furthermore, because of the way it was structured, people are told do your own research, but all of these little Q drops had been preceded. So with someone's going to argue with you and say well no no no you didn't tell me what to think I did my own research. I came to this myself. Well you really didn't. You didn't come to anything yourself because these things were preceded in order for you to reach the desired conclusion, and the desired conclusion they want you to reach is that the world is messed up, and it's only this Q and on that really knows the truth that can help you to the light. Is it a coincidence that Michael Flynn figures so centrally in the story. Who is Q. You know for the most part, if you go by the documentaries, you're looking at Ron and Jim Watkins although in the book we talk about the fact that it's very likely whoever was Q posting is Q changed over time, and we use the analogy from the princess bride of the dread private that it's a different pirate. It's a different person that's becomes a dread pirate Roberts and it's the name. That's what it's, that's what's important, but people who have been studying Q and on since the very beginning, like Jim Stewardson actually think that it's Flynn, and they think that he's even created this as a psychological operation. And remember, Flynn was the first person that was mainstreaming Q and on to talk about his online warriors, you know his, his keyboard warriors were going to create this movement, and he also financially benefited for a very long time, so that a lot of the Q drops had links to Michael Flynn's legal defense fund, and that on Michael Flynn's website, which is now since been taken down. You had all the Q and on merchandise, and you could buy the books and you could get the t shirts. And so in many ways, it's what Sophia describes as a mass movements, more so than you know this compartmentalized non state actor like we have with most terrorist groups, like most terrorist groups. Right I mean we reported on that extensively as Mike Flynn's profit profiteering off of the movement itself. I think there is now I think a number of questions are being raised about Cohen pullback who is the documentarian and HBO series as to whether or not his orientation. In fact, perhaps compromised him in some ways and compromise compromise a storyline and in fact whether or not, even Ron Watkins, you know, being propped up as, you know, the other Q, or part of the Q inner circle, may in fact be its own disinformation campaign right. I didn't like the documentary for a few reasons one, because it turned Frederick Brennan, who isn't a good guy into sort of like this hero figure, but also, I'm not sure what the benefit was of using GoPro cam video from Christ church, like, we've agreed as a society, not to share videos, and even though they didn't get to the point in New Zealand where the killing started, the fact that it used any of Brenton Terrence video made me incredibly uncomfortable, because you know we've signed on to this agreement that, you know, you don't share this material, and it felt very strange. And so like I had my own issues with the documentary that had nothing to do with whether they propped up Watkins, I think that both for vice news and HBO the idea at the point that was if you unmasked who Q was whoever was posting, that that would undermine the movement.  It's too late. A lot of people who subscribe to the ideology, no longer care who the person of Q was who was posting. Right, so by the time we arrive on January 6 2021. You know, you might even see some strands of that kind of factionalism almost within the movement where some are still doing their own research trying to figure out, you know, whether cues various projections and predictions are aligning with the ideology as as it's being spun or if it fits with their particular conception of reality. That's sort of I think one faction and then there are those who are extremely committed to the idea that Trump is the hero of the story and Flynn is the kind of the knight in shining armor who helps assist defend Trump from any kind of slings and arrows that liberal elites might be throwing at him. And then there's, you know, another group that is kind of lost right I mean, they're probably more groups than I'm describing I don't think there's three neat categories. There are folks who have been doing nothing, but spending their time online. They're out of work, or they're locked down. They're extremely isolated they were already probably headed there. Sophia was alluding to earlier, for some reason or another in their own personal lives but also just because of the communities that they reside in. And we have a situation where from the outside this looks like an extremely irrational group of people. Right. So what's your rationality there, Sophia. I think so, I think it's a mistake to discount Q and on followers or people who believe in these conspiracy theories as crazy. One reason is, they're just so many of them. And as a clinical psychologist, you know, I can tell you the rates of mental illness are nowhere near as high as the rates of following Q and on. Mental illness alone cannot explain this phenomenon, although it's true that in our data and in J. Now we have an article from Jensen and keen from start who looked at pirates data. And me and I just submitted an empirical research paper on hundreds of Q and on followers. We do see a higher than expected prevalence of people with mental illness, it could be that they're drawn to it. Because of all the lurid, you know, narrative structure, or it could be that being immersed in this very disturbing content day after day actually triggers or exacerbates things. So it's, it's not that they're crazy for the most part, although there are some people who are not mentally well among them. It satisfies a number of very important needs that, you know, we could do better as a society satisfying, you know, the disbelief in science that you know that they expressed through questioning of moon landing and questioning of aliens and the space lasers you know it's, it's a convoluted way of saying they don't believe science, and they don't believe medicine. And we have to recognize that so many people in this country are not able to gain access to medical care. And when they do it is so expensive that they have frustrations and very real grievances that can, you know, manifest as this narrative that that the kind of feeling left behind by the educational system which you know they they they talk about in a form of their disdain for the elites, whether it's elites in Washington DC or elites in Hollywood or you know rich people like George and Bill Gates, right, that's another way of relating to people over the shared grievance that, you know, we've been sold this idea of the American dream, where if we just work hard and get an education, we can have a good life.  That's a legitimate grievance that we should talk about openly. So the people who feel it, don't, don't think that the only place they can discuss it is the shady corner of the internet. So I think some of the remedies for QAnon appeal are potentially very good for all of us, not just for them. And I don't think it's crazy to have these, these issues. And I think it would be very helpful to, you know, to deal with them in a productive way, which QAnon of course is not but at least it gives the platform, and it brings people who have these grievances together, and it gives them a shared language to talk about it. So is it possible that I want to go back to hook onto this question of grievance. I mean, I think we've got a situation now where it's pretty clear the Republican Party has become the party of grievance. In so much as it, it articulates those very grievances that you're talking about, right. It seems to give a megaphone to a variety of, not just Trump, I mean Trump is obviously one of the most powerful and charismatic figures in the movement for Trump and very influential but he's not the only one that picks up a megaphone and articulates this grievance. It's not like he sort of pulled it out of the air it's it's in the air already, it's in the water, right. And it seemingly is in the bloodstream of the political system, by contrast, I would, I would argue, the Democratic Party, despite acknowledging the grievance doesn't necessarily give voice to the grievance. And that is where the friction really comes, right. This party of Big Tent has so many voices in it that there is no real one megaphone, right. And, and so the signal coming out of that party. It sounds weak. Right. It's not, it's not capturing this very loud pulsing signal that there are serious problems. There's problems with the ability to get healthcare there's problems with the ability to, you know, make a living and extract yourself from you for decades of debt, whether it's, you know, school debt, car debt, home debt, it's debt debt debt right we live in a debt culture, which, you know, in a, in a country that was essentially founded by a bunch of folks who are obsessed with the idea of economy, right, and thriftiness is a huge psychological problem. Right. I mean, if there's one thing you can say about American roots from a European perspective, right and all the Europeans who came here and colonize the country, etc, etc. This kind of fundamental thrifty crafty gritty character is is America, and the fact that you now no longer have the ability to grab on to that fundamental sense of America, because all avenues are cut off for you. Are frankly, right. Really. And I think that's where the the rift becomes even more powerful in catalyzing some level. We have a few questions coming up but let me just me I know you have something to say. So let me give you a word and then I want to get into the audience questions and we have some really good ones here. I think that one of the reasons you know we did a study of the save the children that is being published. And again so ours is the first academic book and there haven't been a lot of academic studies, but we wanted to approach the study of Q and on, you know, seriously from psychological perspectives, political perspectives, and so we actually looked at the save the children campaign, and it was 97% of the children that are depicted are white.  And then of course when you look at save the children, the save the children campaign which is a real charity is disproportionately operating in the global south and so also save the children are not white. And so I think that there is there is an element of Q and on and whiteness that we need to acknowledge. At the same time, Q and on is trying to make inroads because it's running for school board and local county elections, it needs to have people of color. We're seeing Q and on spread to Latinx communities. We're seeing it spread all over Latin and South America in Spanish. And so it's this really strange thing, like with the orthodox community I mentioned before, that you can have an ideology that is really front and in the picture, kind of white racist supremacy at the same and reusing all of these horrible tropes.  Yet they are appealing to people of color so that's the reason we wanted to sort of use this as a clarion call to say don't be fooled. As Sophia says in the book there are so many other better ways to help the children and to combat child trafficking. For example, the McCain Institute in Arizona. John McCain before his death worked very closely with Amy Klobuchar across the aisle to fight child trafficking. And so fighting child trafficking is good, but not through Q and on so I really wanted to make that clear to the people in attendance today that there is an element of racism that is beneath the surface that if you're looking for it you find it, but you have to actually be aware that these are the tropes that they are manipulating. Well, and I would argue that some of us don't have to look beneath the surface to find it. But having said that, I do think there's some other questions here that I think are super interesting that maybe we can explore a little bit. We have a question from Lance who's in our audience, which also dovetails from Tim, who is also in our audience from the UK I think these are kind of interrelated questions. The question is, let's talk a little bit about foreign actors and how they can, you know, feed on this phenomenon in order to create more divisions. And also, how is it that, you know, all the way over in the UK, we have people in the kind of cult worship of Trump and Michael Flynn, we have, you know, Japan, as you mentioned in the book, as you know is one of the biggest places for Q and on phenomenon to be so popular. So how is it that we have this kind of, you know, one phenomenon that opens up the United States to exploitation from foreign actors, particularly state actors like Russia China. But then also what what explains the appeal in other countries. Well, one of the things that we mentioned in the book, and I mean, at the time we now have overwhelming evidence at the time we were seeing at the out at the outset in October of 2017. A lot of the Q and on quote unquote influencers were amplified by Russian accounts bots Chinese accounts their bots. And so the fact that there was a maligned foreign influence involved in getting Q and on off the ground is consistent with what we saw in the foreign attempts to manipulate the election. And also, the idea being that Q and on undermines our belief in democracy and our trust institutions, and you know the media that we consume. And so it really does get the bullseye of the American experiment. So in the irony was of course that the spillover effect is you can't contain it. And once you had these online movements, especially because these Russian companies became the platforms of choice for Q and on. We have V contact and telegram, and then a Chen becomes a coon that we now have a problem in Russia, as well, so that the Russians may have helped amplify Q and on, and now they are suffering from it. But to the UK thing you have an influencer their name Martin Gettys, who was very influential and comes across as this you know pseudo intellectual, but what was great for us about Martin Gettys is, Martin Gettys would point to specific things like I can't convince you I'm not drinking the blood of children, you know, to avoid getting coven 19 or to stay young or whatever else. So when Gettys went went so far as to say oh this idea of where we go when we go all it's from the bell on John F Kennedy's boat. Well, we can find a bell and so we actually went we looked for the bell, and there are two boats. The Vitura which is parked right at so you mess Boston, and then there's the private Kennedy, I guess, it's it's their own boat, called the honey fits, and neither has a bell. Give me something tangible, I can show you that it's disproven. But furthermore, the image that Gettys was circulating came from a film called white squall from 1996. So that's where Sophia and I were like well wait a second we have all this stuff in Q and on that is literally plagiarized from Hollywood plot lines and from literature, and from anti Semitic, you know tracks from 1903. And so, very little of it is actually original. But I think the reason that we're seeing this is that it tends to resonate, because people will be like well wait a second I think I've heard of this before, not realizing that they've seen it in a film. But we definitely have the role of malign foreign actors that are not just going after our democracy, they're trying to get after American troops, like they're doing these multi pronged approaches to basically weaken the United States from within. So Sophia wants to jump in here let me just note that the track that you mentioned the protocols of the elders of Zion, the 1903 was actually manufactured by the Russian secret police at the time of the czar in order to target Jews, who were convenient scapegoat for the fact that the czarist empire was failing and crumbling under the pressure of the war between Russia and Japan at the time. So just putting out there that actually, some of this stuff is so old that it's kind of scary. So if you. Yeah, I just wanted to add in response to your question can just about how the foreign spread happens. So the interesting thing about Q and on its, is its ability to morph and adopt and so when it starts going beyond its origins. So in France incorporates the yellow jacket movement in Russia I actually analyzed a lot of Kremlin propagated Q and on material, and what happened to it there was that the scapegoats as you say, changed from, let's say like in the United States can I would say that covert was manufactured in a Chinese lab. Well, in Russia they want to be friends with China. So instead of saying that covert came from China they said that covert was manufactured in a NATO lab in Europe, because NATO is their go to villain you know, and whereas here you know we have these narratives about Hillary Clinton as being this horrible villain that eats children pretty much there in Russia Hillary Clinton is not really a political entity that anybody has any emotional resonance with.  But in the Russia base tune on folklore.  Right. So it really feeds into the kind of, I don't know, the psyche and falls into the right place and the right drawers. I mean the story of vampires obviously coming out of the barrier, right, you know, at a time when there was an enormous pestilence actually that run rampant over the country, and the cure was to you know string garlic very similar. So you know this kind of new age, you know, phenomenon or response to what is a public health emergency, but the public health emergency as you just pointed out Sophia is beyond. Right, it is, it is deeper than that it's more deeply rooted. It has a lot to do with a long history in the United States, in particular, of pushback against the idea of public health, being the responsibility of government to some extent right and being also a collective responsibility of citizens the public health actually is something that we share together as opposed to this very individualistic kind of view that we often have been raised with and of course is very fundamental to our culture. I want to get to one more question here with the five minutes that we have. I think it's really important to kind of talk a little bit more about it's just how we move from the involuntary celibate movement, which is essentially mostly young men in their 20s 30s, maybe teams who are obsessed with gaining. I'm not sure if it's a touching game gamer date me, but I think a lot of people may not know that that evolved out of a desire to target women who were game software engineers, and you know, who young men felt didn't belong in the conversation but a long story about you know, and a particular couple in fact that we're having a lover spat essentially on one of the chance that evolved into a kind of tribal hatefest between men who didn't want to see women in their space, basically, a space that could serve for shooter games, and so forth. It's also important to point out that us, you know, at that same time, this is around 2012. We have the rise of what are called alternative reality games. Right. And these kind of interesting, what we now see is Pokemon go right like to go out there and find your Pokemon in the park or at the, at the Nike store or wherever. And this kind of fusing of online gaming culture with real world treasure hunting, which is like a perfect match for helping you feel as if you are engaged in a secret world on your own and we know that one of the key characters who has often been mentioned is kind of the lure about Q and on and its origin is Thomas Schoenberger, who was, you know, one of the game masters or at least want to be game masters for an alternative reality game called cicada 3301, which many people know is the best of some sort. Nobody knows really its origins were the greatest internet mysteries of all time. Nobody knows where it came from but everybody knows that it was a game that went on for a couple of years, and had a lot of cryptic questions and encrypted codes and clues, and drew in a lot of young men from that same movement. Right. And somehow, at some point, these things, the convergence of the in cell movement, the alternative reality game movement start to converge at a time when in 2012 1314 when the Internet is being transformed by social media platforms like Facebook and Twitter, which, you know, before 2012, didn't have the like button, didn't have all these features that would push up certain types of content and augment and and amplify content that people found either outrageous or interesting so one of the audience members was, you know, do you think this has been a big driver. If so what does it mean when we look at today's Internet in the platform culture. How should we interpret also the so called sort of mini death of Q, after January six after Perler, one of the chief all tech platforms was taken offline briefly. And so we need this interaction between the change in trajectory of the old tech movement, and then, you know, the death of Q and the lack of kind of matching up of reality and predictions. So part of the really interesting part is that, although cicada 3301 was very male dominated we actually know lots of women who were participating, and it was about exercising your, your knowledge and in cryptology and other kinds of you know, figuring it out. Now what happens as people figure it out, they get a dopamine hit in the same way that people get dopamine hits from seeing their posts shared and liked you know the thumbs up button on Facebook. And so I think that that is a common thread, which unique about Q and on from 33 from cicada 3301 is the role that women played. So people like Tracy beans, or are some of these women, Republican women who spread it on Instagram. And then we know that the two candidates who actually ended up women were women. So I do think that one of the reasons we use the word pastels in the book was to talk about the fact that women have been, you know, not necessarily at the forefront of the movement because it's it's pretty clear that you know Q as they were posting at different times was likely male, but they really were very influential in disseminating and making it mainstream. And that when women took it off in like, took off with the movement and on Instagram. That's when it became something that needed to be reckoned with. And we're seeing this with regard to January six, as we're looking at all of the women who were involved in funding January six so maybe a small number of women have been arrested as a result of the insurrection. But when you're looking at who funded it, you're looking at Amy and Kylie creamer, you're looking at Thomas, you're looking at even Julie Jenkins fan Shelley who is the heiress the public's fortune, the supermarket fortune. And so we see so many women that are sort of behind the scenes and I think in many respects. This is mirrored and in Q and on, but less so when we're looking at previously the chance and gamer date which was pretty much a male dominated environment. Well, so maybe your next book, or maybe the next edition, you know when it comes out after being a bestseller. We can have a new chapter on what happened after January six to all the women who are involved in building movement. Unfortunately, we're out of time but man what a conversation. First of all just want to commend me and Sophia. Thank you first. First of all for joining us but most importantly for writing the book. The book is called pedals and pedophiles inside the mind of Q and on please pick it up take a look at it. I think it's one of the best books I've ever seen on the phenomenon. And I hope you will too. Thanks for joining us here at New America.


Greetings, Amador Valley High School Seniors. We are so excited for you with your baccalaureate and your upcoming graduation. My name is Henna Khan-Mukhtar, and I'm speaking on behalf of the Muslim Community Center in Pleasanton. We would like to congratulate you on all the perseverance and patience and resilience that you guys have shown this past year. The whole world has been struggling with this pandemic, and I know that we all know that you guys must be a little disappointed by the senior year not turning out exactly how maybe you guys had envisioned, but all your teachers and your families have been rallying around you to give you the best year possible. And I wanted to share with you the Islamic perspective on how we're supposed to respond to different situations that we find ourselves in life in order to have success. So there's four situations you can find yourself in life. The first is you can find yourself in a situation where you have a lot of blessings, everything's going well, exactly the way you want, life is great. The second situation is that you're in trials and tribulations, life is difficult. And there are a lot of challenges. The third situation is that you're in a state of obedience to God where you're doing what's expected of you and you're quote-unquote behaving. And the fourth situation is a state of obedience to God where you're following the rules and doing what's expected of you. So every one of these situations, according to the Islamic perspective, requires a certain response. And if you know the correct response to the situation that you find yourself in, then we're told by our teachers that you're on a good track on the path to God and on the path of your Lord's pleasure, divine pleasure. So what are the responses to the four different situations you can find yourself in?  If you find yourself in a state of disobedience to God, then your response is supposed to be one of repentance and asking for forgiveness and changing your ways. If you find yourself in a state of blessings, then you're supposed to show gratitude and be grateful and just thank God for everything that you've been given. And if you find yourself in a state of trials and tribulations, which many of us have found ourselves in this past year, then the response is supposed to be patience and perseverance and knowing that this too shall pass. And so I wanted to remind you all that hope is around the corner. There's a light at the end of the tunnel.  And you're going to be grateful for everything that was done for you and given to you these past four years.   God bless you and have a wonderful graduation.


Imagine we have an infinitely long line containing uniformly charged distributed over it. The question we want to try and answer in this video is what's the electric field everywhere? So if you take any random point p at some distance r, what would be the electric field at this point? That's what we want to figure out. Now very quickly you might say, hey, we don't know how many charges are present. How many charges are there on this line? Because the electric field depends on the charges. Well, because this is an infinitely long line and charges are uniformly distributed, that means the total charge is infinity. So how do we represent the amount of charges over here? Here we're going to represent something called the charge density. It's a number that tells you how crowded the charges are. So if the charge density lambda is more, it basically means there are more crowded, charges are more crowded. On the other hand, if lambda is less, it means charges are less crowded. And if you look at the number, it tells you how many coulombs of charges are present per meter. So if lambda is say 10 coulombs per meter, it basically means every meter has 10 coulombs of charge. So let's say we know the charge density. Every meter has lambda coulombs of charge. That's given to us. Now how do we figure out the electric field at point p? Before we begin, another question you might be having which usually doesn't get asked in exams is why are we doing this? I mean, infinitely long things, like do they exist in our... I mean, do they have any application in our real life? Yes, they do. Imagine you want to calculate the electric field close to a lightning strike. Now a lightning strike, this is very long. It's not infinitely long, but it's pretty long, kilometers long. And I imagine you want to calculate electric field some few feet away from it. Now, when you consider the distance of few feet and you compare it with the few kilometers, you can pretty much assume that this lightning strike, this length is pretty much infinity. And so you see, whatever answer we're going to get over here can be applied to a lightning strike and people do that. So in short, in real life, this is applicable when you're dealing with very long things compared to the distance at which you're calculating the electric field. So it can be applied. All right, with that said, now comes the question, how do we do that? Now, of course, the title gives it away. You might already guess we have to use Gauss's Law. But I want to really ask the question, why do we want to use Gauss's Law? I really want to first come towards that question. And so to do that, we will first forget about Gauss's Law and think about what do we already know? Well, we know Coulomb's Law. That's all we know so far. If we have any point charge Q, then we know electric field due to that point charge Q is going to be equals Q divided by 4 pi epsilon naught r squared. So the first question that I have is, can I calculate electric field over here using just Coulomb's Law? The answer is, yeah. In fact, you can use Coulomb's Law anywhere. The problem is I can't do it directly because this is not a point charge. It is, you know, a distribution of charges. And so really, the first question I have before even we think about Gauss's Law is, how would you use Coulomb's Law over here? And that's the question that I really want you to think about because that'll help you understand why we're going to apply Gauss's Law later on. And because I would really want you to think about this and also make the rest of the derivation an interactive experience for you where you and I can work on this together. I'm going to pause over here. In fact, I'm going to stop the video over here and we'll move on to our Khan Academy website. In these new articles, you get to interact and try working things out yourself first. Turns out this is a much better way to learn than just me telling you what to do. And so let's continue by moving to the next article. And of course, if you're watching this on YouTube, you can click on the link over here to take you to our Khan Academy article. All right. Happy studying. See you over there.