How's everyone doing? I'm Alex. Thank you for coming. I built software to help understand human behavior. And one of the sources I based my research on is electricity. You see, the body is an ocean of electricity. Everything we do is facilitated by electrical signals flowing through our bodies when we speak, when we move, even when we're just simply breathing. The way we recharge ourselves is by, of course, resting and feeding. Well, today, we're going to use JavaScript to witness some of that electricity, specifically the one coming from our brains. So before we get started, I'm actually going to need a volunteer to join me on stage. And hopefully someone without a dirty mind without a huge head, so we could feed the headset here. So who's up for the challenge? Is someone there? Someone here? Your head is not too big. You there. Yes, please. How are you, sir? What is your name? Mike. Nice to meet you. Where do you come from? Holland. Awesome, man. Well, thank you.  So thank you for coming. Oh, OK, so we'll see if that works. From here, it looked like you had a head that would fit this, but we'll give it a try. You can grab it real quick, just so you see why it's going to be in more up here. Yeah, yeah. Right, so before we get started, let's try to put it on and see if it fits fine. OK, wait, not too fast. Let me try to adjust that you do have a big head. It's fine. This headset, in particular, is medium-sized. So it fits me, but it doesn't fit a lot of people. So let's see, it's adjusting here. OK, so wait a little more. OK, maybe it's not too small. Is it comfortable? Yeah. You think so? But it doesn't go quiet down. All right, can we try someone else? I'm so sorry, man. That's fine. Yeah. Hey, please give it up for Mike. Sorry, I promise I won't embarrass you. You think this is going to fit? OK, looks pretty big. What is your name, sir? Please come. What is your name? David, thank you. All right, let's give this a try. Oh, yeah. OK, let's see. Oh, perfect. OK, but don't tell Mike, OK? OK, do you feel this spiky here? A little spiky. OK, do you feel it here? Is it too tight on the sides? Oops, wait.  What about back here? Do you feel it? OK, I think it's pretty much all set. So the next thing I'm going to do, I am going to, can you hold this for a second? I'm going to bring down these little plugs for the earlobs.  All right, so I'm going to turn it on back here. If you don't mind standing up and just turning around so they can see the blue light, or not. OK, so something that I didn't tell you, my bad, I'm going to have pseudo access to your brain, if that's OK. And you have nothing to hide, nothing to hide. So if you're insured, if you're the right person right now, just like, calm down, just focus, and think of something appropriate for the situation. Awesome. OK, so let's just do this, right? So what I'm going to do, I'm going to launch my demo here. And is this going to be a quick image? It's going to be kind of like first thing that flashed as a demo was kind of like booting, right? So relax, it's going to be OK. Ready? All right, one, two, and I'm just kidding, that's not it. Yeah, but now seriously, I'm going to go to my node terminal here. And I'm just going to launch my node app, which is the entry point for this application. I'm going to do a npn, run, visualize. And what is going to happen is that node is going to crash. Oh, typo scores. If there's anything that's going to go wrong during a talk, it's your demo, always. OK, node is going to open the app. It's going to start communicating with the headset. And we should start seeing some activity, some data samples. And it's going to probably go pretty fast. It's the Angular CLI. Don't even tell me. So actually, give me one second. Let me make sure it's properly turned on here. Give this another try. OK, last resort is just on blog. Plug it back in. All right, I think it's going to be good. Awesome. So right now, what we're seeing is we're getting a lot of data from the headset. And if you start looking here, there are around three channels that are not changing values, which is four, five, and six. So I'm going to make sure that they're making contact. Channel one is fine. Two, three is this one. It's fine. Four, two here. OK, we're almost there. We have then this one.  This one is a little tight here, right? If you're uncomfortable at any point, please let me know. What about there? You're OK. Oh, I see this one. I'm making a lot of contact. So I'm going to just, OK, we're almost there. There you go. OK, one more. Right here, here, it's fine. One, two, and three, four, five. I think this is good for now. There you go. So all kind of stuff making sense. So what I'm going to do is now launch the real app. We have some activity here. All right, so you're very relaxed. That's good, OK? Now what I want you to do is just let's start with the muscular part first, and just try to clip your jaw. OK, good. Now try to blink a few times a little harder there. Are you really blinking? OK, there you go. So we're getting some electricity. Awesome. Great, so what we're seeing right here is in real time this headset, this device, is capturing the electrical impulses from the brain in real time. And I'm receiving it. And at the end, it basically appears in the browser. Another way of visualizing brain waves is by actual frequencies, right? What I showed you before was a time series. And now we're seeing this in frequency waves. Great, so far so good. By the way, I hope you read the fine print. OK, so what just happened? This is what I call neural JavaScript. And what neural JavaScript is, it's a combination of a lot of things or a few things that you might be familiar with put together, including isomorphic JavaScript, both on the server and the client, neural technology, as you can see here, the headset, some data science, of course, data visualization, and, of course, open source. So let me break down the way this actually communicates. I don't know if you can see that black part there. There's not a lot of contrast. OK, starting at the top left, you have the headset. It's called the OpenBCI headset. And via Bluetooth, it sends a signal to this USB dongle that you are probably able to see right here, which is part of the kit. And that USB dongle, I hear that word, connects to the computer, of course, and communicates with my node application via the serial port, which is pretty much reading the information directly from the USB, which the headset is sending, serialized, serialized here, ultimately getting to node. And that is when the actual work starts happening on the software side, of course. Then via WebSockets, we send this data to the browser. Of course, there's a lot of manipulation done to this data for the browser to be able to interpret it in a friendly way. As you can imagine, we have seen the data in frequencies, in time series, so there's a lot of parsing being done on the data side. Some algorithms, for example, the FFT, Fast Forward and Transform for the frequency. But also, the amount of data being sent to the client is specifically trimmed down to something that the browser is not going to be overwhelmed by. So again, we go to the headset via Bluetooth, and I want to break down each one of these pieces. The first one, the headset, is OpenBCI, and it stands for an Open Source Brain-Computer Interface, which was created and manufactured in New York. But the great thing about it is that it's open sourcing both hardware and software. This one here in particular was treated printed right there at the office, and I guess there are offices, and you can see here that most of that is the plastic, is that treated print. And then ultimately, if you don't mind standing up, and just turn back so they can see the board, we have the OpenBCI board, which is actually where all these sensors go to in order to process that signal. Great, and the cable. So putting this together, you can do it yourself by the board, by the sensors, and then put it together at home for an affordable price. A few years ago, when the technology was not there, mostly for medical research, something like this would be over $30,000. Now it's like a few hundred bucks, right? You can see that there. And that's the OpenBCI headset in a nutshell. If you want to find out more, you can go to OpenBCI.org, but later. This is an illustration of how it comes together, all the little pieces. It's actually not too bad. There's some complexity, but everything is well-documented and on GitHub as well, including all the 3D design. The USB dongle, which is part, of course, of the kit, is just based on Arduino. If you're familiar with the Arduino microcontroller, that family, this one uses a radio frequency and Bluetooth to communicate with the board. But it's custom-made to work with that headset specifically. And then we get to the serial port part, and we have no JS. So I don't know how many of you have worked with the serial port. I have some friends that were the ones that developed this whole SDK. But the idea is that the connector, in this case, the serial port, could be swapped for other things like Bluetooth directly to Node or Wi-Fi. So right now, we're doing serial ports. In the future, we're going to have the ability to use more connectors. And it's being developed also right now. Great, so on the Node side of things, of course, it's on the NPM ecosystem. And you can simply just do an NPM install up in the SDK that will get you the package that would get you the class that is going to allow you to listen to these events. At the end of the day, everything coming from the headset and receiving Node is converted into an event that can be accessed easily with an SDK. If you're interested in knowing more about the Node side of things, you can definitely go to the repo. I'm going to have some links up here later for you to see. But as you can see, at the end of the day, we get a data sample. But what is this data sample? So this headset, in particular, has eight channels. And you can see them mostly here. Not all of these nodes are being used, but eight of them are in very aesthetic places. It uses a grid system called the 1020. And it's actually interesting, because the event numbers are on the left, the event are on the right. And when you're doing some research, you can see some interesting activity happening more on one side of the brain than the other. And that is something definitely positive. Great. So we get channel data, which is eight channels. Each one coming from the headset in order. So you have channel one, two, three, four, five, six, seven, and eight. And you have two on the back, right? We have some auxiliary data that we're not going to go into in detail today. But it's pretty much data coming from the accelerometer, because the headset also features an accelerometer. Then we have some other data like what is the start byte, the sample number, what is the stop byte, and all that fun stuff. Now, we're getting a sample. We're getting one of these every four milliseconds. That's pretty fast. That is a very good sample rate. It provides a very decent, high quality data from the headset. So when you start working at that level of something happening every four milliseconds, and then you have to plan how that data is going to be manipulated and channeled through your app, it becomes a very interesting challenge. So definitely had a lot of fun on the notes as well as the front end. Ultimately, we get this to the browser via WebSockets. How many of you have used WebSockets before? Very cool. Yeah, lots of fun. So the interesting part about WebSockets is all of them in grades is that depending on how many events you're sending to the client, it can really affect the performance. So limiting the amount of events from WebSockets is going to be something that we need to take into consideration while developing a UI for this. Now, the UI, I'm using some technologies that you might have heard. One of them is Angular 2, which is what controls, I say the DOM, the change detection, and then I'm using some data visualization libraries based on different technologies. Of course, well, Smoothie is based on Canvas, ChargeJS is based on Canvas, Floodly has Canvas, it has WebGL, 3JS definitely has WebGL. So I'm mixing these technologies because the type of visualization that we need here, there are a lot of them that not a single library is going to satisfy all of the use cases. Awesome. OK, so clear your mind one more time. You'll be awesome. Just keep any theory thoughts away because I'm going to show you again and start explaining you about the implementation of the time series in real time, a lot of time. Great, so our app is still running. And here, when we see the time series, you can see that the numbers here on the left are, do you blink right now? Do you burp? I noticed something there, something happened. There you go. OK, so the numbers here on the right are actually the amplitude, right? And you're going to see positive as well as negative numbers. And you have a lot of negative numbers, which is something as good or bad as positive because it's really nothing to do. It's going to, the energy is going to flow up and down. So these are just changes of amplitude. They don't mean anything in particular as far as when they're negative and positive, just something to have in mind. Great, so what I'm going to do now is that I'm going to show you how this is built. And you can take a break from that, so your head doesn't explode, thank you so much. There you go. Are you OK? Good, awesome. Please give it up for him. Right, I unplugged it and I turned it off. And I'm going to stop my app real quick. It already stopped. And let's talk a little bit about Angular 2 and some data visualization. How many of you have used Angular 2? OK, good amount. So this is one of my first projects using Angular 2. I've been using it for over a year now since it's been developed in beta and reduced candidates. So as you might be familiar or as you might know, right now, one of the options is to use TypeScript, which is a very friendly way of developing an Angular 2 in particular. I use it when I do a lot of Angular 2. So the code that I'm going to show you here is based on TypeScript. But you're going to be familiar with it if you have used, let's say, Babel or other transpilers. I try to keep the TypeScript-specific code out of this presentation. So it's a little bit easy to understand for everyone. So in here, we have some module imports. And from the Angular API, we're getting some of the things that we have available, like components, element reference, and then we have some hooks. So I'm going to explain the component cycle of Angular so you know how this is all connected. This time series is based on Smoothie, which is the best library that I've found for streaming data, mostly with a time series, of course. And we're getting some classes like the Smoothie chart and a time series. And then we have some app-specific code and, of course, sockets. So this is the component metadata that I have created for the time series component. And as you can see here, we have a selector. If you're familiar with Angular 1, please raise your hands. You said before. All right. You're going to see the selector, which is not different from the Angular 1, even just like path as a string. But you have some template URLs, some style URLs. And then we have some providers. It's kind of like a way of dependency injection. In this syntax here, the ad is just metadata. It's called annotations. And it's definitely available in TypeScript. So after that, let's talk a little bit about what is going on on the view. The most important part here is that we have a canvas element. And that canvas element, it has an ID, right? And you can optionally pass some width and some height. But what's going to happen is that from the Angular world, we're going to target that element. And then we're going to stream the data via Smoothie. So let's see how that looks like. In my class definition, this is kind of like the top part. And it continues. And I'm going to show you everything. But if we explore a class, let's say time series component, we're implementing here some of the hooks. For example, they're on init or on destroyed. They're part of the Angular 2 lifecycle. And we need this because I'm going to show you right now. We have some dependency injection here. I'm creating a view. This is basically a reference to the element itself. Let's say the view that we're referencing from the component made of data. We have some constants. We have sockets. We have a service that has some utilities. And then, most importantly, we're creating a Smoothie chart here. And then we have some data containers, in this case arrays, for amplitudes and timeline. So I'm going to run the application in simulation mode. So I can walk you through what these things mean. Great. This is the simulated. It looks way better than the real brain waves. But at the bottom here, we do have a timeline in seconds. Then we have the amplitudes. And then we have the channels here. So what I'm doing is all that data is being passed from the node side via sockets. So when I initiate the component, I start by basically initializing the Smoothie library. And then I'm listening to the socket events. In this case, it's just a string that matches the event being emitted from the node side of things. And as I receive this, in this case, I believe it's an event each like 32 milliseconds or so. No, actually, I'm buffering a lot on the backend. And I'm sending it. And then I'm reusing that buffer. So I think it's more like probably one second of aggregated data. But yet, it's real time, and it looks completely in sync. So what we get back is this data object that contains the amplitudes, the timeline, everything I need in order to fuel this chart. And ultimately, I'm using a method that I created called Append Timeline Serious Lines, which basically, it's what are those lines are moving up and down that you see for each one of the channels. And it's important to think about the channels here, right? And be mindful that everything you're going to be here doing is based kind of like at the channel level. So ng after view in it is another lifecycle hook. It's basically when the view is ready. Think about it as a kind of like a jQuery document ready function. And the view has a property called native element, which is just basically a reference to the DOM itself. And we're querying the DOM and looking for the time series ID, which matches our canvas object. So that's how the connection is made between basically the DOM and JavaScript. Also, we have, for each one of the lines, basically each one of the channels, eight iterations. We are adding time series. And they contain a stroke, which in this case is mapped to colors that I have saved on the front end. So all the different colors are basically being referenced here on this iterator. So these two functions are very similar. If you see them, the thing is one is pretty much adding. The time series are basically initializing the data stream for each channel. And the other one is appending. So the one previous, the one, the adding time series is called once. And appending time series lines is called each time we receive a socket event. And it's just basically an append to the smoothie time series object with the current time. So far so good. Ultimately, for this type of data visualization, it's very important that when the component is destroyed, meaning it was removed from the DOM, we are removing the socket event listener. Because otherwise, it can be just lingering. And it can just build up and use some of your memory there. So it's definitely recommended to remove listeners or from the socket event as the component has been destroyed. Let's say you're switching tabs. Then you don't need to receive events from the other components. Great. These are just other things as part of the same chart, including some of the, let's say, the channels. Actually, this one is for the amplitude. So I'm going to an array of eight items. And for each one, I'm using data binding in Angular 2 to display the proper value. And Angular 2 is great for this, just like Angular 1 or any other framework. And here, as you can see, this is basically a for us loop that we have in the DOM. And the directive is just ng4. So from previous version of Angular to this one, it's a little closer to what JavaScript really is. And this is basically the time value at the bottom. Great. So let me take a pause here and show you a little bit of other type of data visualization that we have, other than the frequency line. We also have a frequency radar, which is basically the same frequency, but just display a sphere. And we also have some bands, which is very interesting because in this type of data visualization, we're seeing the amplitude electricity for each one of the frequency bands. Who is here familiar with the different frequency bands, like delta, theta, alpha? So this is when it gets interesting. This is when you can actually start doing something with this information that you're getting, because right now you're seeing data being displayed. And that's nice. But according to research, you're going to get some more, let's say, alpha as you're starting to get focused and you start to meditate. You can actually train your brain and see some results from this. So funny story is that at the beginning, I wanted to start by trying to measure something in our bodies. I was like, I want to see if I can detect the JavaScript or with this application like if someone is hungry. So I want to put the headset and see, yes, you're hungry. You're not that hungry. And I was reading tons of medical papers about research about the different bands and what they mean. And it's kind of like somewhere where I can understand how this is reflected when it comes to electricity, because it's only here. And I read, OK, so alpha should go up, delta should go down. And I'm like, that's not too hard. If I try to, if I fast, let's say for half a day or a day, I should be able to see those changes. In reality, I just ended up being super hungry. So I said, I'm not doing this again. This is not fun. But this is definitely the part where things start getting interesting and start making sense. So also, the different channels, depending on where they're positioned, they're going to tell you a different story. For example, back here, we have our visual cortex, which is what process the vision, for example. So if you want to conduct some experiments based on vision or maybe based on other parts of the brain with some cognitive data, you can definitely isolate the different channels and just base your experiment based on different parts of your brain, which is very interesting to me. Awesome. So I want to show you this real quick on this data visualization part for the frequency bands. This one was slightly easier because I'm using a third-party library called ng2charts, which is based on chart.js. And at the end of the day, if you include the directive from the library, you can use the component that the library provides. And with their API, you bind the properties to the data here on the right, from the left to the right. And if you know the documentation for that library, you're going to parse your data the way it expects, and then it just pretty much works, which is not a lot of work on the Angular side. Of course, if you want to get really performing, try to really need to know exactly what each one of these libraries are doing, and not only the Angular 2 library, but also the main data visualization library, or probably just roll your own, which is one of the things that I might be doing soon. Yeah, so we've talked about all of this in Angular. I'm very excited, but what else, right? What are we doing here? So I broke down this project into three different phases. The first one is visualization, which is what I've been talking about here today. The second one is more about experimentation. But in order to start working on and building experiments, you need to have some visibility. That's why I took a step back, because I started first on experimentation. I want to see what this data looks like. I want to learn and want to understand at that amplitude level. And lastly, hopefully some interpretation, right? What this means is that you can make sense of what's going on in here. And this is actually what everyone wants to know and wants to do. So a lot of things are possible, right? Some of the things involve controlling some IoT objects. There's a lot of possibilities. There's some research done and some projects that involve moving a wheelchair with your mind for disabled people. So the thing is, this is technology that just was made accessible to the open source community like this, without having to be for a license. It's all open sourcing. It's actually encouraged for everyone to just give it a try. This project that I show you here today, all of the code is on GitHub. And you can definitely just set it up locally. If you don't have a headset yet, you can just run the simulation part. If you're passionate about it, you can get a headset. Definitely talk to me afterwards if you're interested. And I can put you in contact with OpenBCI. And get involved. There are meetups of new technology all over the world. So please check out the meetup page. Try to find your local meetup if you're interested. Go to the GitHub organization, where we have a lot of open source work. And also, you can go to OpenBCI, the community, where you can read about what other people are doing, people like me, right? And thank you. What do you use that for, Netflix? Ooh, OK. So I just started Netflix like a month ago. So so far, I haven't used it for Netflix. But that's definitely part of the plan. I want to apply it in every area that I possibly can in my life. And Netflix is just an amazing ecosystem of technology and APIs. And I can see a lot of opportunity there. So, TVD. What, turning on the TV with your mind? Oh, well, the first thing that comes to mind is like, I just want to wear the headset and just for it to tell me what I actually want to watch, right? Or control the UI. Like, this is just me being a dreamer. But like, you have to dream big, right? You do. And actually, if you've been dreaming about it, maybe you can answer. A lot of the audience said, can you give us some more real world type things that this could be useful for? We've seen that person controlling the prosthetic arm and controlling a wheelchair. Yeah. So these sensors that you saw on the headset, right? They don't only measure brainwaves. They also measure some muscular electricity and even like heart rates, right? So you can wear these different sensors over your body. And there's definitely a lot of opportunity on the muscular side of things, right? It has been proven that just by thinking that you're moving your arm, you actually trigger those nerves and it actually behave as if you were moving them. That's how you can see some people, you know, amputees actually controlling things with devices that are created by humans. Funny story is that I was at a conference and I was letting other people try the headset. And this person came to me and said, I want to try it, but I actually have a big headache right now. I said, OK, let's give it a try. And put it on. And we could see that the channel 7 and 8 back here was like derailed. There were like tons massive amount of electricity compared to the rest of the head. And I said, yeah, but the pain is like right here. But it was actually the amount of electricity was coming from back here. So she put some eyes on and said, it made me feel better. I would have never guessed that it was actually back here. But for real world examples, you know, this is very early stages. I have to take a massive step back because it's not like, OK, there's an API. I can know what I want. I can Google. I can talk, you know, all that stuff. We're waiting for you guys to help me with that. So that's why I'm here today. Can you put it on my head? Yes, I can put it on your head. The headset. But don't look at what I'm thinking about. Oh, there you go. It's perfectly. Thank you. How is it? Cool? Awesome. Can I take it home? No. That's how I have fun, man. Last question. How's the hardware built and extra future points if it's 3D printed? Can you say again? How's this built? Built. 3D printed. Oh, yeah. It's 3D printed. So basically, it's printed by parts. And you have all the little nodes in one plane. And then you have the heads that actually split in two. And another kind of like, four printers could be printing this at the same time because our different files that are going to print, could print this in, let's say, for files that fit, the normal print at home 3D printer, the affordable one. It takes a lot. It might take, I don't know, probably up to 40 hours, depending. Next generation of headsets, it's going to just get more simple and easier. Again, tons of work. But yeah, you have to be gluing. You have to be sanding. There is a very nice GitHub tutorial about all of this. And I can send it. And I also have some videos of the 3D printer printing it also. Excellent. Thank you, man. Yeah.


and a few years ago, he's gonna talk to us about ecology, geometry, or economy in a synthetic microbial ecosystem. All right, can folks hear me in the back? All right, excellent. Yeah, it is just an amazing pleasure to be here. This is an incredible place, and there have been some really fun talks. I'm real honored to be able to contribute to this as well. So, I obviously don't need to convince this community that microbial communities are important, but I always like starting here just to give us all on the same page. So, we know that microbial communities are really important for everything from individual nutrient uptake to global nutrient cycling. And additionally, microbes are these amazing chemists, and so there's a lot of excitement about trying to harness the power of diverse microbes for a whole array of industrial processes. Now, because of the importance of microbial communities, we'd really like to understand what determines the composition and function of communities. We'd like to predict how those emergent properties will change their time, and ultimately we'd like to be able to manipulate both the composition and function of microbial communities. And sequencing tools are obviously giving us some really powerful approaches for confronting this challenge of understanding, predicting, and manipulating. So, we're now getting parts lists at the level of both the single genome and the microbial community. So, the list of all the genes that make up a single organism and the list of all the species that exist within the community. And my lab is attempting to connect dynamics across these levels of biological organization. So, specifically, we would like to be able to start with a genome, use that to understand the physiology of a single organism, understand how this intracellular metabolic physiology generates species interactions, and then ultimately understand how these species interactions generate emergent community properties. My background is in evolutionary biology, so ultimately we'd also like to understand how selection at each of these levels of biological organization feeds back to change the genomes that encode life. And this is a fun integrative challenge that allows us to use tools and approaches from lots of different areas of science. So, today I'm gonna tell you just sort of two brief stories about some of the ways we've started to try and confront this integrative challenge. First, talking about the interaction between genomic and ecological robustness. And then the second half, talking about the effect of location on microbial interactions. Taking a big step back, from study of microbial organisms, we know that genetic variation within a population can be really important for structuring communities. So for example, Tom Whittem has shown that genetic differences between poplar trees, so mutations that arise in different individuals of poplar, play a really important role in structuring the communities that are associated with those trees. So genetic variation is driving or structuring community ecology. Conversely, there are lots of great examples of ways that community ecology shapes the genetic structure within a population. One of my favorite examples is the study or the work by David Resnick in which he showed that the life history strategies of guppies are strongly shaped by the presence of predators in their environment, within their community. So we know that genetic variation interacts with community structure. But I think that the exciting next question is to ask, can we predict the prevalence of these interactions between ecology and evolution? And when thinking about dynamics, I think there have been two sort of archetypal bodies of literature which have addressed this. So there's been some great work looking at the effects of genetic robustness. So for example, looking at the distribution of fitness effects, much like we just saw from some of Roy's work. And these types of approaches allow us to answer questions such as what is the likelihood that a mutation will affect a phenotype? And what is the average effect size of a mutation? In parallel, there's been some fantastic work looking at ecological robustness. Asking questions such as how do species interactions influence the stability of emergent community properties? But I think that there's been less integration of these two approaches. So we were really interested in asking, how do species interactions influence the genetic robustness of a system? So specifically, how does ecological context influence the robustness of a single population? And conversely, how robust to genetic perturbations are different types of ecological interactions? So we carried out a study in collaboration with Juan Chubes, Brian Granger, and Daniel Segre. And we used one of my favorite systems, a system that we developed, to ask, what is the relative robustness of interactions? And the system involves a strain of E. coli which can't produce its own methionine and a pairing it with a strain of salmonella that excretes methionine. So if you grow these pairs of strains and lactose mineral media, they form an obligate mutualism. The salmonella relies on carbon from E. coli, E. coli relies on an amino acid from the salmonella. And one nice thing about this system is that because we know exactly the metabolites that are being exchanged, we can simply add those metabolites in the media and convert this system from one in which the species are cooperating to one in which they're competing. So it's the exact same genotypes in both cases. All that's changing is whether they're getting the metabolites from each other or from the media. We then made use of the computational platform that Daniel stepped through yesterday, which is called COMETS for computation of microbial ecosystems and time and space. And just as a brief review, the way this works is you start with a genome-scale metabolic model of one of your species. And some define metabolic environment. You then run flux balance analysis to predict which of these metabolites will be utilized by the species, how much that species will grow, and what byproducts that species will spit into its environment. You can then throw multiple models within a single simulation. And then species interactions emerge as a result of the utilization and exchange of metabolites. So this ecology emerges from the intercellular metabolic mechanisms. And as was previously mentioned, we've previously shown that this computational approach can quantitatively predict species ratios. Further, we've shown that this computational platform allows us to track the concentration of all metabolites within the system through both space and time. Okay, so stepping back to our initial scenario, we have two different bugs and two different environments. We created genome-scale metabolic models of each of these, threw them into COMETS, and then we're able to predict growth through time under each environmental condition. We then went in and created all possible single reaction knockouts. So in essence, we created a library of 2,583 mutants and then re-ran simulations for each of these and said, how do each of these properties or how does growth change as a result of each of these mutations? And so what we're interested in is we can think about, so in the paper we actually did, so we only do one mutation at a time. In the paper we did both E. coli and salmonella, and I'd be happy to show you the salmonella day at the end. At the moment I'm just gonna tell you about the E. coli story, but it'd be fun to come back to that. So what we're looking at here is the variants that arises. So when we're thinking about genomic robustness, we can say as we introduce each mutation, how does that influence the variants in final E. coli population size? If E. coli is very robust, you're going to see a very small variance, and if E. coli is less robust, you're gonna see that this variance increases. And we can pay attention to that both for just the population size and thinking about E. coli, we predicted that we would see that the variance, the robustness of the E. coli genome was approximately the same in both of these conditions because E. coli is using the exact same metabolites in both cases. So the metabolism should be equivalent, so we thought, well, mutations will have roughly the same effect in both cases. In terms of the variances, so what we're tracking is actually the population size at the end of a single growth phase. So it's not equilibrium actually, it's just at the end of a growth. But we're not considering evolutionary stable strategies at this point. Going forward we will, but here we're not. Okay, so we had that prediction about how species interactions might influence the robustness of a single genome. We were also interested in how mutations might influence community properties. Again, what we're looking at is a variance, but here we're plotting variance in community properties as opposed to population size. And here we had some varying predictions. As I just showed you, when organisms are engaged in mutualism, they tend to stabilize species ratios. And so if you could think about this as if we plot the final E. coli population size against the final Salmonella population size in the absence of mutations we might find a point here. And then as we introduce mutations which reduce the final E. coli population size, that should also reduce the final, reduce the growth of its obligate partner. And so as we throw in a bunch of these mutations we expect to see some distribution that looks like this where species ratios are being stabilized. So we expect cooperation should stabilize species ratios in the face of mutations. That's right. So here what we'd be looking at is species ratios. We'd plot species ratios on the x-axis and say how much change do we see in species ratios? So there we're looking at the final size of just the E. coli population. So the contrast is we're looking at the variance within a single population versus the variance in community properties. Conversely, there's been some great work by LaRoe and others suggesting that if you have competing organisms that should lead to compensatory dynamics such that you end up stabilizing biomass. So if E. coli takes a hit and uses less of the resources those resources then just get taken up by its competitor. And so in the competitive case we thought that what would be stabilized is the total biomass. So we thought that cooperation would make species ratios robust to mutation while competition would make total biomass robust to mutation. So we then ran the simulations and tested these hypotheses. I'm showing you similar graphs again where final E. coli density is on the x-axis while final Salmonella abundance is on the y-axis. The green dot is the case of no mutations or sort of initial condition. And then we'll step through them. So for the competition case again what we're expecting is biomass to be stabilized so mutants to lie along this axis. And we found roughly that pattern. There's definitely a spread but we do tend to see that as E. coli as mutations decrease the abundance of E. coli they increase the abundance of Salmonella. And we found that over 400 mutations had a greater than 1% effect on the community. Switching to the cooperation case now we expect the opposite pattern or we expect mutations to lie and a diagonal along this line. But here we saw a divergence from our expectations. So now instead of when E. coli gets decreased instead of decreasing we see that there's this handful of mutations which actually increase the abundance of its obligate partner. We also see a change in the number of mutations which have a significant effect. We're really interested in these mutations which seem to break this constraint on species ratios. So we went in to take a look at what they are and we're really interested to see that all of these mutations change the excretion profile of E. coli. So they're changing the currency through which or the molecular economy through which these species are interacting. Going back to our original questions and plotting the exact variance we predicted that genomic variance would actually be equivalent in the two scenarios but we found that that wasn't true. There is a significant difference in the robustness within the E. coli population such that when E. coli was cooperating with Salmonella there was smaller variance so the genome was more robust. Stepping to the ecological scenarios so how do mutations influence emergent community properties? We found that in terms of species ratios along with what we predicted actually cooperation was more, did stabilize species ratios despite those outliers and looking at biomass we predicted that competition would stabilize biomass and we found that that wasn't actually true. But if anything competition leads decreases the stability of biomass within the system. So in summary of this first part genomic robustness was altered by the community this is perhaps something we should have known ecology is really important and the robustness of a genome is going to be dependent upon the ecological context in which you study it. Second we found that lots of mutations influenced emergent community properties. And specifically we found that the cooperation tended to stabilize species ratios. It made species ratios more robust to the genetic perturbations. But we found that mutations can break that constraint by changing the molecular economy or changing the metabolites through which species interact. Conversely we found that competition need not stabilize biomass as was expected. And so I think this points to the fact that metabolic mechanisms can be really useful for connecting genotypes to community properties. That there are times in which we can't simply generalize interactions to lockable terra but that some of these metabolic mechanisms can be really useful for understanding the dynamics of systems. We're now just got some funding to continue this and experimentally test these computational predictions. And so for this we're using TNC to create the library of all possible, so you throw in a transposon which inserts randomly into the genome and you create libraries of 50,000 mutants all with unique insertions. You then take this pool of mutants and can grow it in different ecological contexts and then look to see how the frequency of these mutants changes and whether those changes are different in the different ecological contexts and use that to understand the selection on every gene within a community. And so one important thing that I think this suggests is that there's been some fantastic work in evolutionary ecology demonstrating that it's possible for the effects of genes, so mutations, to cascade up all the way to influencing the properties of ecosystems. And then conversely ecosystems can influence the frequencies of genes. But I think we're now at the point where we can say not only is it possible for a mutation to influence ecosystems, but we can say what is the distribution of those effects? And just as the distribution of mutational effects are really critical for understanding the evolution of a single population, I think that understanding these distributions within a community context are going to be critical for understanding the evolutionary ecology of microbial communities. So for example, when we design a community to create biofuel or for some other industrial process, we need to start understanding when our mutations likely to perturb that community in various ways. Okay, so now stepping forward to the next brief and yet we are interested, so in this first pass, all of this was in mass action. So we didn't incorporate any spatial structure, but we are very interested in how spatial structure might mediate some of these interactions. And again, as we just saw, space can be really important. Often microbial communities or microbial ecology assumes well-mixed communities. So historically, what we've done is we've gone out and grabbed samples from our community of interest, ground it up and sequenced it and said, oh, all these bugs are there, they must all be interactive. This sort of harkens back to the soup of enzymes that Daniel mentioned at the beginning. I would argue that many microbial communities exist in scenarios something like this false picture in which there are lots of species that are at different locations in space. And I think that in most cases, microbial communities will not actually be soups of enzymes, but that the location of each of those enzymes will be critical. And so to start understanding the effect of location in complex scenarios like this, we wanted to simplify and take a more bottom-up approach. And so we went with a simple experiment we could think of of let's just take a single species, throw it on an auger plate, allow colonies to grow up and say, to what extent can we understand the variation in colony size as a function of location? So this is an example of E. coli colonies growing on LB. And as any microbiologist knows, you've played out some colonies, you're gonna get colonies of different sizes. So like this colony is much smaller than that colony. So it was our first just totally simple experiment. We wanna say, can we a priori predict the difference in these colony sizes by understanding their location? And so a fantastic postdoc in my lab, Jeremy Chacon, developed a really nice system in which we use basic office scanners. We house them in warm rooms. He wrote then a program, which causes those scanners to fire every 30 minutes. And then also wrote custom software, which analyzes each of these images, identifies the location of each colony and tracks it through time. And so as a result, we can look at the variance in colony size and relate that back to location. We did this for both E. coli and salmonella on multiple media. And one interesting thing that we found was that the variance in colony size was really different on different types of media. If we look at the coefficient of variation in colony size at the end of the experiment, we can see that that changes dramatically both as a function of species and as a function of a metabolic environment which they're growing. To start to understand some of this, we again returned to comets and simply simulated each of these conditions. So for each plate, we seeded biomass in our simulations at the same location. And then we said, how much of this variation, experimental variation, could we have predicted from interest of their metabolism? And we found that comets did a remarkably good job. So what I'm presenting here is the simulated, the relative simulated colony size mapped against the relative experimental size. And so things that fall on a one-to-one line like this mean that we're able to predict with a high degree of certainty, how big those colonies will ultimately get. Yes, that's exactly right. And that's where I'm going in the next slide. So simulations did a relatively good job of predicting it although interestingly there were some cases like salmonella growing on glucose, where we saw more divergence than we would have expected from our simulations. That is true. So in simulations what we're tracking is total biomass of a colony and in experiments we are looking at area. So we standardize, so it's relative changes in size, but we don't transform the biomass into the area. Yeah, so we standardize so that the maximum is one, the biggest colony is one in each of our metrics and then map that against each other and multiplying again. Yes, that's true, that we could modify this in various ways, the reason we didn't do that is because the transformation you'd want to use would depend a little bit on the shape of your colony and we're unable to at this point give very good metrics on the shape of the colony. So we did this as a first pass and it seems to have a strong correlation, but it would, yeah, you're right, we could certainly do some additional transformations and that might improve some of our predictions and it'd be fun to talk to you some more about ways that we could do that if you have thoughts. Okay, so we have all this data on colony sizes and locations and as was just predicted, I thought this is gonna be super simple. All we're gonna have to do is look at the distance to the closest competitor and map that against, or graph that against colony size and we're gonna be able to explain all the variants. And we found that that explained some of the variants but we're still leaving over half the variants on the table, so that wasn't terribly satisfying. So we then dug into the ecology literature. These sorts of things have been measured in trees and in all sorts of vegetation for years and in those cases, often what's suggested is that you need to not take the distance to the closest competitor, but consider the distance to all possible competitors and that can either be a linear distance or the distance can be weighted as a square as a result of diffusion. So we thought, ah, now we got it. It's gonna describe all of it and in fact it describes less of the variants. This left us a little puzzled but then I was talking to a collaborator of mine, Wilfromobius, who's both a great guy and has the coolest name in science and he's a biophysicist and as many of you probably have already intuited, he said, ah, physics figured this out a long time ago. What you need is veronoi areas. So you need to map out the area on the plate that's closer to a focal colony than any other colony on the plate and if you graph that area against the biomass then you'll be able to explain more and of course he was right. So now we can explain sort of a satisfying amount of the variation. And I think this result is really cool because one of the things it suggests is that colonies, so the variation in colony size is influenced only by the location of colonies that determine your territory size. In essence, the variation of this dark blue colony is only influenced by the location of these red circles. So it's geometry, not distance, that is driving the interactions in these spatially structured environments. And just to convince you of that, we ran simulations in which we simply removed one colony at a time and said how much of an effect does removal of an individual colony have on all the other colonies on the plate and basically we were able to show that the final size of a colony is only changes if one of its neighbors is removed. So the size of this colony is not changed by removing any of these dark colonies. Further using simulations, we're able to look at how the strength of spatial, yep. So as long as you've used all of the metabolites within the system, so as long as you completely draw down resources, it actually doesn't matter what the distance is. It's independent of distance. On opposite sides of the plate and as long as you let them grow long enough that they draw down all the resources, they are the only thing that's gonna, yep. So we're then able to also look at how certain parameters within the system influence the strength of spatial interactions. And so for example, demonstrated that as you increase the maximum uptake rate of resources, that increases the strength of spatial interactions. Conversely, as you influence the diffusion rate of metabolites, that decreases the strength of spatial interactions. And an interesting one that I hadn't really appreciated in which relates back to this is that the strength of spatial interactions increased through time because you're decreasing the amount of resources that are available. Interestingly, it's these two effects that cause metabolism or they cause these different patterns of spatial effects in different metabolic environments. So because bacteria both take up different metabolites at different rates and grow at different rates with those metabolites, that's what generates this divergence in spatial effects in different metabolic environments. Finally, we were able to, we were interested to see that there was one pretty strong outlier of our expectations, which was salmonella growing on glucose. That was also one of the big outliers when we mapped our simulations against our observed. And specifically, you can see that these, there are some colonies that we predicted would get much bigger than they actually did. We then were able to go in and, so we hypothesized that this might be because of toxicity building up. So acetate is generated as a byproduct of growth on glucose. Acetate can change the pH. And we found that indeed, when we grew colonies of salmonella on glucose plates and threw in a pH indicator, they generated a strong change in the pH indicator. They made the environment much more acidic. And if we incorporate this toxic effect into our simulations, we can suddenly explain a great deal more of the variation and we can manipulate that through changing the pH of our environments. So in line with what we saw yesterday about pH being really important for structuring the composition of the gut and maybe some of the things that we're going to see from Jeff Gore coming up, we found that pH was a really important determinant of the strength of spatial patterns. So in conclusion, we found that interactions were determined by geometry, not distance. That metabolism alters the signature of the effect of location. And that these quantitative predictions can allow us to identify interactions that we didn't realize were occurring within the system. And so going forward, we're excited to extend this through collaborations with Rachel Dutton to try and understand the spatial patterns that arise as we introduce more competitors to our system as well as introducing different types of interaction. So mutualism or facilitation in addition to competition. We're also doing a lot of work to look at, to understand how these effects of locations mediate the selective pressures within microbial communities. And then we're also having a lot of fun talking to some of the great ecologists at the University of Minnesota who to compare how these spatial patterns at the microbial level relate to the spatial patterns that are observed at microbial levels. And so in conclusion, I hope that I've convinced you that synthetic systems can allow us to understand, can allow us to confront some of our initial goals for managing microbial communities. So it allows us to understand some of the mechanisms that generate emergent community properties, metabolic models can allow us to predict how genotype connects to ecosystems and therefore how communities will change through time. And integrative approaches I think are whole promise for allowing us to develop methods for manipulating microbial communities. And so with that, I'd like to thank collaborators and the fantastic folks in my lab and I'd be happy to take any questions.


And that's a really good question actually. It has shifted that mentality of I am in my classroom all by myself. And so we've really worked to create that environment for collaboration and that we don't have to be the sole provider of everything. And so that has really been a mindset shift that our teachers who have been involved in this process have had to embrace and kind of learn and and let go of some of the stuff and so that has been really good. So I think really that the biggest shift we've seen was towards a more student-centered design way of thinking. Curriculum used to be I work in isolation I get paid to write some maps out they become PDFs and nobody sees them and I write them for how I want to teach them. Now through the process of OER curriculum has become more collaborative. It's become a living breathing document that the nature of OER that you have to have that upkeep from you know month to month or year to year. I really think the perspective is about control. So before we started using OER I think teachers felt compelled. There was no there was no textbook police or curriculum police but they felt compelled to start at the beginning of a textbook and then work through it. So when when we started removing that physical representation of a scope and sequence from them and and ask them to design the learning path with with our instructional standards and then using open educational resources to support that I feel like it gave them a lot of power to make choices about what they really thought students should be learning. I think initially when you start the profession development and throw out that terminology of OER and creating your own resources I think it's a scary thing for many teachers because it's new. Sometimes just having that tangible textbook is comfortable for a lot of teachers. It's traditional so tradition sometimes directly correlates to comfortable but with the right professional development the process working together and collab and collaborating I think it has empowered teachers.


Greetings, my name is Jack and I am here to tell you what experience I had in the new version of Minecraft 1.12. I was playing in a single player world where I was trying to find Obsidian to go in the second world of Minecraft, the Nether. I mined around a cave for like 6 or 7 minutes until I found Obsidian. I took 14 blocks, then I ran away of the cave trying to find my house. After that, I found my house but not how I left it. It was previously made of cobblestone and wood, but now the wood has changed to Nethraak and the cobblestone to Nether brick blocks. I was confused because I don't know how my house changed while I was gone. I decided to enter in the Nether house and look around, it was empty. My chest, crafting table, everything was gone. All that I found was a shulker box that contained a ribbon book. The offer was called Period, which perhaps means that someone entered in my world. I thought that it's one of my friends making pranks, since I always start a land game cause we are on Hamachi and we play together. But I noticed that he was offline, so he didn't do anything, and me.  After some minutes of looking around the house and outside, a user somehow enters in my Hamachi server. He or she, or even it, was called 1241 which reminds me of the CD-11. That secret with the face of Steve and the code 1241 on it. I was a bit shocked when that person entered on the server, after minutes of trying to remove him from the server, my PC crashes. The windows started again, I was waiting for Hamachi to startup to see if 1241 is still on my server. Hopefully, they were removed. I entered on my world again to find out that I somehow got teleported in the Nether. While looking around, I noticed that a weird person was staring at me from distance. To be honest, I was scared, since I was at the middle of nowhere. You know, if you dig up in Nether you'll end up in a completely empty zone, a flat world, made out of bedrock and mushrooms everywhere. I was stuck, and couldn't move. Terrified, I closed Minecraft, but managed to make a screenshot before the game has finally closed. If you look closely, you can clearly see a figure standing in the distance, staring exactly at me. I deleted that world from my saves folder and closed my Hamachi server after all of this happened, but there are questions that are ringing inside of my head. Who is that person? Who is 1241? Next day, I took a look at the log of the world that I had previously deleted. Server thread slash info, exclamation point at dollar sign exclamation point joined the game. Client thread slash info, chat, exclamation point at dollar sign exclamation point joined the game. Server thread slash warn, can't keep up. Did the system time change, or is the server overloaded? Running 10,449 milliseconds behind, skipping to 180 cortex. Server thread slash info, exclamation point at dollar sign exclamation point, set all game mode to creative mode. Client thread slash info, chat, exclamation point at dollar sign exclamation point, set all game mode to creative mode, which means that he can set all game mode to creative mode, even if I made the world with no cheats. Server thread slash info, exclamation point at dollar sign exclamation point, teleported just for fun 49 to exclamation point at dollar sign exclamation point. Client thread slash info, chat, exclamation point at dollar sign exclamation point, teleported just for fun 49 to exclamation point at dollar sign exclamation point. Server thread slash warn, can't keep up. Did the system time change, or is the server overloaded? Overloaded. Running 53-30 milliseconds behind, skipping 106 tachortics. Server thread slash info, just for fun 49 lost connection, disconnected. Server thread slash info, just for fun 49 was disconnected. Server thread slash info, stopping server. Server thread slash info, saving players. Server thread slash info, saving worlds. Server thread slash info, saving chunks for level-hour-world-slash-$% cap at exclamation point at % Server thread slash info, saving chunks for level-hour-world-slash-the-Andric?! Server thread slash info, saving chunks for level-hour-world-slash-$% cap at exclamation point at % As you can see, Overworld and the underscore end are not there, or they are replaced by random symbols. What I noticed was that exclamation point at dollar sign exclamation point means exclamation point equals one at symbol equals two dollar sign equals four and another exclamation point equals one. That's where I stopped playing Minecraft for a while until my friend decided that we should play on a server instead of making a new hamachy server. It felt safer. Update number one official by Jack hello again people this is Jack and I have some more news about the 1241 incident this has been written two years ago damn kind of lost the track of time around here however I came here for a specific reason and here it is after a lot of searching around my minecraft files I kept coming across this simple dot txt file with only one kilobyte and a few words written in it this thing isn't feeling safe but I must tell you people what is going on or at least what I think that is going on the dot txt file contained my IP address and weird enough it seems that at the end there's a dash in front of my full name as if I signed myself into this text file no no no that can't be happening I don't remember creating any text file or writing my full name in it is this how my sanity is slowly going down two years after the incident I'm still targeted by this goddamn thing that's lurking in my computer after two freaking years excuse me for cussing out loud I just feel like I am going insane I cannot sleep at night I honestly don't know what's wrong with me at all still haven't forgotten about the numbers thinking of them every day every week every month for two whole years one two four one update number two official my jack I do not feel safe anymore my computer is freaking out and I'm afraid that it might become worse I need to find a way to repair this as soon as possible if not might as well just break it burn it then dig a hole to place it in never to be found again I am completely tired of waking up at late hours in the morning just to find my computer open with multiple text files over the entire screen all of them having different names codes and some even my IP and full address on them not sure if this is someone making fun of me at this point it even tried turning on my camera but I managed to cover hopefully before it saw me miraculously it didn't but this still is deeply disturbing I tried multiple things reinstalling windows entirely buying anti-virus software making sure the operating system is up to date but yet nothing this thing still continues to pop up almost as if it is stuck on this laptop specifically I'll try to think of something but until then I think I have to survive with this being constantly watching over me it's 2 22 a.m. at the moment I'll go ahead and see if I can get any sleep tonight good night and take care update number one an official nightmare at God hello this is nightmare at God I'm here to tell you who 1,241 or exclamation point at dollar sign exclamation point is and no I'm not Jack do you know this key 11 it's where 1,241 came from because when you start playing this key 11 you can see 1,241 when you play it on a sound player and as you can see on the screenshot there is obviously a name tag on the player initially I think most people would think that the figure would be hero brine right wrong it's not hero brine it's 1,241 it hides itself by hacking your worlds and changing their name to exclamation point at dollar sign exclamation point which translates to 1,241 it is a steve like character except with either black or dark red eyes he lives in another waiting for another victim to roll by and torture with terrifying frights or maybe even take them but this might help for the real theory of disc 11 or even disc 14 so that's what it is this was only an update so it might not be the end update number two unofficial nightmare at God hello people nightmare at God back again with another update and I know it's been super long since the last update but whatever anyways I found out about another entity that might indeed be that spooky figure in the background of that picture and that is faceless Steve because in disc 11 someone is running from something and that person could be Steve running from faceless Steve update number three unofficial nightmare at God hey guys nightmare at God back with another theory a game theory well anyways I've been doing some research into this crap and with the 1.16 update a lot has changed so yeah well today I going to talk about something something I found in the minecraft update logs remember how Mojang would put into the logs hero brain removed but this time the logs never said that and the day after I saw that log I had an encounter with 1241 this proves a lot it means that the figure in the backdrop was in fact hero brain and there is no denying it none at all so it means that hero brain has a connection with freaking disc 11 well that's all see you all next time bye


Why is it necessary to test potential medicines on animals? We do medical research to save human lives and to prevent people suffering.  Can't we test them on cells and tissue culture and do computer modelling? We already make good use of alternatives and most research is now done in computers, cell cultures or human volunteers. But there are times when we still need to use animals because, for example, you can't study a beating heart in a test tube and you can't get your computer to cough. But aren't animals different to people? There are, of course, differences between humans and animals, but there are also remarkable similarities. We share, for example, over 90% of our genes just with a mouse and many of the major biological systems in an animal from digestion to the cardiovascular system. These work in the same way with humans. But if we're so similar, why is it that many drugs that are successful in animal trials go on to fail in human trials? Testing on new medicines, both using animals and the alternatives, is remarkably effective so that virtually all new modern medicines when they go on the market are safe and effective. If animal testing was banned, surely the medical community could cope? Any ban on the use of animals would be disastrous for biomedical research. It would grind gradually to a halt and would send us back to the dark days when, for example, the last time we gave a medicine to people that wasn't properly tested on animals was thalidomide. Surely many animal tests are cruel, causing pain and suffering? It would be wrong to gloss over the fact that animals do suffer in research for the benefit of people. But much of this discomfort is mild and it's similar to when you take your pet to the vet. It might involve sampling of blood or minor operations. What medical improvements have we actually gained from medical experimentation? There's been a vast array of new medicines and treatments that have depended on animal research and over 70% of Nobel Prizes in medicine or physiology have depended on the use of animals. This includes antibiotics, anesthetics, treatments for genetic diseases, a vast range. Why is there so much secrecy about animal experimentation? What's the research community got to hide? Researchers have been reluctant to talk about their animal work. This is largely because fear of animal rights extremists, but I think now is the time to open out more and having school children and other visitors in to see for themselves around the animal lab. How do you explain the fact that so many videos put out by the anti-testing organisations show cruelty to animals? The independent inquiries have shown time after time that the claims of the animal rights groups are simply false and they distort the evidence. Having said that, of course some people do do wrong things to animals occasionally, just as some doctors mistreat their patients and some older people in nursing homes are badly treated. And yet the public still seems concerned about the use of animals. We recognise public concern about animal research and it is a very difficult ethical judgement that has to be made. But ultimately the benefits for humanity are so great and we have to remember too that animals benefit from animal research.


Welcome back to my channel if you're new here. My name is Sepi and today I'm joined by my dad. Hey dad. So this is my dad, his name is Farshaws for those of you guys who don't know. Today my dad is, he doesn't even know what he's doing.    Tell me what you think, okay? Okay, because of my experience? Because you have really good fashion sense, that's why I rate your style. Thank you very much. And also I think for like a Middle Eastern dad, you're quite liberal and understanding of like, you know, everyday fashion here in the UK. So, you know, you're open minded. So you let me dress however I like. So I think it's a good way for you guys to see as well. Okay, so first things first, we have this suit, okay? So it is this like a greenie suit jacket and it's a bit oversized and it comes with like oversized trousers while make your shirt begin as well. So like like the, this is the jacket. I got it in a size six UK size and it's got like black button details and the trousers are, you're not gonna open them. How can you judge it if you don't open it? No, I have to see first of all the material and the clothes.  When I said like I won like in a review, I didn't mean like full on, you know, judging everything to the tea. No, it's very nice. That's the material is very nice. Yeah, it's really nice material. And the color is very, very beauty. If you were me, how would you match this? Match that one, you should do something.  Like white? I don't think so. Because of the atom, you have to wear something warm. Like nude. Yes, yes. So this is the trousers and it's like quite a cinched waist and it's got like this pleated material so it makes your waist look quite small but all the way down to the bottom it's like quite a wide leg pant and that's why I like it. I basically was out at a restaurant with one of my friend and a girl walked by in a suit very similar to this and she just wore it with trainers and a white t-shirt and she looked really cool. So I was like, okay, I want to try this. And that one thing, I remember when I was young the same as your age, now you are in, it was the same as this, the trousers. Yeah. It was the pocket was yours. So girls were like into like wide leg trousers. And the scarf, this was... Oh yeah, I could wear a scarf over, right? We call it khargushi, khargushi means... Like a rabbit. Rabbit. Like a Persian bunny. Yeah. And by the guys, all of these items are from pretty little thing and they will be linked down below. So just thought I'd mention that, but yeah, I got them both in a size UK six. So these are the suit pants by themselves. It's better you showing back because the back is very, very nice. As you see, she doesn't tell, she can't see it but I see it's very nice fit. Yeah.  It's so classy and chic. I would wear this to like a dinner with my parents or something like that. And then this is it with the blazer on top. I don't know if you can wear it with this exact top because it might be too poofy. Is it too poofy with this top? No, it's nice. Yeah. So this is it with the top. Sorry, with the blazer as well. And I just think that it's such a little cute vibe, you know, very autumn colors, very... Very beauty. Classy. Yeah, it's even you wanna go to night for the dinner with someone. I don't think I'd wear this to dinner. I think I'd wear this to lunch. You know? Lunch, yes. Yeah, definitely. And like a nude, like Louis Vuitton, like print bag with these colors, I think goes so well, no? Yes. Yeah, really nice. And look at the waist. The waist fits me so well. Yes. Wow. So this is the next item. It's like a boiler suit because it comes with, again, matching sets. As you can tell, this ball, I'm loving matching sets. And I got the top and trousers in a size eight and the trousers, like clothes like this, like a kind of claspy thing with a zip and it is nude, like creamy. No, it's like a creamy white, off. What's the color? Half white. Yeah, like it's like cream, like off white, nudie color. And it's got like contrast brown stitching and it's coated denim. So it's like got this wet look to it and I absolutely love this. Look at the pockets in here. Yeah. It's got pockets on the side and it is super cute. I love it. And it's matched with the pocket in the jacket. Do you want to see? Yeah, exactly. So it's like a set together but you could wear it separate as well because I would wear like this with like a nude faux fur jacket and a white top and trainers and it would look so cute in black sunglasses. Or I could wear this over like a white ribbed dress and I think it would look so nice or over a brown dress. That's the color of the stitching. So if I picked a dress that color and I wore this on top or obviously, which I would love to do is wear the two of them together. I think it would look so cool, right? Yes, it's very nice. It's silky. Something you know is very nice. It's like smooth, yeah. It's like, and it's like coated. That's what they call it. They call it coated material. It's very nice. It's new material, right? Yeah. It's really like, really trendy right now. Yeah, I like it. So these are the coated trousers by themselves. I like the pocket detailing. It's a size eight. So it's a little bit loose around my waist but I wouldn't go down the size just because I feel like they don't be too tight and it will like flatten your curves. Do you know what I mean? Yes. I think it's so cute. It's so classy. You can wear it by itself. I'm gonna show you it with the jacket on top. So this is it with the jacket on top like this. What do you think? Yeah, it's cool. I think it's really like funky and something so different and edgy and fashionable.  Like that style. Yes. Like that, like close it. I haven't done it properly right now but you know what I'm all about? Like this style. Oh, this is nice. Yeah. Very nice. So I think like that in a style by itself would be so cute. So I really like this. I think it's cool that you can wear the two together or you can wear it except for it. It makes it like you get more used to it. Yes. Very, very nice. When I look at it from this side, I see it's very nice. Yeah. So continuing with trends for this autumn, right now back in fashion is faux leather. So like leather style clothes and jackets especially. So I got these trousers which I absolutely love, okay? So I've been looking for the perfect pair of black like leather style leggings. Okay, these ones were only 15 pounds from Pretty Little Thing. Oh, he's very, very nice. Yeah, yeah, very nice price and it's got like this cinched waist material. And guys, honestly, I was very, very impressed at the quality because for the price it's actually very, very thick but like durable and stretchy and still tight enough to hold you in. It looked really nice. I posted a picture of it on my Instagram which I will show you guys. I think it's very, very nice when you fit this one. Yeah. Because of you, you've got a beautiful bum. And he's coming to do it. Thanks dad. Honestly, the only compliments I'm getting these days are from him. So yeah, I really, really like these. I think everyone needs a pair of leather trousers and a leather jacket in their wardrobe. And so for 15 pounds, I really recommend these ones. The quality is really good. When I was 16, I had a pair from Topshop that were basically like the, you know, the waxy like latex leggings and they were all for like the, it started like tearing apart the seams and it was quite see through. This is not like that at all. It's very thick. These leggings, as you can see, are really thick. Like really, really nicely made, thick material, fits me really nicely. Yes. No. And like just wearing it with a plain top on top, the leggings itself like dresses up the whole thing. Don't you think? It's very nice. What size is it? I forgot to say. Six. Okay. So mine isn't a size six. And it fits me quite well. I think the waistband maybe is a bit tighter as in, not tight on me, but it could move a little if you are the same size as me and you want like a really loose waistband then go off a size. But in terms of me right now being comfortable, I think it's comfortable. Yeah. I wouldn't go off a size personally. I think it fits perfect.  No, you think it is, but when I think it's pulling it up too much. Maybe that's why. But I think it looks really, really nice. I don't really like it. It's really good. It's so cute. Look hard. You go jean everywhere. Guys, honestly, I'm going to stop playing this video for boys. So I'm just going to let what my dad says. You need to keep up. Okay. So next up, we are going to be in the denim category now. So I got these pair of jeans, which I absolutely love because right now it's really in fashion to get like jeans. Yeah. Where the side of it is split at the hem. These are really cool. So I got these from the petite section. So it's like shorter people because I'm five foot two and I can wear them with trainers because when I get them from the regular section, you almost hit me with it.  So that's why I am getting the petite ones because I can wear them with trainers and be fine. Yes. It's very nice. It's really good material, no? Yeah. It's very nice because of the material is very good. Yeah. It's actually really, really good material. Like honestly, pretty little thing. They use a good material. I'm seeing an improvement in the denim they're using over the years of me shopping. Like they're using thicker and thicker denim and it's really, really well made and it fits really nicely. It cinches in around my waist. They've worn it before and I really, really like it. So these are the side split jeans. What do you think dad? It's very nice. As I told you, that's very nice with these shoes and it doesn't, it shows your leg longer and for this case, the trouser is very nice. Yeah. It does make your legs look longer. Again, the waist is very well fitted on this and it's really, really comfortable. As you see, look at the look in here. It's coming very nice. It's not very fit and it's not loose in here. Yes. It fits really, really nicely. Fitting is very nice. Really like this. So this one is kind of similar to the last one, okay? They call this style the mummet jean, okay? So it's kind of loose all the way down but still kind of fitted if that makes sense. So it's not completely baggy and then at the bottom of it, you can just have rolled up like I've done like this or you can leave it completely open and it fits you in a way where like it's comfortable. It's not tight, but it's not too loose where you can't see the figure at all. Yes. That's a good thing. So I really like it. You need it for our turn. This is so fitting because it's not very fit and it's not very loose. Yeah. It's good. Good. I like it. Good. These are the mummet style jeans where the bottom of it is like kind of tucked in like I've rolled it up. What do you think? Beautiful. Yeah. As I told you, it's very nice. It's very beautiful. So this is the waist of it. It fits really nice around the waist. It's got the pockets so they are comfy. Pockets on the back as well and they are the perfect length when they are rolled up. And then. That's the one I like it. Yeah, I wore this the other day and he absolutely loved me in this, right? So it's this oversized denim jacket and I wore it on my Instagram as well and everyone was leaving comments like, oh my God, it's so nice. Where'd you get this jacket from? It's from Pretty Little Thing and it's basically like a zip-up denim jacket oversized, mine is in a size 10 and it fits so nice and baggy.  This is a really good one and where it's so big you can wear thick jumpers underneath it. That's good for the winter and the cold weather. Yeah, exactly. You can have something under it and it's good for you because when you're going out you need something for the top. It's very nice. Also, if you really wanna dress it up, you could do what I did where I wore it with denim and denim and you could wear it with these boots so how pretty are these boots? These are also from Pretty Little Thing and they're like the sock boot and I feel like I thought these would be a trend and they would go but they're here to stay and they are so comfortable. I've tried them on in the house. It literally is like slipping on a sock but it's just so elegant and classy and the color nude just goes with all the full colors like greens and- Look at the material. Yeah, greens and browns. These are very, very nice colors. Super nice and stretchy. Yes. And it will hold really well and I just think even this with this is really nice. You know, that contrast is so pretty. It's very nice and very beautiful as well. Yeah, so the heel is really thin but wide so I really like that. Very good. So this is the denim jacket. What do you think? Cute, right? Yeah. So I just want it like how you could wear it casually. Like you could wear this with trainers and go on like a shopping day and it would look so cute and it just goes to show like, I'm wearing this big hoodie underneath. It's like from Pretty Little Thing as well, this hoodie from a previous haul. And I think it's like a size 10. So I'm wearing like a size 10 hoodie underneath this, a top underneath that and this jacket which is a size 10 and it fits so nice and the zip is like so comfy. You know, like a lot of denim jackets have like buttons but this one's all zippy and it's got like this little collar detail so you can throw your hood over it. So that's why I really like it. That's a nice jacket. Yeah, really nice. Very well made. We're gonna move on to the last item. Oh, the color is very beautiful. What do you think of this? So I love this bazaar because it actually comes with this belt. With the belt. So you can close the belt up and you hold the hanger one second. So if I close the belt like this, see like it gives you like this cinched waste effect and I absolutely love it. I feel like it's not coming up as light as it is. Here we go. That is how light it is. And I just think if fall was a color, this would be it, nah? Yeah. Very, very auto me. Again, with these nude boots, I would pair that up and like a little skirt or something like a woolly skirt underneath. I think it would look so pretty. Or you could wear it with the black leather leggings that I showed as well and like a black t-shirt.  Very nice. Yeah, the black leggings in this. The color is so pretty. But what do you think of the color? The color is very nice. It's so nice, right? That's why I chose it. The color on the belt, I think really make this such a nice wear. So I'm so excited. It's very classy. So this is the green blazer on. What do you think? Yes, it's very nice and it's match with this. Yes, as you told me. My dad styled me with these jeans and these boots. He's so cute. He was like, I think you should wear this with these jeans. I was like, okay. It's like for the trial and error. So he styled me guys. But yeah, how pretty? It's very nice. I just love this belt. I think the belt is what makes this so pretty and the color. Like the belt, the pockets, the color. It's just stunning. The belt shows you your waist. It's very nice and it's for the back. When you look at the back, it's very nice. Yes. So cute. So I hope that you guys enjoyed this video. If you did, then please give it a thumbs up and if you didn't, please just give it a thumbs up anyway for my sweet dad joining me in this video. Thank you so much for joining me, daddy. And loads of people have questions to ask you that they've sent me. So we might film a video, another Q&A, because we did one last year that everyone loved. Thank you very much. So thank you guys so much. Don't forget to check out my socials. They're always linked down below. My Instagram is purgeandbunny and my snap is seppi samoy. And I will see you in my next video. If you've subscribed. Bye. Bye.