10,000 Matching Annotations
  1. Oct 2024
    1. H”, “A”, “P”, “P”, “Y”, ” “, “B”, “I”, “R”, “T”, “H”, “D”, “A”, “Y”.

      It's interesting that from the human perspective we are just spelling out the word "Happy Birthday" as a whole, but never come to realize or pay attention to the fact that the string is actually a combination of the different letters taht make up the word.

    1. Now, there are many reasons one might be suspicious about utilitarianism as a cheat code for acting morally, but let’s assume for a moment that utilitarianism is the best way to go. When you undertake your utility calculus, you are, in essence, gathering and responding to data about the projected outcomes of a situation. This means that how you gather your data will affect what data you come up with. If you have really comprehensive data about potential outcomes, then your utility calculus will be more complicated, but will also be more realistic. On the other hand, if you have only partial data, the results of your utility calculus may become skewed. If you think about the potential impact of a set of actions on all the people you know and like, but fail to consider the impact on people you do not happen to know, then you might think those actions would lead to a huge gain in utility, or happiness.

      This reminds me most of measuring value of life in systems such as trolley problems or AI car decision making. Is a doctor more worthy of being saved than a musician? Or a depressed person? Or a felon? Where do you draw the line? If you draw a line, how many "felon lives" equals one doctor life? Utilitarianism to me isn't a morality system itself but a coping mechanism to allow humans to rationalize tough decisions. But when humans put the same logic in computers, it's not a coping strategy for a computer's feelings, but just a flawed series of priorities.

    1. Welcome back and in this brief demo lesson I want to give you some experience of working with both EC2 instance connect as well as connecting with a local SSH client.

      Now these are both methods which are used for connecting to EC2 instances both with public IP version 4 addressing and IP version 6 addressing.

      Now to get started we're going to need some infrastructure so make sure that you're logged in as the IAM admin user into the general AWS account which is the management account of the organization and as always you'll need the northern Virginia region selected.

      Now in this demonstration you are going to be connecting to an EC2 instance using both instance connect and a local SSH client and to use a local SSH client you need a key pair.

      So to create that let's move across to the EC2 console, scroll down on the left and select key pairs.

      Now you might already have key pairs created from earlier in the course.

      If you have one created which is called A4L which stands for Animals for Life then that's fine.

      If you don't we're going to go ahead and create that one.

      So click on create key pair and then under name we're going to use A4L.

      Now if you're using Windows 10 or Mac OS or Linux then you can select the PEM file format.

      If you're using Windows 8 or prior then you might need to use the putty application and to do that you need to select PPK.

      But for this demonstration I'm going to assume that you're using the PEM format.

      So again this is valid on Linux, Mac OS or any recent versions of Microsoft Windows.

      So select PEM and then click on create key pair and when you do it's going to present you with a download.

      It's going to want you to save this key pair to your local machine so go ahead and do that.

      Once you've done that from the AWS console attached to this lesson is a one-click deployment link.

      So I want you to go ahead and click that link.

      That's going to move you to a quick create stack screen.

      Everything should be pre-populated.

      The stack name should be EC2 instance connect versus SSH.

      The key name box should already be pre-populated with A4L which is a key that you just created or one which you already had.

      Just move down to the very bottom, check the capabilities box and then click on create stack.

      Now you're going to need this to be in a create complete state before you continue with the demo lesson.

      So pause the video, wait for your stack to change to create complete and then you're good to continue.

      Okay so this stacks now in a create complete status and we're good to continue.

      Now if we click on the resources tab you'll see that this has created the standard animals for life VPC and then it's also created a public EC2 instance.

      So this is an EC2 instance with a public IP version 4 address that we can use to connect to.

      So that's what we're going to do.

      So click on services and then select EC2 to move to the EC2 console.

      Once you're there click on instances running and you should have a single EC2 instance A4L-publicEC2.

      Now the two different ways which I want to demonstrate connecting to this instance in this demo lesson are using a local SSH client and key based authentication and then using the EC2 instance connect method.

      And I want to show you how those differ and give you a few hints and tips which might come in useful for production usage and for the exams.

      So if we just go ahead and select this instance and then click on the security tab you'll see that we have this single security group which is associated to this instance.

      Now make sure the inbound rules is expanded and just have a look at what network traffic is allowed by this security group.

      So the first line allows port 80 TCP which is HTTP and it allows that to connect to the instance from any source IP address specifically IP version 4.

      We can tell it's IP version 4 because it's 0.0.0.0/0 which represents any IP version 4 address.

      Next we allow port 22 using TCP and again using the IP version 4 any IP match and this is the entry which allows SSH to connect into this instance using IP version 4.

      And then lastly we have a corresponding line which allows SSH using IP version 6.

      So we're allowing any IP address to connect using SSH to this EC2 instance.

      And so connecting to it using SSH is relatively simple.

      We can right click on this instance and select connect and then choose SSH client and AWS provides us with all of the relevant information.

      Now note how under step number three we have this line which is chmod space 400 space a4l.pm.

      I want to demonstrate what happens if we attempt to connect without changing the permissions on this key file.

      So to do that right at the bottom is an example command to connect to this instance.

      So just copy that into your clipboard.

      Then I want you to move to your command prompt or terminal.

      In my case I'm running macOS so I'm using a terminal application.

      Then you'll need to move to the folder where you have the PEM file stored or where you just downloaded it in one of the previous steps.

      I'm going to paste in that command which I just copied onto my clipboard.

      This is going to use the a4l.pm file as the identity information and then it's going to connect to the instance using the EC2-user local Linux user.

      And this is the host name that it's going to connect to.

      So this is my EC2 instance.

      Now I'm going to press enter and attempt that connection.

      First it will ask me to verify the authenticity of this server.

      So this is an added security method.

      This is getting the fingerprint of this EC2 instance.

      And it means that if we independently have a copy of this fingerprint, say from the administrator of the server that we're connecting to, then we can verify that we're connecting to that same server.

      Because it's possible that somebody could exploit DNS and replace a legitimate DNS name with one which points at a non-legitimate server.

      So that's important.

      You can't always rely on a DNS name.

      DNS names can be adjusted to point at different IP addresses.

      So this fingerprint is a method that you can use to verify that you're actually connecting to the machine or the instance which you think you are.

      Now in this case, because we've just created this EC2 instance, we can be relatively certain that it is valid.

      So we're just going to go ahead and type yes and press enter.

      And then it will try to connect to this instance.

      Now immediately in my case, I got an error.

      And this error is going to be similar if you're using macOS or Linux.

      If you're using Windows, then there is a chance that you will get this error or won't.

      And if you do get it, it might look slightly different.

      But look for the keyword of permissions.

      If you see that you have a permissions problem with your key, then that's the same error as I'm showing on my screen now.

      Basically what this means is that the SSH client likes it when the permissions on these keys are restricted, restricted to only the user that they belong to.

      Now in my case, the permissions on this file are 644.

      And this represents my user, my group, and then everybody.

      So this means this key is accessible to other users on my local system.

      And that's far too open to be safe when using local SSH.

      Now in Windows, you might have a similar situation where other users of your local machine have read permissions on this file.

      What this error is telling us to do is to correct those permissions.

      So if we go back to the AWS console, this is the command that we need to run to correct those permissions.

      So copy that into your clipboard, move back to your terminal, paste that in, and press enter.

      And that will correct those permissions.

      Now under Windows, the process is that you need to edit the permissions of that file.

      So right click properties and then edit the security.

      And you need to remove any user access to that file other than your local user.

      And that's the same process that we've just done here, only in Windows it's GUI based.

      And under Mac OS or Linux, you use CHmod.

      So now that we've adjusted those permissions, if I use the up arrow to go back to the previous command and press enter, I'm able to connect to the CC2 instance.

      And that's using the SSH client.

      To use the SSH client, you need to have network connectivity to the CC2 instance.

      And you need to have a valid SSH key pair.

      So you need the key stored on your local machine.

      Now this can present scalability issues because if you need to have a large team having access to this instance, then everybody in that team need a copy of this key.

      And so that does present admin problems if you're doing it at scale.

      Now in addition to this, because you're connecting using an SSH client from your local machine, you need to make sure that the security group of this instance allows connections from your local machines.

      So in this case, it allows connections from any source IP address into this instance.

      And so that's valid for my IP address.

      You need to make sure that the security group on whichever instance you're attempting to connect to allows your IP address as a minimum.

      Now another method that you can use to connect to EC2 is EC2 instance connect.

      Now to use that, we right click, we select connect, and we have a number of options at the top.

      One of these is the SSH client that we've just used.

      Another one is EC2 instance connect.

      So if we select this option, we're able to connect to this instance.

      It shows us the instance ID, it shows us the public IP address, and it shows us the user to connect into this instance with.

      Now AWS attempt to automatically determine the correct user to use.

      So when you launch an instance using one of the default AMIs, then it tends to pick correctly.

      However, if you generate your own custom AMI, it often doesn't guess correctly.

      And so you need to make sure that you're using the correct username when connecting using this method.

      But once you've got the correct username, you can just go ahead and click on connect, and then it will open a connection to that instance using your web browser.

      It'll take a few moments to connect, but once it has connected, you'll be placed at the terminal of this EC2 instance in exactly the same way as you were when using your local SSH.

      Now one difference you might have noticed is at no point where you prompted to provide a key.

      When you're using EC2 instance connect, you're using AWS permissions to connect into this instance.

      So because we're logged in using an admin user, we have those permissions, but you do need relevant permissions added to the identity of whoever is using instance connect to be able to connect into the instance.

      So this is managed using identity policies on the user, the group or the role, which is attempting to access this instance.

      Now one important element of this, which I want to demonstrate, if we go back to instances and we select the instance, click on security, and then click on the security group, which is associated with this instance.

      Scroll down, click on edit inbound rules, and then I want you to locate the inbound rule for IP version 4 SSH, SSH TCP 22, and then it's using this catchall, so 0.0.0.0/0, which represents any IP version 4 address.

      So go ahead and click on the cross to remove that, and then on that same line in the source area, click on this drop down and change it to my IP.

      So this is my IP address, yours will be different, but then we're going to go ahead and save that rule.

      Now just close down the tab that you've got connected to instance connect, move back to the terminal, and type exit to disconnect from that instance, and then just rerun the previous command.

      So connect back to that instance using your local SSH client.

      You'll find that it does reconnect because logically enough, this connection is coming from your local IP address, and you've changed the security group to allow connections from that address, so it makes sense that this connection still works.

      Moving back to the console though, let's go to the EC2 dashboard, go to running instances, right click on this instance, go to connect, select EC2 instance connect, and then click on connect and just observe what happens.

      Now you might have spent a few minutes waiting for this to connect, and you'll note that it doesn't connect.

      Now this might seem strange at this point because you're connecting from a web browser, which is running on your local machine.

      So it makes sense that if you can connect from your local SSH client, which is also running on your local machine, you should be able to connect using EC2 instance connect.

      Now this might seem logical, but the crucial thing about EC2 instance connect is that it's not actually originating connections from your local machine.

      What's happening is that you're making a connection through to AWS, and then once your connection arrives at AWS, the EC2 instance connect service is then connecting to the EC2 instance.

      Now what you've just done is you've edited the security group of this instance to only allow your local IP address to connect, and this means that the EC2 instance connect service can no longer connect to this instance.

      So what you need in order to allow the EC2 instance connect service to work is you either need to allow every source IP address, so 0.0.0.0.0/0, but of course that's bad practice for production usage.

      It's much more secure if you go to this URL, and I'll make sure that I include this attached to this lesson.

      This is a list of all of the different IP ranges which AWS use for their services.

      Now because I have this open in Firefox, it might look a little bit different.

      If I just go to raw data, that might look the same as your browser.

      If you're using Firefox, you have the ability to open this as a JSON document.

      Both of them show the same data, but when it's JSON, you have the ability to collapse these individual components.

      But the main point about this document is that this contains a list of all of the different IP addresses which are used in each different region for each different service.

      So if we wanted to allow EC2 instance connect for a particular region, then we might search for instance, locate any of these items which have EC2 instance connect as the service, and then just move through them looking for the one which matches the region that we're using.

      Now in my case, I'm using US East One, so I'd scroll through all of these IP address ranges looking for US East One.

      There we go, I've located it.

      It's using this IP address range.

      So I might copy this into my clipboard, move back to the EC2 console, select the instance, click on security, select the security group of this instance, scroll down, edit the inbound rules, remove the entry for my IP address, paste in the entry for the EC2 instance connect service, and then save that rule.

      And now what you'll find if you move back to your terminal and try to interact with this instance, you might be able to initially because the connection is still established, but if you exit and then attempt to reconnect, this time you'll see that you won't be able to connect because now your local IP address is no longer allowed to connect to this instance.

      However, if you move back to the AWS console, go to the dashboard and then instance is running, right click on the instance and put connect, select instance connect and then click on connect.

      Now you'll be allowed to connect using EC2 instance connect.

      And the reason for that just to reiterate is that you've just edited the security group of this EC2 instance and you've allowed the IP address range of the EC2 instance connect service.

      So now you can connect to this instance and you could do so at scale using AWS permissions.

      So I just wanted to demonstrate how both of those connection methods work, both instance connect and using a local SSH client.

      That's everything I wanted to cover.

      So just go ahead and move back to the CloudFormation console, select this stack that you created using the one click deployment, click on delete and then confirm that process.

      And that will clear up all of the infrastructure that you've used in this demo lesson.

      At this point though, that's everything I wanted to cover.

      So go ahead, complete this video and when you're ready, I'll look forward to you joining me in the next.

    1. Author Response:

      Reviewer #1 (Public review):

      In this study, Deshmukh et al. provide an elegant illustration of Haldane's sieve, the population genetics concept stating that novel advantageous alleles are more likely to fix if dominant because dominant alleles are more readily exposed to selection. To achieve this, the authors rely on a uniquely suited study system, the female-polymorphic butterfly Papilio polytes.

      Deshmukh et al. first reconstruct the chronology of allele evolution in the P. polytes species group, clearly establishing the non-mimetic cyrus allele as ancestral, followed by the origin of the mimetic allele polytes/theseus, via a previously characterized inversion of the dsx locus, and most recently, the origin of the romulus allele in the P. polytes lineage, after its split from P. javanus. The authors then examine the two crucial predictions of Haldane's sieve, using the three alleles of P. polytes (cyrus, polytes, and romulus). First, they report with compelling evidence that these alleles are sequentially dominant, or put in other words, novel adaptive alleles either are or quickly become dominant upon their origin. Second, the authors find a robust signature of positive selection at the dsx locus, across all five species that share the polytes allele.

      In addition to exquisitely exemplifying Haldane's sieve, this study characterizes the genetic differences (or lack thereof) between mimetic alleles at the dsx locus. Remarkably, the polytes and romulus alleles are profoundly differentiated, despite their short divergence time (< 0.5 my), whereas the polytes and theseus alleles are indistinguishable across both coding and intronic sequences of dsx. Finally, the study reports incidental evidence of exon swaps between the polytes and romulus alleles. These exon swaps caused intermediate colour patterns and suggest that (rare) recombination might be a mechanism by which novel morphs evolve.

      This study advances our understanding of the evolution of the mimicry polymorphism in Papilio butterflies. This is an important contribution to a system already at the forefront of research on the genetic and developmental basis of sex-specific phenotypic morphs, which are common in insects. More generally, the findings of this study have important implications for how we think about the molecular dynamics of adaptation. In particular, I found that finding extensive genetic divergence between the polytes and romulus alleles is striking, and it challenges the way I used to think about the evolution of this and other otherwise conserved developmental genes. I think that this study is also a great resource for teaching evolution. By linking classic population genetic theory to modern genomic methods, while using visually appealing traits (colour patterns), this study provides a simple yet compelling example to bring to a classroom.

      In general, I think that the conclusions of the study, in terms of the evolutionary history of the locus, the dominance relationships between P. polytes alleles, and the inference of a selective sweep in spite of contemporary balancing selection, are strongly supported; the data set is impressive and the analyses are all rigorous. I nonetheless think that there are a few ways in which the current presentation of these data could lead to confusion, and should be clarified and potentially also expanded.

      We thank the reviewer for the kind and encouraging assessment of our work.

      (1) The study is presented as addressing a paradox related to the evolution of phenotypic novelty in "highly constrained genetic architectures". If I understand correctly, these constraints are assumed to arise because the dsx inversion acts as a barrier to recombination. I agree that recombination in the mimicry locus is reduced and that recombination can be a source of phenotypic novelty. However, I'm not convinced that the presence of a structural variant necessarily constrains the potential evolution of novel discrete phenotypes. Instead, I'm having a hard time coming up with examples of discrete phenotypic polymorphisms that do not involve structural variants. If there is a paradox here, I think it should be more clearly justified, including an explanation of what a constrained genetic architecture means. I also think that the Discussion would be the place to return to this supposed paradox, and tell us exactly how the observations of exon swaps and the genetic characterization of the different mimicry alleles help resolve it.

      The paradox that we refer to here is essentially the contrast of evolving new adaptive traits which are genetically regulated, while maintaining the existing adaptive trait(s) at its fitness peak. While one of the mechanisms to achieve this could be differential structural rearrangement at the chromosomal level, it could arise due to alternative alleles or splice variants of a key gene (caste determination in Cardiocondyla ants), and differential regulation of expression (the spatial regulation of melanization in Nymphalid butterflies by ivory lncRNA). In each of these cases, a new mutation would have to give rise to a new phenotype without diluting the existing adaptive traits when it arises. We focused on structural variants, because that was the case in our study system, however, the point we were making referred to evolution of novel traits in general. We will add a section in the revised discussion to address this.

      (2) While Haldane's sieve is clearly demonstrated in the P. polytes lineage (with cyrus, polytes, and romulus alleles), there is another allele trio (cyrus, polytes, and theseus) for which Haldane's sieve could also be expected. However, the chronological order in which polytes and theseus evolved remains unresolved, precluding a similar investigation of sequential dominance. Likewise, the locus that differentiates polytes from theseus is unknown, so it's not currently feasible to identify a signature of positive selection shared by P. javanus and P. alphenor at this locus. I, therefore, think that it is premature to conclude that the evolution of these mimicry polymorphisms generally follows Haldane's sieve; of two allele trios, only one currently shows the expected pattern.

      We agree with the reviewer that the genetic basis of f. theseus requires further investigation. f. theseus occupies the same level on the dominance hierarchy of dsx alleles as f. polytes (Clarke and Sheppard, 1972) and the allelic variant of dsx present in both these female forms is identical, so there exists just one trio of alleles of dsx. Based on this evidence, we cannot comment on the origin of forms theseus and polytes. They could have arisen at the same time or sequentially. Since our paper is largely focused on the sequential evolution of dsx alleles through Haldane’s sieve, we have included f. theseus in our conclusions. We think that it fits into the framework of Haldane’s sieve due to its genetic dominance over the non-mimetic female form. However, this aspect needs to be explored further in a more specific study focusing on the characterization, origin, and developmental genetics of f. theseus in the future.

      Reviewer #2 (Public review):

      Summary:

      Deshmukh and colleagues studied the evolution of mimetic morphs in the Papilio polytes species group. They investigate the timing of origin of haplotypes associated with different morphs, their dominance relationships, associations with different isoform expressions, and evidence for selection and recombination in the sequence data. P. polytes is a textbook example of a Batesian mimic, and this study provides important nuanced insights into its evolution, and will therefore be relevant to many evolutionary biologists. I find the results regarding dominance and the sequence of events generally convincing, but I have some concerns about the motivation and interpretation of some other analyses, particularly the tests for selection.

      We thank the reviewer for these insightful remarks.

      Strengths:

      This study uses widespread sampling, large sample sizes from crossing experiments, and a wide range of data sources.

      We appreciate this point. This strength has indeed helped us illuminate the evolutionary dynamics of this classic example of balanced polymorphism.

      Weaknesses:

      (1) Purpose and premise of selective sweep analysis

      A major narrative of the paper is that new mimetic alleles have arisen and spread to high frequency, and their dominance over the pre-existing alleles is consistent with Haldane's sieve. It would therefore make sense to test for selective sweep signatures within each morph (and its corresponding dsx haplotype), rather than at the species level. This would allow a test of the prediction that those morphs that arose most recently would have the strongest sweep signatures.

      Sweep signatures erode over time - see Figure 2 of Moest et al. 2020 (https://doi.org/10.1371/journal.pbio.3000597), and it is unclear whether we expect the signatures of the original sweeps of these haplotypes to still be detectable at all. Moest et al show that sweep signatures are completely eroded by 1N generations after the event, and probably not detectable much sooner than that, so assuming effective population sizes of these species of a few million, at what time scale can we expect to detect sweeps? If these putative sweeps are in fact more recent than the origin of the different morphs, perhaps they would more likely be associated with the refinement of mimicry, but not necessarily providing evidence for or against a Haldane's sieve process in the origin of the morphs.

      Our original plan was to perform signatures of sweeps on individual morphs, but we have very small sample sizes for individual morphs in some species, which made it difficult to perform the analysis. We agree that signatures of selective sweeps cannot give us an estimate of possible timescales of the sweep. They simply indicate that there may have been a sweep in a certain genomic region. Therefore, with just the data from selective sweeps, we cannot determine whether these occurred with refining of mimicry or the mimetic phenotype itself. We have thus made no interpretations regarding time scales or causal events of the sweep. Additionally, we discuss the results we obtained for individual alleles represent what could have occurred at the point of origin of mimetic resemblance or in the course of perfecting the resemblance, although we cannot differentiate between the two at this point (lines 320 to 333).

      (2) Selective sweep methods

      A tool called RAiSD was used to detect signatures of selective sweeps, but this manuscript does not describe what signatures this tool considers (reduced diversity, skewed frequency spectrum, increased LD, all of the above?). Given the comment above, would this tool be sensitive to incomplete sweeps that affect only one morph in a species-level dataset? It is also not clear how RAiSD could identify signatures of selective sweeps at individual SNPs (line 206). Sweeps occur over tracts of the genome and it is often difficult to associate a sweep with a single gene.

      RAiSD (https://www.nature.com/articles/s42003-018-0085-8) detects selective sweeps using the μ statistic, which is a combined score of SFS, LD, and genetic diversity along a chromosome. The tool is quite sensitive and is able to detect soft sweeps. RAiSD can use a VCF variant file comprising of SNP data as input and uses an SNP-driven sliding window approach to scan the genome for signatures of sweep. Using an SNP file instead of runs of sequences prevents repeated calculations in regions that are sparse in variants, thereby optimizing execution time. Due to the nature of the input we used, the μ statistic was also calculated per site. We then tried to annotate the SNPs based on which genes they occur in and found that all species showing mimicry had atleast one site that showed a signature of sweep contained within the dsx locus.

      (3) Episodic diversification

      Very little information is provided about the Branch-site Unrestricted Statistical Test for Episodic Diversification (BUSTED) and Mixed Effects Model of Evolution (MEME), and what hypothesis the authors were testing by applying these methods. Although it is not mentioned in the manuscript, a quick search reveals that these are methods to study codon evolution along branches of a phylogeny. Without this information, it is difficult to understand the motivation for this analysis.

      We thank you for bringing this to our notice, we will add a few lines in the Methods about the hypothesis we were testing and the motivation behind this analysis. We will additionally cite a previous study from our group which used these and other methods to study the molecular evolution of dsx across insect lineages.

      (4) GWAS for form romulus

      The authors argue that the lack of SNP associations within dsx for form romulus is caused by poor read mapping in the inverted region itself (line 125). If this is true, we would expect strong association in the regions immediately outside the inversion. From Figure S3, there are four discrete peaks of association, and the location of dsx and the inversion are not indicated, so it is difficult to understand the authors' interpretation in light of this figure.

      We indeed observe the regions flanking dsx showing the highest association in our GWAS. This is a bit tricky to demonstrate in the figure as the genome is not assembled at the chromosome level. However, the association peaks occur on scf 908437033 at positions 2192979, 1181012 and 1352228 (Fig. S3c, Table S3) while dsx is located between 1938098 and 2045969. We will add the position of dsx in the figure legend of the revised manuscript.

      (5) Form theseus

      Since there appears to be only one sequence available for form theseus (actually it is said to be "P. javanus f. polytes/theseus"), is it reasonable to conclude that "the dsx coding sequence of f. theseus was identical to that of f. polytes in both P. javanus and P. alphenor" (Line 151)? Looking at the Clarke and Sheppard (1972) paper cited in the statement that "f. polytes and f. theseus show equal dominance" (line 153), it seems to me that their definition of theseus is quite different from that here. Without addressing this discrepancy, the results are difficult to interpret.

      Among P. javanus individuals sampled by us, we obtained just one individual with f. theseus and the H P allele, however, in the data we added from a previously published study (Zhang et. al. 2017), we were able to add nine more individuals of this form (Fig. S4b and S7), while we did not show these individuals in Fig 3 (which was based on PCR amplification and sequencing of individual exons od dsx), all the analysis with sequence data was performed on 10 theseus individuals in total. In Zhang et. al. the authors observed what we now know are species specific differences when comparing theseus and polytes dsx alleles and not allele-specific differences. Our observations were consistent with these findings.

    1. Welcome back.

      This is part two of this lesson.

      We're going to continue immediately from the end of part one.

      So let's get started.

      So focusing specifically on the animals for life scenario.

      So what we're going to do in the upcoming demo lesson, to implement a truly resilient architecture for net services in a VPC, you need a net gateway in a public subnet inside each availability zone that the VPC uses.

      So just like on the diagram that you've gone through now.

      And then as a minimum, you need private route tables in each availability zone.

      In this example, AZA, AZB, and then AZC.

      Each of these would need to have their own route table, which would have a default IP version for route, which points at the net gateway in the same availability zone.

      That way, if any availability zone fails, the others could continue operating without issues.

      Now, this is important.

      I've seen it in a few of some questions.

      Where it suggests that one net gateway is enough, that a net gateway is truly regionally resilient.

      This is false.

      A net gateway is highly available in the availability zone that it's in.

      So if hardware fails or it needs to scale to cope with load, it can do so in that AZ.

      But if the whole AZ fails, there is no failover.

      You provision a net gateway into a specific availability zone, not the region.

      It's not like the internet gateway, which by default is region resilient.

      For a net gateway, you have to deploy one into each AZ that you use if you need that region resilience.

      Now, my apologies in advance for the small text.

      It's far easier to have this all on screen at once.

      I mentioned at the start of the lesson that net used to be provided by net instances, and these are just for the net process running on an EC2 instance.

      Now, I don't expect this to feature on the exam at this point.

      But if you ever need to use a net instance, by default, EC2 filters all traffic that it sends or receives.

      It essentially drops any data that is on its network card when that network card is not either the source or the destination.

      So if an instance is running as a net instance, then it will be receiving some data which the source address will be of other resources in that VPC.

      And the destination will be a host on the internet.

      So it will neither be the source nor the destination.

      So by default, that traffic will be dropped.

      And if you need to allow an EC2 instance to function as a net instance, then you need to disable a feature called source and destination checks.

      This can be disabled via the console UI, the CLI, or the API.

      The only reason I mention this is I have seen this question in the exam before, and if you do implement this in a real-world production-style scenario, you need to be aware that this feature exists.

      I don't want you wasting your time trying to diagnose this feature.

      So if you just right-click on an instance in the console, you'll be able to see an option to disable source and destination checks.

      And that is required if you want to use an EC2 instance as a net instance.

      Now, at the highest level, architecturally, net instances and net dayways are kind of the same.

      They both need a public ID address.

      They both need to run in a public subnet, and they both need a functional internet gateway.

      But at this point, it's not really preferred to use EC2 running as a net instance.

      It's much easier to use a net gateway, and it's recommended by AWS in most situations.

      But there are a few key scenarios where you might want to consider using an EC2-based net instance.

      So let's just step through some of the criteria that you might be looking at when deploying net services.

      If you value availability, bandwidth, low levels of maintenance, and high performance, then you should use net gateways.

      That goes for both real-world production usage, as well as being default for answering any exam questions.

      A net gateway offers high-end performance, its scales, its custom design, perform network address translation.

      A net instance in comparison is limited by the capabilities of the instances running on, and that instance is also general purpose, so it won't offer the same level of custom design performance as a net gateway.

      Now, availability is another important consideration, and that instance is a single EC2 instance running inside an availability zone.

      It will fail if the EC2 hardware fails.

      It will fail if its storage fails or if its network fails, and it will fail if the AZ itself fails entirely.

      A net gateway has some benefits over a net instance.

      So inside one availability zone, it's highly available, so it can automatically recover, it can automatically scale.

      So it removes almost all of the risks of outage versus a net instance.

      But it will still fail entirely if the AZ fails entirely.

      You still need provision, multiple net gateways, spread across all the AZs that you intend to use, if you want to ensure complete availability.

      For maximum availability, a net gateway in every AZ you use.

      This is critical to remember for the exam.

      Now, if cost is your primary choice, if you're a financially challenged business, or if the VPC that you're deploying net services into is just a test VPC or something that's incredibly low volume, then a net instance can be cheaper.

      It can also be significantly cheaper at high volumes of data.

      You've got a couple of options.

      You can use a very small EC2 instance, even ones that are free tier eligible to reduce costs, and the instances can also be fixed in size, meaning they offer predictable costs.

      A net gateway will scale automatically, and you'll build for both the net gateway and the amount of data transferred, which increases as the gateway scales.

      A net gateway is also not free tier eligible.

      Now, this is really important because when we deploy these in the next demo lesson, it's one of those services that I need to warn you will come at a cost, so you need to be aware of that fact.

      You will be charged for a net gateway regardless of how small the usage.

      Net instances also offer other niche advantages because they're just EC2 instances.

      You can connect to them just like you would any other EC2 instance.

      You can multi-purpose them so you can use them for other things, such as passing hosts.

      You can also use them for port forwarding, so you can have the port on the instance externally that could be connected to over the public internet, and have this forwarded-on for an instance inside the VPC.

      Maybe port 8 if a web, or port 443 for secure web.

      You can be completely flexible when you use net instances.

      With a net gateway, this isn't possible because you don't have access to manage it.

      It's a managed service.

      Now, this comes up all the time in the exam, so try and get it really clear in your memory, and that gateway cannot be used as a passing host.

      It cannot do port forwarding because you cannot connect to its operating system.

      Now, finally, this is again one focus on the exam.

      Net instances are just EC2 instances, so you can filter traffic using the network ACLs on the subnet instances in, or security groups directly associated with that instance.

      Net gateways don't support security groups.

      You can only use knuckles with net gateways.

      This one comes up all the time in the exam, so it's worth noting down and maybe making a flashcard with.

      Now, a few more things before we finish up.

      What about IP version 6?

      The focus of net is to allow private IP version 4 addresses to be used to connect in an outgoing only way to the AWS public zone and public internet.

      Inside AWS, all IP version 6 addresses are publicly routable, so this means that you do not require net when using IP version 6.

      The internet gateway works directly with IP version 6 addresses, so if you choose to make an instance in a private subnet, have a default IP version 6 route to the internet gateway, it will become a public instance.

      As long as you don't have any knuckles or any security groups, any IP version 6 IP address in AWS can communicate directly with the AWS public zone and the public internet.

      So the internet gateway can work directly with IP version 6.

      Net gateways do not work with IP version 6, they're not required and they don't function with IP version 6.

      So for the exam, if you see any questions which mention IP version 6 and net gateways, you can exclude the answer.

      Net gateways do not work with IP version 6 and you can repeat it because I really wanted to stick in your memory.

      So with any subnet inside AWS, which has been configured for IP version 6, if you add the IP version 6 default route, which is colon colon 4 slash 0, if you add that route and you point that route at the internet gateway as a target, that will give that instance bi-directional connectivity to the public internet and it will allow it to reach the AWS public zone and public services.

      One service that we'll be talking about later on in the course when I cover more advanced features of VPC is a different type of gateway, known as an egress-only internet gateway.

      This is a specific type of internet gateway that works only with IP version 6 and you use it when you want to give an IP version 6 instance outgoing only access to the public internet and the AWS public zone.

      So don't worry, we'll be covering that later in the course, but I want to get it really burned into your memory that you do not use net and you do not use net gateways with IP version 6.

      It will not work.

      Now to get you some experience of using net gateways, it's time for a demo.

      In the demo lesson, I'm going to be stepping you through what you need to do to provision a completely resilient net gateway architecture.

      So that's using net gateway in each availability zone as well as configuring the routing required to make it work.

      It's going to be one of the final pieces to our multi-tier VPC and it will allow private instances to have full outgoing internet access.

      Now I can't wait for us to complete this together.

      It's going to be a really interesting demo, one that will be really useful if you're doing this in the real world or if you have to answer exam questions related to net or net gateway.

      So go ahead, complete the video and when you're ready, join me in the demo.

    1. Author response:

      The following is the authors’ response to the original reviews.

      Reviewer #1 (Public Review):

      Weaknesses:

      The match between fractal and classical cycles is not one-to-one. For example, the fractal method identifies a correlation between age and cycle duration in adults that is not apparent with the classical method. This raises the question as to whether differences are due to one method being more reliable than another or whether they are also identifying different underlying biological differences. It is not clear for example whether the agreement between the two methods is better or worse than between two human scorers, which generally serve as a gold standard to validate novel methods. The authors provide some insight into differences between the methods that could account for differences in results. However, given that the fractal method is automatic it would be important to clearly identify criteria for recordings in which it will produce similar results to the classical method.

      Thank you for these insightful suggestions. In the revised Manuscript, we have added a number of additional analyses that provide a quantitative comparison between the classical and fractal cycle approaches aiming to identify the source of the discrepancies between classical and fractal cycle durations. Likewise, we assessed the intra-fractal and intra-classical method reliability as outlined below.

      Reviewer #1 (Recommendations For The Authors):

      One of the challenges in interpreting the results of the manuscript is understanding whether the differences between the two methods are due to a genuine difference in what these two methods are quantifying or simply noise/variability in each method. If the authors could provide some more insight into this, it would be a great help in assessing their findings and I think bolster the applicability of their method.

      (1) Method reliability: The manuscript clearly shows that cycle length is robustly correlated between fractal and classical in multiple datasets, however, it is hard to assign a meaningful interpretation to the correlation value (ie R = 0.5) without some reference point. This could be provided by looking at the intra-method correlation of cycle lengths. In the case of classical scoring, inter-scorer results could be compared, if the R-value here is significantly higher than 0.5 it would suggest genuine differences between the methods. In the case of fractal scoring, inter-electrode results could be compared / results with slight changes to the peak prominence threshold or smoothing window.

      In the revised Manuscript, we performed the following analyses to show the intra-method reliability:

      a) Classical cycle reliability: For the revised Manuscript, an additional scorer has independently defined classical sleep cycles for all datasets and marked sleep cycles with skipped REM sleep. Likewise, we have performed automatic sleep cycle detection using the R “SleepCycles” package by Blume & Cajochen (2021). We have added a new Table S8 to Supplementary Material 2 that shows the averaged cycle durations and cycle numbers obtained by the two human scorers and automatic algorithm as well as the inter-scorer rate agreement. We have added a new sheet named “Classical method reliability” that reports classical cycle durations for each participant and each dataset as defined by two human scorers and the algorithm To the Supplementary Excel file.

      We found that the correlation coefficients between two human scorers ranged from 0.69 to 0.91 (in literature, r’s > 0.7 are defined as strong scores) in different datasets, thus being higher than correlation coefficients between fractal and classical cycle durations, which in turn ranged from 0.41 to 0.55 (r’s in the range of 0.3 – 0.7 are considered moderate scores). The correlation coefficients between human raters and the automatic algorithm showed remarkably lower coefficients ranging from 0.30 to 0.69 (moderate scores) in different datasets, thus lying within the range of the correlation coefficients between fractal and classical cycle durations. This analysis is reported in Supplementary Material 2, section ”Intra-classical method reliability” and Table S8.

      b) Fractal cycle reliability: In the revised Supplementary Material 2 of our Manuscript, we assessed the intra-fractal method reliability, we correlated between the durations of fractal cycles calculated as defined in the main text, i.e., using a minimum peak prominence of 0.94 z and smoothing window of 101 thirty-second epochs, with those calculated using a minimum peak prominence ranging from 0.86 to 1.20 z with a step size of 0.04 z and smoothing windows ranging from 81 to 121 thirty-second epochs with a step size of 10 epochs (Table S7). We found that fractal cycle durations calculated using adjacent minimum peak prominence (i.e., those that differed by 0.04 z) showed r’s > 0.92, while those calculated using adjacent smoothing windows (i.e., those that differed by 10 epochs) showed r’s > 0.84. In addition, we correlated fractal cycle durations defined using different channels and found that the correlation coefficients ranged between 0.66 – 0.67 (Table S1). Thus, most of the correlations performed to assess intra-fractal method reliability showed correlation coefficients (r > 0.6) higher than those obtained to assess inter-method reliability (r = 0.41 – 0.55), i.e., correlations between fractal and classical cycle. This analysis is reported in Supplementary Material 2, section ”Intra-fractal method reliability” and Table S7. Likewise, we have added a new sheet named “Fractal method reliability” that reports the actual values for the abovementioned parameters to the Supplementary Excel file. For a discussion on potential sources of differences, see below.

      (2) Origin of method differences: The authors outline a few possible sources of discrepancies between the two methods (peak vs REM end, skipped REM cycle detection...) but do not quantify these contributions. It would be interesting to identify some factors that could predict for either a given night of sleep or dataset whether it is likely to show a strong or weak agreement between methods. This could be achieved by correlating measures of the proposed differences ("peak flatness", fractal cycle depth, or proportion of skipped REM cycles) with the mismatch between the two methods.

      In the revised Manuscript, we have quantified a few possible sources of discrepancies between the durations of fractal vs classical cycles and added a new section named “Sources of fractal and classical cycle mismatches” to the Results as well as new Tables 5 and S10 (Supplementary Material 2). Namely, we correlated the difference in classical vs fractal sleep cycle durations on the one side, and either the amplitude of fractal descent/ascent (to reflect fractal cycle depth), duration of cycles with skipped REM sleep/TST, duration of wake after sleep onset/TST or the REM episode length of a given cycle (to reflect peak flatness) on the other side. We found that a higher difference in classical vs fractal cycle duration was associated with a higher proportion of wake after sleep onset (r = 0.226, p = 0.001), shallower fractal descents (r = 0.15, p = 0.002) and longer REM episodes (r = 0.358, p < 0.001, n = 417 cycles, Table S10 in Supplementary Material 2). The rest of the assessed parameters showed no significant correlations (Table S10). We have added a new sheet named “Fractal-classical mismatch” that reports the actual values for the abovementioned parameters to the Supplementary Excel file.  

      (3) Skipped REM cycles: the authors underline that the fractal method identified skipped REM cycles. It seems likely that manual identification of skipped REM cycles is particularly challenging (ie we would expect this to be a particular source of error between two human scorers). If this is indeed the case, it would be interesting to discuss, since it would highlight an advantage of their methodology that they already point out (l644).

      In the revised Manuscript, we have added the inter-scorer rate agreement regarding cycles with skipped REM sleep, which was equal to 61%, which is 32% lower than the performance of our fractal cycle algorithm (93%). These findings are now reported in the “Skipped cycles” section of the Results and in Table S9 of Supplementary Material 2. We also discuss them in Discussion:

      “Our algorithm detected skipped cycles in 93% of cases while the hypnogram-based agreement on the presence/absence of skipped cycles between two independent human raters was 61% only; thus, 32% lower. We deduce that the fractal cycle algorithm detected skipped cycles since a lightening of sleep that replaces a REM episode in skipped cycles is often expressed as a local peak in fractal time series.”<br /> Discussion, section “Fractal and classical cycles comparison”, paragraph 5.

      Minor comments:

      - In the subjects where the number of fractal and classical cycles did not match, how large was the difference (ie just one extra cycle or more)? Correlating cycle numbers could be one way to quantify this.

      In the revised Manuscript, we have reported the required information for the participants with no one-to-one match (46% of all participants) as follows: 

      “In the remaining 46% of the participants, the difference between the fractal and classical cycle numbers ranged from -2 to 2 with the average of -0.23 ± 1.23 cycle. This subgroup had 4.6 ± 1.2 fractal cycles per participant, while the number of classical cycles was 4.9 ± 0.7 cycles per participant. The correlation coefficient between the fractal and classical cycle numbers was 0.280 (p = 0.006) and between the cycle durations – 0.278 (p=0.006).” Results, section “Correspondence between fractal and classical cycles”, last paragraph.

      - When discussing the skipped REM cycles (l467), the authors explain: "For simplicity and between-subject consistency, we included in the analysis only the first cycles". I'm not sure I understood this, could they clarify to which analysis they are referring to?

      In the revised Manuscript, we performed this analysis twice: using first cycles and using all cycles and therefore have rephrased this as follows:

      _“We tested whether the fractal cycle algorithm can detect skipped cycles, i.e., the cycles where an anticipated REM episode is skipped (possibly due to too high homeostatic pressure). We performed this analysis twice. First, we counted all skipped cycles (except the last cycles of a night, which might lack REM episode for other reasons, e.g., a participant had/was woken up). Second, we counted only the first classical cycles (i.e., the first cycle out of the 4 – 6 cycles that each participant had per night, Fig. 3 A – B) as these cy_cles coincide with the highest NREM pressure. An additional reason to disregard skipped cycles observed later during the night was our aim to achieve higher between-subject consistency as later skipped cycles were observed in only a small number of participants.” Results, section “Skipped cycles”, first paragraph.

      - The inclusion of all the hypnograms as a supplementary is a great idea to give the reader concrete intuition of the data. If the limits of the sleep cycles for both methods could be added it would be very useful.

      Supplementary Material 1 has been updated such that each graph has a mark showing the onsets of fractal and classical sleep cycles, including classical cycles with skipped REM sleep.

      - The difference in cycle duration between adults and children seems stronger / more reliable for the fractal cycle method, particularly in the histogram (Figure 3C). Is this difference statistically significant?

      In the revised Manuscript, we have added the Multivariate Analysis of Variance to compare F-values, partial R-squared and eta squared. The findings are as follows:

      “To compare the fractal approach with the classical one, we performed a Multivariate Analysis of Variance with fractal and classical cycle durations as dependent variables, the group as an independent variable and the age as a covariate. We found that fractal cycle durations showed higher F-values (F(1, 43)  \= 4.5 vs F(1, 43) = 3.1), adjusted R squared (0.138 vs 0.089) and effect sizes (partial eta squared 0.18 vs 0.13) than classical cycle durations.” Results, Fractal cycles in children and adolescents, paragraph 3.

      There have been some recent efforts to define sleep cycles in an automatic way using machine learning approaches. It could be interesting to mention these in the discussion and highlight their relevance to the general endeavour of automatizing the sleep cycle identification process.

      In the Discussion of the revised Manuscript, we have added the section on the existing automatic sleep cycle definition algorithms:

      “Even though recently, there has been a significant surge in sleep analysis incorporating various machine learning techniques and deep neural network architectures, we should stress that this research line mainly focused on the automatic classification of sleep stages and disorders almost ignoring the area of sleep cycles. Here, as a reference method, we used one of the very few available algorithms for sleep cycle detection (Blume & Cajochen, 2021). We found that automatically identified classical sleep cycles only moderately correlated with those detected by human raters (r’s = 0.3 – 0.7 in different datasets). These coefficients lay within the range of the coefficients between fractal and classical cycle durations (r = 0.41 – 0.55, moderate) and outside the range of the coefficients between classical cycle durations detected by two human scorers (r’s = 0.7 – 0.9, strong, Supplementary Material 2, Table S8).” Discussion, section “Fractal and classical cycles comparison”, paragraph 4.

      Reviewer #2 (Public Review):

      One weakness of the study, from my perspective, was that the IRASA fits to the data (e.g. the PSD, such as in Figure 1B), were not illustrated. One cannot get a sense of whether or not the algorithm is based entirely on the fractal component or whether the oscillatory component of the PSD also influences the slope calculations. This should be better illustrated, but I assume the fits are quite good.

      Thank you for this suggestion. In the revised Manuscript, we have added a new figure (Fig.S1 E, Supplementary Material 2), illustrating the goodness of fit of the data as assessed by the IRASA method.

      The cycles detected using IRASA are called fractal cycles. I appreciate the use of a simple term for this, but I am also concerned whether it could be potentially misleading? The term suggests there is something fractal about the cycle, whereas it's really just that the fractal component of the PSD is used to detect the cycle. A more appropriate term could be "fractal-detected cycles" or "fractal-based cycle" perhaps?

      We agree that these cycles are not fractal per se. In the Introduction, when we mention them for the first time, we name them “fractal activity-based cycles of sleep” and immediately after that add “or fractal cycles for short”. In the revised version, we renewed this abbreviation with each new major section and in Abstract. Nevertheless, given that the term “fractal cycles” is used 88 times, after those “reminders”, we used the short name again to facilitate readability. We hope that this will highlight that the cycles are not fractal per se and thus reduce the possible confusion while keeping the manuscript short.

      The study performs various comparisons of the durations of sleep cycles evaluated by the IRASA-based algorithm vs. conventional sleep scoring. One concern I had was that it appears cycles were simply identified by their order (first, second, etc.) but were not otherwise matched. This is problematic because, as evident from examples such as Figure 3B, sometimes one cycle conventionally scored is matched onto two fractal-based cycles. In the case of the Figure 3B example, it would be more appropriate to compare the duration of conventional cycle 5 vs. fractal cycle 7, rather than 5 vs. 5, as it appears is currently being performed.

      In cases where the number of fractal cycles differed from the number of classical cycles (from 34 to 55% in different datasets as in the case of Fig.3B), we did not perform one-to-one matching of cycles. Instead, we averaged the duration of the fractal and classical cycles over each participant and only then correlated between them (Fig.2C). For a subset of the participants (45 – 66% of the participants in different datasets) with a one-to-one match between the fractal and classical cycles, we performed an additional correlation without averaging, i.e., we correlated the durations of individual fractal and classical cycles (Fig.4S of Supplementary Material 2). This is stated in the Methods, section Statistical analysis, paragraph 2.

      There are a few statements in the discussion that I felt were either not well-supported. L629: about the "little biological foundation" of categorical definitions, e.g. for REM sleep or wake? I cannot agree with this statement as written. Also about "the gradual nature of typical biological processes". Surely the action potential is not gradual and there are many other examples of all-or-none biological events.

      In the revised Manuscript, we have removed these statements from both Introduction and Discussion.

      The authors appear to acknowledge a key point, which is that their methods do not discriminate between awake and REM periods. Thus their algorithm essentially detected cycles of slow-wave sleep alternating with wake/REM. Judging by the examples provided this appears to account for both the correspondence between fractal-based and conventional cycles, as well as their disagreements during the early part of the sleep cycle. While this point is acknowledged in the discussion section around L686. I am surprised that the authors then argue against this correspondence on L695. I did not find the "not-a-number" controls to be convincing. No examples were provided of such cycles, and it's hard to understand how positive z-values of the slopes are possible without the presence of some wake unless N1 stages are sufficient to provide a detected cycle (in which case, then the argument still holds except that its alterations between slow-wave sleep and N1 that could be what drives the detection).

      In the revised Manuscript, we have removed the “NaN analysis” from both Results and Discussion. We have replaced it with the correlation between the difference between the durations of the classical and fractal cycles and proportion of wake after sleep onset. The finding is as follows:

      “A larger difference between the durations of the classical and fractal cycles was associated with a higher proportion of wake after sleep onset in 3/5 datasets as well as in the merged dataset (Supplementary Material 2, Table S10).” Results, section “Fractal cycles and wake after sleep onset”, last two sentences. This is also discussed in Discussion, section “Fractal cycles and age”, paragraph 1, last sentence. 

      To me, it seems important to make clear whether the paper is proposing a different definition of cycles that could be easily detected without considering fractals or spectral slopes, but simply adjusting what one calls the onset/offset of a cycle, or whether there is something fundamentally important about measuring the PSD slope. The paper seems to be suggesting the latter but my sense from the results is that it's rather the former.

      Thank you for this important comment. Overall, our paper suggests that the fractal approach might reflect the cycling nature of sleep in a more precise and sensitive way than classical hypnograms. Importantly, neither fractal nor classical methods can shed light on the mechanism underlying sleep cycle generation due to their correlational approach. Despite this, the advantages of fractal over classical methods mentioned in our Manuscript are as follows:

      (1) Fractal cycles are based on a real-valued metric with known neurophysiological functional significance, which introduces a biological foundation and a more gradual impression of nocturnal changes compared to the abrupt changes that are inherent to hypnograms that use a rather arbitrary assigned categorical value (e.g., wake=0, REM=-1, N1=-2, N2=-3 and SWS=-4, Fig.2 A).

      (2) Fractal cycle computation is automatic and thus objective, whereas classical sleep cycle detection is usually based on the visual inspection of hypnograms, which is time-consuming, subjective and error-prone. Few automatic algorithms are available for sleep cycle detection, which only moderately correlated with classical cycles detected by human raters (r’s = 0.3 – 0.7 in different datasets here).

      (3) Defining the precise end of a classical sleep cycle with skipped REM sleep that is common in children, adolescents and young adults using a hypnogram is often difficult and arbitrary.   The fractal cycle algorithm could detect such cycles in 93% of cases while the hypnogram-based agreement on the presence/absence of skipped cycles between two independent human raters was 61% only; thus, 32% lower.

      (4) The fractal analysis showed a stronger effect size, higher F-value and R-squared than the classical analysis for the cycle duration comparison in children and adolescents vs young adults. The first and second fractal cycles were significantly shorter in the pediatric compared to the adult group, whereas the classical approach could not detect this difference.

      (5) Fractal – but not classical – cycle durations correlated with the age of adult participants.

      These bullets are now summarized in Table 5 that has been added to the Discussion of the revised manuscript.

    1. Reviewer #1 (Public review):

      Summary:

      This paper examines plasticity in early cortical (V1-V3) areas in an impressively large number of rod monochromats (individuals with achromatopia). The paper examines three things:

      (1) Cortical thickness. It is now well established that early complete blindness leads to increases in cortical thickness. This paper shows increased thickness confined to the foveal projection zone within achromats. This paper replicates the work by Molz (2022) and Lowndes (2021), but the detailed mapping of cortical thickness as a function of eccentricity and the inclusion of higher visual areas is particularly elegant.

      (2) Failure to show largescale reorganization of early visual areas using retinotopic mapping. This is a replication of a very recent study by Molz et al. but I believe, given anatomical variability (and the very large n in this study) and how susceptible pRF findings are to small changes in procedure, this replication is also of interest.

      (3) Connective field modelling, examining the connections between V3-V1. The paper finds changes in the pattern of connections, and smaller connective fields in individuals with achromatopsia than normally sighted controls, and suggests that these reflect compensatory plasticity, with V3 compensating for the lower resolution V1 signal in individuals with achromatopsia.

      Strengths:

      This is a carefully done study (both in terms of data collection and analysis) that is an impressive amount of work. I have a number of methodological comments but I hope they will be considered as constructive engagement - this work is highly technical with a large number of factors to consider.

      Weaknesses:

      (1) Effects of eye-movements

      I have some concerns with how the effects of eye-movements are being examined. There are two main reasons the authors give for excluding eye-movements as a factor in their results. Both explanations have limitations.

      a) The first is that R2 values are similar across groups in the foveal confluence. This is fine as far as it goes, but R2 values are going to be low in that region. So this shows that eye-movements don't affect coverage (the number of voxels that generate a reliable pRF), but doesn't show that eye-movements aren't impacting their other measures.

      b) The authors don't see a clear relationship between coverage and fixation stability. This seems to rest on a few ad hoc examples. (What happens if one plots mean fixation deviation vs. coverage (and sets the individuals who could not be calibrated as the highest value of calibrated fixation deviation. Does a relationship then emerge?).

      In any case, I wouldn't expect coverage to be particularly susceptible to eye-movements. If a voxel in the cortex entirely projects to the scotoma then it should be robustly silent. The effects of eye-movements will be to distort the size and eccentricity estimates of voxels that are not entirely silent.

      There are many places in the paper where eye-movements might be playing an important role.

      Examples include the larger pRF sizes observed in achromats. Are those related to fixation instability? Given that fixation instability is expected to increase pRF size by a fixed amount, that would explain why ratios are close to 1 in V3 (Figure 4).

      (2) Topography

      The claim of no change in topography is a little confusing given that you do see a change in eccentricity mapping in achromats.

      Either this result is real, in which case there *is* a change in topography, albeit subtle, or it's an artifact.

      Perhaps these results need a little bit of additional scrutiny.

      One reason for concern is that you see different functions relating eccentricity to V1 segments depending on the stimulus. That almost certainly reflects biases in the modelling, not reorganization - the curves of Figure 2D are exactly what Binda et al. predict.

      Another reason for concern is that I'm very surprised that you see so little effect of including/not including the scotoma - the differences seem more like what I'd expect from simply repeating the same code twice. (The quickest sanity check is just to increase the size of the estimated scotoma to be even bigger?).

      I'd also look at voxels that pass an R2>0.2 threshold for both the non-selective and selective stimulus. Are the pRF sizes the same for both stimuli? Are the eccentricity estimates? If not, that's another clear warning sign.

      (3) Connective field modelling

      Let's imagine a voxel on the edge of the scotoma. It will tend to have a connective field that borders the scotoma, and will be reduced in size (since it will likely exclude the cortical region of V1 that is solely driven by resting state activity). This predicts your rod monochromat data. The interesting question is why this doesn't happen for controls. One possibility is that there is top-down 'predictive' activity that smooths out the border of the scotoma (there's some hint of that in the data), e.g., Masuda and Wandell.

      One thing that concerns me is that the smaller connective fields don't make sense intuitively. When there is a visual stimulus, connective fields are predominantly driven by the visual signal. In achromats, there is a large swath of cortex (between 1-2.5 degrees) which shows relatively flat tuning as regards eccentricity. The curves for controls are much steeper, See Figure 2b. This predicts that visually driven connective fields should be larger for achromats. So, what's going on? The beta parameter is not described (and I believe it can alter connective field sizes). Similarly, it's possible to get very small connective fields, but there wasn't a minimum size described in the thresholding. I might be missing something obvious, but I'm just deeply confused as to how the visual maps and the connectome maps can provide contradictory results given that the connectome maps are predominantly determined by the visual signal. Some intuition would be helpful.

      Some analyses might also help provide the reader with insight. For example, doing analyses separately on V3 voxels that project entirely to scotoma regions, project entirely to stimulus-driven regions, and V3 voxels that project to 'mixed' regions.

      The finding that pRF sizes are larger in achromats by a constant factor as a function of eccentricity is what differences in eye-movements would predict. It would be worth examining the relationship between pRF sizes and fixation stability.

    1. If we are writing down what someone said, we are losing their tone of voice, accent, etc.

      This statement made me think how it is something that I have thought about a lot in my subconscious mind to tackle situations, such as how I have been misunderstood over time greatly just because I typed it out. The other person did not hear me say it so, he/she misinterpreted it so I had to explain myself and it would be easy to understand through my tone. It's elementary to misjudge someone's perspective when it's typed out.

    1. Now it’s your turn, choose some data that you might want to store on a social media type, and think through the storage types and constraints you might want to use: Age Name Address Relationship status etc.

      Answering these questions I believe that for age I would use an integer with a constraint, for Name I would store it as a string that includes character constraints so it could handle all names but no one can type long random things. For address, I would use a string with structured fields so that someone can type in their street, city, state, and etc. For relationship status, I would use predefined options such as married, single, complicated so that someone can just chose out of the options so it makes it consistent and easy.

    1. How did that exercise feel?

      I thought that this exercise was so interesting and that even though some of the options were not necessarily wrong, some just felt more natural to choose. I asked my friends around me what they would say without telling them my answer and we all chose the same thing. I think it's weird but cool that there's this unspoken way about how as native English speakers we order the adjectives.

  2. inst-fs-iad-prod.inscloudgate.net inst-fs-iad-prod.inscloudgate.net
    1. y students rarely out themselves as being poor. You could not tell they struggle financially by the papers they turn in to me or by what they say when we discuss things in my sociology classes at the

      I think this is the hard part of reality that students will hide their true colors so they won't get judged from reality or have their school life be based on that. Students come to school for it to be a safe place and feel comfortable or put on a fake persona because the moment they go home they go back to reality. It's hard living a double life especially when you're able to see others do things or get things you've always wanted. I can say that i've experienced the we don't have enough for that and just shop for necessities, but i've been able to see others not being able to afford other things. It is a sad reality and wishing we can help everyone.

    1. A critical mass of white families left the dis-trict, and in doing so changed the way future parents with school-agechildren would view Los Angeles public schools. Many who were alreadyconsidering leaving the city decided to leave. Many who might otherwisehave chosen to put down roots in Los Angeles saw a school system inupheaval and joined the throngs of new commuters transforming formerorange groves into suburban refuges.

      It's interesting to that white families would just leave and move away because of desegregation. It also shows the money and privledge they had to be able to make this big of a change as a result. I'm sure many of the white families leave bcause they didn't agree with schools being desegregated, but I wonder how many families left because they saw that the school system was struggling and in conflict, which would affect their children's education.

  3. inst-fs-iad-prod.inscloudgate.net inst-fs-iad-prod.inscloudgate.net
    1. learning materials, and Alexander's

      I agree, it’s clear that income plays a huge role in a child’s development. Families with more resources can provide better living conditions, access to quality education and extracurricular activities that enrich learning. Studies have shown that children who participate in these activities tend perform better in school. On the other hand, lower-income families often face significant barriers, not just in education but in overall well-being, which can hinder a child's potential. Addressing these disparities is essential for creating a more equitable society.

    1. Constructed and unveiled in 1770 by Wolfgang von Kempelen (1734–1804) to impress Empress Maria Theresa of Austria, the mechanism appeared to be able to play a strong game of chess against a human opponent, as well as perform the knight's tour, a puzzle that requires the player to move a knight to occupy every square of a chessboard exactly once.

      do you believe in the strength of academia, and if there were a "thing between the electorate and righteousness" what would it be?

      what replaces the electoral college?

      https://en.wikipedia.org/wiki/United_States_Electoral_College#:~:text=In%20the%20United%20States,%20the%20Electoral

      When the Knights of the Round Table, or the Templars; or the Holy Guard stand up in this place and "Friday the 13th" happeneth to them all, in history and; I mean, did it just pass ... what kind of power stands between the end of "democracy" and it's very beginning?

      Babylon, alas--at the very crawling of the vote; at the exact moment freedom could have "rung free" ...

      free at last, free at last; then God almighty ...

      Edom, where are we?

      echoes of "Michele, and Kelly smart:" https://en.wikipedia.org/wiki/Extinction_event#:~:text=An%20extinction%20event%20(also%20known%20as

      straight out of the day "we see your bridge" in D.C. echoed of ... something like the Manhattan picture of the street below Bianca's Empire State building; somewhere in South Florida; for some reason, somehow, something just like today.

      Does it make a difference?

      https://poets.org/poem/hamlet-act-iii-scene-i-be-or-not-be#:~:text=1616.%20To%20be,%20or%20not%20to

      https://www.youtube.com/watch?v=23hZQiMoB7A

    1. Gunpowder and rockets were transferred to Europe in the 13th century although we are not sure by what means the recipe for gunpowder found its way to Europe.

      It's fascinating that if China just kept the invention of gunpowder to themselves, they could have been able to defeat anyone that crossed their paths. But instead, they didn't and now gunpowder is still used to this day for a variety of things.

    1. Sounds are represented as the electric current needed to move a speaker’s diaphragm back and forth over time to make the specific sound waves. The electric current is saved as a number, and those electric current numbers are saved at each time point, so the sound information is saved as a list of numbers.

      I listen to music all the time and I never knew that this is how sound waves are created. It's crazy how all the sound information is just saved onto a number.

    1. You could show a picture of a cat, make the meowing or purring sound of a cat, act like a cat, say or sign the word cat,

      This made me think about how in different languages they have different phrases/words for the sounds that animals make, something that I find really interesting. For example, if I was trying to communicate this way with someone from a Spanish speaking country and I said "bark" trying to explain that I'm looking for a dog, they might be confused because they would say "guau" which means bark/woof. It's just really interesting to me how the sounds that animals make, which is generally universal, are different across languages.

    1. It’s not’s often that Computer Games get me really excited, much like most of the art forms. My tastes are niche, not profitable, hard to franchise and most importantly, hopefully hard to understand so I can lord it over my inferiors. However, whenever graphic novels and games meet, I am here for it, all day, every day. Just check out this trailer!

      doesnt sound like you are fun/approchable?

    1. Welcome back.

      In this lesson, I'll be talking about Network Address Translation, or NAT, a process of giving a private resource outgoing only access to the internet.

      And a NAT gateway is the AWS implementation that's available within WPC.

      There's quite a bit of theory to cover, so let's get started.

      So what is NAT?

      Well, it stands for Network Address Translation.

      This is one of those terms which means more than people think that it does.

      In a strict sense, it's a set of different processes which can adjust ID packets by changing their source or destination IP addresses.

      Now, you've seen a form of this already.

      The internet gateway actually performs a type of NAT known as static NAT.

      It's how a resource can be allocated with a public IP version for address, and then when the packets of data leave those resources and pass through the internet gateway, it adjusts the source IP address on the packet from the private address to the public, and then sends the packet on, and then when the packet returns, it adjusts the destination address from the public IP address to the original private address.

      That's called static NAT, and that's how the internet gateway implements public IP version for addressing.

      Now, what most people think of when they think of NAT is a subset of NAT called IP Masquerading.

      And IP Masquerading hides a whole private side IP block behind a single public IP.

      So rather than the one private IP to one public IP process that the internet gateway does, NAT is many private IPs to one single IP.

      And this technique is popular because IP version 4 addresses are running out.

      The public address space is rapidly becoming exhausted.

      IP Masquerading, or what we'll refer to for the rest of this lesson as NAT, gives a whole private range of IP addresses outgoing only access to the public internet and the AWS public zone.

      I've highlighted outgoing because that's the most important part, because many private IPs use a single public IP.

      Incoming access doesn't work.

      Private devices that use NAT can initiate outgoing connections to internet or AWS public space services, and those connections can receive response data, but you cannot initiate connections from the public internet to these private IP addresses when NAT is used.

      It doesn't work that way.

      Now, AWS has two ways that it can provide NAT services.

      Historically, you could use an EC2 instance configured to provide NAT, but it's also a managed service, the NAT gateway, which you can provision in the VPC to provide the same functionality.

      So let's look at how this works architecturally.

      This is a simplified version of the Animals for Life architecture that we've been using so far.

      On the left is an application tier subnet in blue, and it's using the IP range 10.16.32.0/20.

      So this is a private only subnet.

      Inside it are three instances, I01, which is using the IP 10.16.32.10, I02, which is using 32.20, and I03, which is using 32.30.

      These IP addresses are private, so they're not publicly routable.

      They cannot communicate with the public internet or the AWS public zone services.

      These addresses cannot be routed across a public style network.

      Now, if we wanted this to be allowed, if we wanted these instances to perform certain activities using public networking, for example, software updates, how would we do it?

      Well, we could make the subnet's public in the same way that we've done with the public subnets or the web subnets, but we might not want to do that architecturally.

      With this multi-tier architecture that we're implementing together, part of the design logic is to have tiers which aren't public and aren't accessible from the public internet.

      Now, we could also host some kind of software update server inside the VPC, and some businesses choose to do that.

      Some businesses run Windows update services, all Linux update services inside their private network, but that comes with an admin overhead.

      NAT offers us a third option, and it works really well in this style of situation.

      We provision a NAT gateway into a public subnet, and remember, the public subnet allows us to use public IP addresses.

      The public subnet has a route table attached to it, which provides default IP version 4 routes pointing at the internet gateway.

      So, because the NAT gateway is located in this public web subnet, it has a public IP which is routable across the public internet, so it's now able to send data out and get data back in return.

      Now, the private subnet where the instances are located can also have its own route table, and this route table can be different than the public subnet route table.

      So, we could configure it so that the route table that's on the application subnet has a default IP version 4 route, but this time, instead of pointing at the internet gateway, like the web subnet users, we configure this private route table so that it points at the NAT gateway.

      This means when those instances are sending any data to any IP addresses that do not belong inside the VPC, by default, this default route will be used, and that traffic will get sent to the NAT gateway.

      So, let's have a look at how this packet flow works.

      Let's simulate the flow packets from one of the private instances and see what the NAT gateway actually does.

      So, first, instance 1 generates some data.

      Let's assume that it's looking for software updates.

      So, this packet has a source IP address of instance 1's private IP and a destination of 1.3.3.7.

      For this example, let's assume that that's a software update server.

      Now, because we have this default route on the route table of the application subnet, that packet is routed through to the NAT gateway.

      The NAT gateway makes a record of the data packet.

      It stores the destination that the packet is for, the source address of the instance sending it, and other details which help it identify the specific communication in future.

      Remember, multiple instances can be communicating at once, and for each instance, it could be having multiple conversations with different public internet hosts.

      So, the NAT gateway needs to be able to uniquely identify those.

      So, it records the IP addresses involved, the source and destination, the port numbers, everything it needs, into a translation table.

      So, the NAT gateway maintains something called a translation table which records all of this information.

      And then, it adjusts the packet to the one that's been sent by the instance, and it changes the source address of this IP packet to be its own source address.

      Now, if this NAT appliance were anywhere for AWS, what it would do right now is adjust the packet with a public routable address. - Hi. - Let's do this directly.

      But remember, all the inside of the IPC really has directly attached to it a public IP version 4 address.

      That's what the internet gateway does.

      So, the NAT gateway, because it's in the web subnet, it has a default route, and this default route points at the internet gateway.

      And so, the packet is moved from the NAT gateway to the internet gateway by the IPC router.

      At this point, the internet gateway knows that this packet is from the NAT gateway.

      It knows that the NAT gateway has a public IP version 4 address associated with it, and so, it modifies the packet to have a source address of the NAT gateway's public address, and it sends it on its way.

      The NAT gateway's job is to allow multiple private IP addresses to masquerade behind the IP address that it has.

      That's where the term IP masquerading comes from.

      That's why it's more accurate.

      So, the NAT gateway takes all of the incoming packets from all of the instances that it's managing, and it records all the information about the communication.

      It takes those packets, it changes the source address from being those instances to its own IP address, its own external-facing IP address.

      If it was outside AWS, this would be a public address directly.

      That's how your internet router works for your home network.

      All of the devices internally on your network talk out using one external IP address, your home router uses NAT.

      But because it's in AWS, it doesn't have directly attached a real public IP.

      The internet gateway translates from its IP address to the associated public one.

      So, that's how the flow works.

      If you need to give an instance its own public IP version for address, then only the internet gateway is required.

      If you want to give private instances outgoing access to the internet and the AWS public services such as S3, then you need both the NAT gateway to do this many-to-one translation and the internet gateway to translate from the IP of the NAT gateway to a real public IP version for address.

      Now, let's quickly run through some of the key facts for the NAT gateway product that you'll be implementing in the next demo lesson.

      First, and I hope this is logical for you by now, it needs to run from a public subnet because it needs to be able to be assigned a public IP version for IP address for itself.

      So, to deploy a NAT gateway, you already need your VPC in a position where it has public subnets.

      And for that, you need an internet gateway, subnets configured to allocate public IP version for addresses and default routes for those subnets pointing at the internet gateway.

      Now, a NAT gateway actually uses a special type of public IP version for address that we haven't covered yet called an elastic IP.

      For now, just know that these are IP version for addresses, which is static.

      They don't change.

      These IP addresses are allocated to your account in a region and they can be used for whatever you want until you reallocate them.

      And NAT gateways use these elastic IPs, the one service which utilizes elastic IPs.

      Now, they're talking about elastic IPs later on in the course.

      Now, NAT gateways are an AZ resilient service.

      If you read the AWS documentation, you might get the impression that they're fully resilient in a region like an internet gateway.

      They're not, they're resilient in the AZ that they're in.

      So they can recover from hardware failure inside an AZ.

      But if an AZ entirely fails, then the NAT gateway will also fail.

      For a fully region resilient service, so to mirror the high availability provided by an internet gateway, then you need to deploy one NAT gateway in each AZ that you're using in the VPC and then have a route table for private subnets in that availability zone, pointing at the NAT gateway also in that availability zone.

      So for every availability zone that you use, you need one NAT gateway and one route table pointing at that NAT gateway.

      Now, they aren't super expensive, but it can get costly if you have lots of availability zones, which is why it's important to always think about your VPC design.

      Now, NAT gateways are a managed service.

      You deploy them and AWS handle everything else.

      They can scale to 45 gigabits per second in bandwidth and you can always deploy multiple NAT gateways and split your subnets across multiple provision products.

      If you need more bandwidth, you can just deploy more NAT gateways.

      For example, you could split heavy consumers across two different subnets in the same AZ, have two NAT gateways in the same AZ and just route each of those subnets to a different NAT gateway and that would quickly allow you to double your available bandwidth.

      With NAT gateways, you'll build based on the number that you have.

      So there's a standard hourly charge for running a NAT gateway and this is obviously subject to change in a different region, but it's currently about four cents per hour.

      And note, this is actually an hourly charge.

      So partial hours are billed as full hours.

      And there's also a data processing charge.

      So that's the same amount as the hourly charge around four cents currently per gigabyte of processed data.

      So you've got this base charge that a NAT gateway consumes while running plus a charge based on the amount of data that you process.

      So keep both of those things in mind for any NAT gateway related questions in the exam.

      Don't focus on the actual values, just focus on the fact they have two charging elements.

      Okay, so this is the end of part one of this lesson.

      It's getting a little bit on the long side, and so I wanted to add a break.

      It's an opportunity just to take a rest or grab a coffee.

      Part two will be continuing immediately from the end of part one.

      So go ahead, complete the video, and when you're ready, join me in part two.

    1. Welcome back.

      In this lesson I want to talk in detail about security groups within AWS.

      These are the second type of security filtering feature commonly used within AWS, the other type being network access control lists which we've previously discussed.

      So security groups and knuckles share many broad concepts but the way they operate is very different and it's essential that you understand those differences and the features offered by security groups for both the exam and real-world usage.

      So let's just jump in and get started.

      In the lesson on network access control lists I explained that they're stateless and by now you know what stateless and stateful mean.

      Security groups are stateful, they detect response traffic automatically for a given request and this means that if you allow an inbound or outbound request then the response is automatically allowed.

      You don't have to worry about configuring ephemeral ports, it's all handled by the product.

      If you have a web server operating on TCP 443 and you want to allow access from the public internet then you'll add an inbound security group rule allowing inbound traffic on TCP 443 and the response which is using ephemeral ports is automatically allowed.

      Now security groups do have a major limitation and that's that there is no explicit deny.

      You can use them to allow traffic or you can use them to not allow traffic and this is known as an implicit deny.

      So if you don't explicitly allow traffic then you're implicitly denying it but you can't and this is important you're unable to explicitly deny traffic using security groups and this means that they can't be used to block specific bad actors.

      Imagine you allow all source IP addresses to connect to an instance on port 443 but then you discover a single bad actor is attempting to exploit your web server.

      Well you can't use security groups to block that one specific IP address or that one specific range.

      If you allow an IP or if you allow an IP range or even if you allow all IP addresses then security groups cannot be used to deny a subset of those and that's why typically you'll use network access control lists in conjunction with security groups where the knuckles are used to add explicit denies.

      Now security groups operate above knuckles on the OSI7 layer stack which means that they have more features.

      They support IP and side-based rules but they also allow referencing AWS logical resources.

      This includes all the security groups and even itself within rules.

      I'll be covering exactly how this works on the next few screens.

      Just know at this stage that it enables some really advanced functionality.

      An important thing to understand is that security groups are not attached to instances nor are they attached to subnet.

      They're actually attached to specific elastic network interfaces known as ENIs.

      Now even if you see the user interface present this as being able to attach a security group to an instance know that this isn't what happens.

      When you attach a security group to an instance what it's actually doing is attaching the security group to the primary network interface of that instance.

      So remember security groups are attached to network interfaces that's an important one to remember for the exam.

      Now at this point let's step through some of the unique features of security groups and it's probably better to do this visually.

      Let's start with a public subnet containing an easy to instance and this instance has an attached primary elastic network interface.

      On the right side we have a customer Bob and Bob is accessing the instance using HDTBS so this means TCP but 443.

      Conceptually think of security groups as something which surrounds network interfaces in this case the primary interface of the EC2 instance.

      Now this is how a typical security group might look.

      It has inbound and outbound rules just like a network ACL and this particular example is showing the inbound rules allowing TCP port 443 to connect from any source.

      The security group applies to all traffic which enters or leaves the network interface and because they're stateful in this particular case because we've allowed TCP port 443 as the request portion of the communication the corresponding response part the connection from the instance back to Bob is automatically allowed.

      Now lastly I'm going to repeat this point several times throughout this lesson.

      Security groups cannot explicitly block traffic.

      This means with this example if you're allowing 0.0.0.0.0 to access the instance on port TCP port 443 and this means the whole IP version for internet then you can't block anything specific.

      Imagine Bob is actually a bad actor.

      Well in this situation security groups cannot be used to add protection.

      You can't add an explicit deny for Bob's IP address.

      That's not something that security groups are capable of.

      Okay so that's the basics.

      Now let's look at some of the advanced bits of security group functionality.

      Security groups are capable of using logical references.

      Let's step through how this works with a similar example to the one you just saw.

      We start with a VPC containing a public web subnet and a private application subnet.

      Inside the web subnet is the Categoram application web instance and inside the app subnet is the back-end application instance.

      Both of these are protected by security groups.

      We have A4L-web and A4L-app.

      Traffic wise we have Bob accessing the web instance over port TCP port 443 and because this is the entry point to the application which logically has other users than just Bob we're allowing TCP port 443 from any IP version for address and this means we have a security group with an inbound rule set which looks like this.

      In addition to this front-end traffic the web instance also needs to connect with the application instance and for this example let's say this is using TCP port 1337.

      Our application is that good.

      So how best to allow this communication?

      Well we could just add the IP address of the web instance into the security group of the application instance or if you wanted to allow our application to scale and change IPs then we could add the side arrangers of the subnets instead of IP addresses.

      So that's possible but it's not taking advantage of the extra functionality which security groups provide.

      What we could do is reference the web security group within the application security group.

      So this is an example of the application security group.

      Notice that it allows TCP port 1337 inbound but it references as the source a logical resource the security group.

      Now using a logical resource reference in this way means that the source reference of the A4L-web security group this actually references anything which has this security group associated with it.

      So in this example any instances which have the A4L-web security group attached to them can connect to any instances which have the A4L-web security group attached to them using TCP port 1337.

      So in essence this references this.

      So this logical reference within the application security group references the web security group and anything which has the web security group attached to it.

      Now this means we don't have to worry about IP addresses or side arrangers and it also has another benefit.

      It scales really well.

      So as additional instances are added to the application subnet and web subnet and as those instances are attached to the relevant security groups they're impacted by this logical referencing allowing anything defined within the security group to apply to any new instances automatically.

      Now this is critical to understand so when you reference a security group from another security group what you're actually doing is referencing any resources which have that security group associated with them.

      So this substantially reduces the admin overhead when you have multi-tiered applications and it also simplifies security management which means it's prone to less errors.

      Now logical references provide even more functionality.

      They allow self referencing.

      Let's take this as an example a private subnet inside AWS with an ever-changing number of application instances.

      Right now it's three but it might be three, thirty or one.

      What we can do is create a security group like this.

      This one allows incoming communications on port TCP 1337 from the web security group but it also has this rule which is a self-referential rule allowing all traffic.

      What this means is that if it's attached to all of the instances then anything with this security group attached can receive communication so all traffic from this security group and this effectively means anything that also has this security group attached to it.

      So it allows communications to occur to instances which have it attached from instances which have it attached.

      It handles any IP changes automatically which is useful in these instances within an auto scaling group which is provisioning and terminating instances based on load on the system.

      It also allows for simplified management of any intra-app communications.

      An example of this might be Microsoft the main controllers or managing application high availability within clusters.

      So this is everything I wanted to cover about security groups within AWS.

      So there's a lot of functionality and intelligence that you gain by using security groups versus network ACLs but it's important that you understand that while network ACLs do allow you to explicitly deny traffic security groups don't and so generally you would use network ACLs to explicitly block any bad actors and use security groups to allow traffic to your VPC based resources.

      You do this because security groups are capable of this logical resource referencing and that means AWS logical resources in security groups or even itself to allow this free flow of communications within a security group.

      At this point that is everything I wanted to cover in this lesson so go ahead and complete the video and when you're ready I'll look forward to you joining me in the next lesson.

    1. rustworthy. I

      CONNECTION ANNOTATIONS

      Just as in the Trott and Lee LLM article, word vectors are described as a matchmaking site for words. AI generated photos could be viewed in a similar way. Not every date will result in a soul mate, therefore every match is not ideal. I often find myself frustrated when typing and my cell phone will decide that it is smarter than me and knows exactly what I am going to say next. I become irate when I hit send before, I realize those changes have been made and I sound as though I only completed my elementary school education. The same can be send for these photos, when an AI model acquires many photos to compile one master image, thought to be exactly what you are looking for, only to discover that AI is so generous, that they have provided the subject of the photo with an extra arm.

      1. Similar to how Trott and Lee LLM article phrased AI as being similar to "turning the water on, making sure it's coming out of the right faucet, and when it's not, running around to tighten and loosen all the valves until it does", AI generated photos (7:20) can create biases that then we must run around to resolve. The original information inputted to generate a photo is like the water. Once it is turned on and a photo is generated, but it's not the photo we were expecting, we then have to tweak and edit the information until we receive a desired outcome.
    1. Reviewer #3 (Public review):

      Summary:

      In this manuscript, Yip and colleagues incorporated the pipette cleaning technique into their existing dual-patch robotic system, "the PatcherBot", to allow sequential patching of more cells for synaptic connection detection in living brain slices. During dual-patching, instead of retracting all two electrodes after each recording attempt, the system cleaned just one of the electrodes and reused it to obtain another recording while maintaining the other. With one new patch clamp recording attempt, new connections can be probed. By placing one pipette in front of the other in this way, one can "walk" across the tissue, termed "patch-walking." This application could allow for probing additional neurons to test the connectivity using the same pipette in the same preparation.

      Strengths:

      Compared to regular dual-patch recordings, this new approach could allow for probing more possible connections in brain slices with dual-patch recordings, thus having the potential to improve the efficiency of identifying synaptic connections

      Weaknesses:

      While this new approach offers the potential to increase efficiency, it has several limitations that could curtail its widespread use.

      Loss of Morphological Information: Unlike traditional multi-patch recording, this approach likely loses all detailed morphology of each recorded neuron. This loss is significant because morphology can be crucial for cell type verification and understanding connectivity patterns by morphological cell type.

      Spatial Restrictions: The robotic system appears primarily suited to probing connections between neurons with greater spatial separation (~100µm ISD). This means it may not reliably detect connections between neurons in close proximity, a potential drawback given that the connectivity is much higher between spatially close neurons. This limitation could help explain the low connectivity rate (5%) reported in the study.

      Limited Applicability: While the approach might be valuable in specific research contexts, its overall applicability seems limited. It's important to consider scenarios where the trade-off between efficiency and specific questions that are asked.<br /> Scalability Challenges: Scaling this method beyond a two-pipette setup may be difficult. Additional pipettes would introduce significant technical and logistical complexities.

    1. Welcome back and by now you should understand the difference between stateless and stateful security protection.

      In this lesson I want to talk about one security feature of AWS VPCs and a little bit more depth and that's network access control lists known as knuckles.

      Now we do have a lot to cover so let's jump in and get started.

      A network access control list we thought of as a traditional firewall available within AWS VPCs so let's look at a visual example.

      A subnet within an AWS VPC which has two EC2 instances A and B.

      The first thing to understand and this is core to how knuckles work within AWS is that they are associated with subnets.

      Every subnet has an associated network ACL and this filters data as it crosses the boundary of that subnet.

      In practice this means any data coming into the subnet is affected and data leaving the subnet is affected.

      But and this is super important to remember connections between things within that subnet such as between instance A and instance B in this example are not affected by network ACLs.

      Each network ACL contains a number of rules, two sets of rules to be precise.

      We have inbound rules and outbound rules.

      Now inbound rules only affect data entering the subnet and outbound rules affect data leaving the subnet.

      Remember from the previous lesson this isn't always matching directly to request and response.

      A request can be either inbound or outbound as can a response.

      These inbound and outbound rules are focused only on the direction of traffic not whether it's request or response.

      In fact and I'll cover this very soon knuckles are stateless which means they don't know if traffic is request or response.

      It's all about direction.

      Now rules match the destination IP or IP range, destination port or port range together with the protocol and they can explicitly allow or explicitly deny traffic.

      Remember this one network ACLs offer both explicit allows and explicit denies.

      Now rules are processed in order.

      First a network ACL determines if the inbound or outbound rules apply.

      Then it starts from the lowest rule number.

      It evaluates traffic against each individual rule until it finds a match.

      Then that traffic is either allowed or denied based on that rule and then processing stops.

      Now this is critical to understand because it means that if you have a deny rule and an allow rule which match the same traffic but if the deny rule comes first then the allow rule might never be processed.

      Lastly there's a catch all showed by the asterisk in the rule number and this is an implicit deny.

      If nothing else matches then traffic will be denied.

      So those are the basics.

      Next let's move on to some more complex elements of network ACLs.

      Now I just mentioned that network ACLs are stateless and this means that rules are required for both the request and the response part of every communication.

      You need individual rules for those so one inbound and one outbound.

      Take this example a multi-tiered application running in a VPC.

      We've got a web server in the middle and an application server on the left.

      On the right we have a user Bob using a laptop and he's accessing the website.

      So he makes a connection using HTTPS which is TCP port 443 and this is the request as you know by now and this is also going to mean that a response is required using the ephemeral port range.

      This ephemeral port is chosen at random from the available range decided by the operating system on Bob's laptop.

      Now to allow for this initial communication if we're using network ACLs then we'll need to have one associated with the web subnet and it will need rules in the inbound and outbound sections of that network ACL.

      Notice how on the inbound rule set we have rule number 110 which allows connections from anywhere and this is signified by 0.0.0.0 through this network ACL and this is allowed as long as it's using TCP port 443.

      So this is what allows the request from Bob into the web server.

      We also have on the outbound rule set rule number 120 and this allows outbound traffic to anywhere again 0.0.0.0 as long as the protocol is TCP using the port range of 1.0.2.4 to 65.5.3.5 and this is the ephemeral port range which I mentioned in the previous lesson.

      Now this is not amazingly secure but with stateless firewalls this is the only way.

      Now we also have the implicit denies and this is denoted by the rules with the star in the rule number and this means that anything which doesn't match rule 110 or 120 is denied.

      Now it's also worth mentioning while I do have rule 110 and 120 number differently the rule numbers are unique on inbound and outbound so we could have the single rule number 110 on both rule sets and that would be okay.

      It's just easier to illustrate this if I use unique rule numbers for each of the different rule sets.

      Now let's move on and increase the complexity little.

      So we have the same architecture we have Bob on the right, the web subnet in the middle and the application subnet on the left.

      You know now that because network ACLs are stateless each communication requires one request rule and one response rule.

      This becomes more complex when you have a multi-tiered architecture which operates across multiple subnets and let's step through this to illustrate why.

      Let's say the pop initiates a connection to the web server we know about this already because I just covered it.

      If we have a network ACL around the web subnet we'll need an inbound rule on the web network ACL.

      There's also going to be response traffic so this is going to use the ephemeral port range and this is going to need an outbound rule on that same web network ACL so this should make sense so far.

      But also the web server might need to communicate with the app server using some application TCP port.

      Now this is actually crossing two subnet boundaries the web at subnet boundary and the application subnet boundary so it's going to need an outbound rule on the web at subnet knuckle and also an inbound rule on the application subnet knuckle.

      Then we have the response for that as well from the app server through to the web server and this is going to be using ephemeral ports but this also crosses two subnet boundaries it leaves the application subnet which will need an outbound rule on that knuckle and it enters the web subnet which will also need an inbound rule on that network ACL and what if each of those servers need software updates it will get even more complex really quickly.

      You always have to be aware of these rule pairs the application port request and the ephemeral response for every single communication in some cases you're going to have multi-tier architecture and this might mean the communications go through different subnets.

      If you need software updates this will need more if you use network address translation or NAT you might need more rules still.

      You'll need to worry about this if you use network ACLs within a vpc for traffic to a vpc or traffic from a vpc or traffic between subnets inside that vpc.

      When a vpc is created it's created with a default network ACL and this contains inbound and outbound rule sets which have the default implicit deny but also a capsule allow and this means that the net effect is that all traffic is allowed so the default within a vpc is that knuckles have no effect they aren't used this is designed [Music] I need to be beginner friendly and reduce admin overhead.

      AWS prefer using security groups which I'll be covering soon.

      If you create your own custom network ACLs though that's a different story.

      Custom knuckles are created for a specific vpc and initially they're associated with no subnets.

      They only have one rule on both the inbound and outbound rule sets which is the default deny and the result is that if you associate this custom network ACL with any subnets all traffic will be denied so be careful with this it's radically different behavior than the default network ACL created with a vpc.

      Now this point I just want to cover some finishing key points which you need to be aware of for any real-world usage and when you're answering exam questions.

      So network access controlists remember they're known as knuckles they are stateless so they view request and response as different things so you need to add rules both for the request and for the response.

      A knuckle only affects data which is crossing the subnet boundary so communications between instances in the same subnet is not affected by a network ACL on that subnet.

      Now this can mean that if you do have data crossing between subnets then you need to make sure that each knuckle on both of those subnets has the appropriate inbound and outbound rules so you end up with a situation where one connection can in theory need two rules on each knuckle if that connection is crossing two different subnet boundaries.

      Now knuckles are able to explicitly allow traffic and explicitly deny and the deny is important because as you'll see when I talk about security groups this is a capability that you need to network ACLs.

      So network ACLs allow you to block specific IPs or specific IP ranges which are associated with bad actors so they're a really good security feature when you need to block any traffic attempting to exploit your systems.

      Now network ACLs are not aware of any logical resources they only allow you to use IPs and cyber ranges ports and protocols you cannot reference logical resources within AWS and knuckles can also not be assigned two logical resources they're only assigned to subnets within VPCs within AWS.

      Now knuckles are very often used together with security groups such as mentioned to add the capability to explicitly deny bad IPs or bad networks so generally you would use security groups to allow traffic and you use knuckles to deny traffic and I'll talk about exactly how this works in the next lesson.

      Now each subnet within a VPC has one knuckle associated with it it's either going to be the default network ACL for that VPC or a custom one which you create and associate.

      A single knuckle though can be associated with many different subnets so while a subnet can only have one network ACL one network ACL can be associated with many different subnets.

      Now this point that is everything that I wanted to cover about network ACLs for this lesson so go ahead complete the video and when you're ready I'll look forward to you joining me in the next lesson.

    1. Creative industry entrepreneurs draw on their creative expertise within a domain and build entrepreneurial possibilities around this expertise

      we all exist as (relative) experts within some domain/field or other, acting creatively within it (with others) -- not just folk in the creative industry!

      (it's just that they have this specific focus...)

  4. doc-04-4c-apps-viewer.googleusercontent.com doc-04-4c-apps-viewer.googleusercontent.com
    1. ay and there was just a square black gap behindthe hearth. The floor was soaking wet and it stank of disinfectant. Dadwas filthy and wet and grinning. He took me into the backyard. Thetoilet was standing there in the middle of the thistles and weeds.“Thought it’d make a nice garden seat for us,” he said.The gas fire and the plywood were down by the garage door, but theyhadn’t been taken inside.He looked at me and winked. “Come and see what I found.”He led me down to the garage door.“Hold your nose,” he said. He bent down and started to open anewspaper parcel. “Ready?”It was a parcel of birds. Four of them.“Found them behind the fire,” he said. “Must have got stuck in thechimney and couldn’t get out again.”You could make out that three of them were pigeons because of theirgray and white feathers. The last one was pigeon-shaped, but it was allblack.“This was the last one I found,” he said. “It was under a heap of sootand dust that had fallen down the chimney.”“Is it a pigeon as well?”“Yes. Been there a long, long time, that’s all.”He took my hand.“Touch it,” he said. “Feel it. Go on, it’s okay.”

      they found dead birds that fell down the chimney. It is also sad and painful.

    1. Reviewer #1 (Public review):

      Summary & Assessment:

      The catalytic core of the eukaryotic decapping complex consists of the decapping enzyme DCP2 and its key activator DCP1. In humans, there are two paralogs of DCP1, DCP1a and DCP1b, that are known to interact with DCP2 and recruit additional cofactors or coactivators to the decapping complex; however, the mechanisms by which DCP1 activates decapping and the specific roles of DCP1a versus DCP1b, remain poorly defined. In this manuscript, the authors used CRISPR/Cas9-generated DCP1a/b knockout cells to begin to unravel some of the differential roles for human DCP1a and DCP1b in mRNA decapping, gene regulation, and cellular metabolism. While this manuscript presents some new and interesting observations on human DCP1 (e.g. human DCP1a/b KO cells are viable and can be used to investigate DCP1 function; only the EVH1 domain, and not its disordered C-terminal region which recruits many decapping cofactors, is apparently required for efficient decapping in cells; DCP1a and b target different subsets of mRNAs for decay and may regulate different aspects of metabolism), there is one key claim about the role of DCP1 in regulating DCP2-mediated decapping that is still incompletely or inconsistently supported by the presented data in this revised version of the manuscript.

      Strengths & well-supported claims:

      • Through in vivo tethering assays in CRISPR/Cas9-generated DCP1a/b knockout cells, the authors show that DCP1 depletion leads to significant defects in decapping and the accumulation of capped, deadenylated mRNA decay intermediates.<br /> • DCP1 truncation experiments reveal that only the EVH1 domain of DCP1 is necessary to rescue decapping defects in DCP1a/b KO cells.<br /> • RNA and protein immunoprecipitation experiments suggest that DCP1 acts as a scaffold to help recruit multiple decapping cofactors to the decapping complex (e.g. EDC3, DDX6, PATL1 PNRC1, and PNRC2), but that none of these cofactors are essential for DCP2-mediated decapping in cells.<br /> • The authors investigated the differential roles of DCP1a and DCP1b in gene regulation through transcriptomic and metabolomic analysis and found that these DCP1 paralogs target different mRNA transcripts for decapping and have different roles in cellular metabolism and their apparent links to human cancers. (Although I will note that I can't comment on the experimental details and/or rigor of the transcriptomic and metabolomic analyses, as these are outside my expertise.)

      Weaknesses & incompletely supported claims:

      (1) One of the key mechanistic claims of the paper is that "DCP1a can regulate DCP2's cellular decapping activity by enhancing DCP2's affinity to RNA, in addition to bridging the interactions of DCP2 with other decapping factors. This represents a pivotal molecular mechanism by which DCP1a exerts its regulatory control over the mRNA decapping process." Similar versions of this claim are repeated in the abstract and discussion sections. However, this claim appears to be at odds with the observations that: (a) in vitro decapping assays with immunoprecipitated DCP2 show that DCP1 knockout does not significantly affect the enzymatic activity of DCP2 (Fig 2C&D; I note that there may be a very small change in DCP2 activity shown in panel D, but this may be due to slightly different amounts of immunoprecipitated DCP2 used in the assay); and (b) the authors show only weak changes in relative RNA levels immunoprecipitated by DCP2 with versus without DCP1 (~2-3 fold change in Fig 3H, where expression of the EVH1 domain, previously shown in this manuscript to fully rescue the DCP1 KO decapping defects in cells, looks to be almost within error of the control in terms of increasing RNA binding). If DCP1 pivotally regulates decapping activity by enhancing RNA binding to DCP2, why is no difference in in vitro decapping activity observed in the absence of DCP1, and very little change observed in the amounts of RNA immunoprecipitated by DCP2 with the addition of the DCP1 EVH1 domain?

      In the revised manuscript and in their response to initial reviews, the authors rightly point out that in vivo effects may not always be fully reflected by or recapitulated in in vitro experiments due to the lack of cellular cofactors and simpler environment for the in vitro experiment, as compared to the complex environment in the cell. I fully agree with this of course! And further completely agree with the authors that this highlights the critical importance of in cell experiments to investigate biological functions and mechanisms! However, because the in vitro kinetic and IP/binding data both suggest that the DCP1 EVH1 domain has minimal to no effects on RNA decapping or binding affinity, while the in cell data suggest the EVH1 domain alone is sufficient to rescue large decapping defects in DCP1a/b KO cells (and that all the decapping cofactors tested were dispensable for this), I would argue there is insufficient evidence here to make a claim that (maybe weakly) enhanced RNA binding induced by DCP1 is what is regulating the cellular decapping activity. Maybe there are as-yet-untested cellular cofactors that bind to the EVH1 domain of DCP1 that change either RNA recruitment or the kinetics of RNA decapping in cells; we can't really tell from the presented data so far. Furthermore, even if it is the case that the EVH1 domain modestly enhances RNA binding to DCP2, the authors haven't shown that this effect is what actually regulates the large change in DCP2 activity upon DCP1 KO observed in the cell.

      Overall, while I absolutely appreciate that there are many possible reasons for the differences observed in the in vitro versus in cell RNA decapping and binding assays, because this discrepancy between those data exists, it seems difficult to draw any clear conclusions about the actual mechanisms by which DCP1 helps regulate RNA decapping by DCP2. For example, in the cell it could be that DCP1 enhances RNA binding, or recruits unidentified cofactors that themselves enhance RNA binding, or that DCP1 allosterically enhances DCP2-mediated decapping kinetics, or a combination of these, etc; my point is that without in vitro data that clearly support one of those mechanisms and links this mechanism back to cellular DCP2 decapping activity (for example, in cell data that show EVH1 mutants that impair RNA binding fail to rescue DCP1 KO decapping defects), it's difficult to attribute the observed in cell effects of DCP1a/b KO and rescue by the EVH1 domain directly to enhancement of RNA binding (precisely because, as the authors describe, the decapping process and regulation may be very complex in the cell!).

      This contradiction between the in vitro and in-cell decapping data undercuts one of the main mechanistic takeaways from the first half of the paper; I still think this conclusion is overstated in the revised manuscript.

      Additional minor comment:

      • Related to point (1) above, the kinetic analysis presented in Fig 2C shows that the large majority of transcript is mostly decapped at the first 5 minute timepoint; it may be that DCP2-mediated decapping activity is actually different in vitro with or without DCP1, but that this is being missed because the reaction is basically done in less than 5 minutes under the conditions being assayed (i.e. these are basically endpoint assays under these conditions). It may be that if kinetics were done under conditions to slow down the reaction somewhat (e.g. lower Dcp2 concentration, lower temperatures), so that more of the kinetic behavior is captured, the apparent discrepancy between in vitro and in-cell data would be much less. Indeed, previous studies have shown that in yeast, Dcp1 strongly activates the catalytic step (kcat) of decapping by ~10-fold, and reduces the KM by only ~2 fold (Floor et al, NSMB 2010). It might be beneficial to use purified proteins here, if possible, to better control reaction conditions.

      In their response to initial reviews, the authors comment that they tried to purify human DCP2 from E coli, but were unable to obtain active enzyme in this way. Fair enough! I will only comment that just varying the relative concentration of immunoprecipitated DCP2 would likely be enough to slow down the reaction and see if activity differences are seen in different kinetic regimes, without the need to obtain fully purified / recombinant Dcp2.

    1. There is a reason why the private economy hews to the maxim “the customer is always right” while government bureaucracies are notoriously user-unfriendly, just as there is a reason why private charities are cheerful and government welfare systems are not. It’s not because grocery store clerks and PTA moms are “good” and federal bureaucrats are “bad.” It’s because private enterprises—for-profit or nonprofit—must cooperate, to give, to succeed.

      Here at the very end, the author slips in an explicit pitch for market and corporate "freedom" that was long the central message of modern conservatism.

      This language also seems to contradict earlier messages about "woke" corporate messages being inherently bad.

    1. Welcome back.

      In this lesson, I want to introduce the term "service models", specifically "cloud service models".

      If you've ever heard or seen the term something as a service or x-a-a-s, then this is generally a cloud service model, and that's what I want to cover in this lesson.

      Before I start, there are a few terms I'd like to introduce, which will make the rest of this lesson make more sense as well as being helpful throughout the course.

      If you already know these, then that's fine.

      It will just be a refresher.

      But if these are new, then it's important to make sure you understand all these concepts because they're things that underpin a lot of what makes the cloud special.

      Now, when you deploy an application anywhere, it uses what's known as an infrastructure stack.

      An infrastructure stack is a collection of things, which that application needs, all stack on to each other.

      Starting at the bottom, everything runs inside a facility, which is a building with power, with aircon, with physical security.

      Everything uses infrastructure, so storage and networking.

      An application generally requires one or more physical service.

      These servers run virtualization, which allows them to be carved up into virtual machines.

      These virtual machines run operating systems.

      They could potentially run containers.

      An example of this is Docker.

      Don't worry if you don't know what these are, I'll be covering them later in the course.

      Every application is written in a language such as Python, JavaScript, C, C++, C#, and all of these have an environment that they need to run in.

      This is called a runtime environment.

      An application needs data to work on, which it creates or consumes.

      And then at the very top is the application itself.

      Now, all of this together is an infrastructure stack or an application stack.

      If you use Netflix or Office 365 or Slack or Google or your online bank or this very training site, it has parts in each of these tiers.

      Even the application that you're using right now to watch this training is running on an operating system, which is running itself on a laptop, a PC or a tablet, which is just hardware.

      The hardware uses infrastructure, your internet connection, and this runs in facilities, so your house or a coffee shop.

      With any implementation of this stack, there are parts of the stack that you manage and there are parts of the stack which are managed by the vendor.

      So if you're working in a coffee shop, they'll have specific people to manage the building and the internet connection, and that's probably not you.

      But it's more likely that you are responsible for your laptop and the operating system running on top of it.

      Now, this is true for any system.

      Some parts you manage, some parts some people else manages.

      You don't manage any part of Netflix, for example.

      Netflix is an entity, manage everything end to end.

      But if you do work in IT, then maybe you do manage all of the IT infrastructure stack or some parts of it.

      The last term that I want to introduce is what's known as the unit of consumption.

      It's what you pay for and it's what you consume.

      It's the part of the system where from that point upwards in the infrastructure stack, you are responsible for management.

      For example, if you procure a virtual server, then your unit of consumption is the virtual machine.

      A virtual machine is just an operating system and an allocation of resources.

      So your unit of consumption is the operating system.

      In AWS, if you create a virtual machine known as an instance, then you consume the operating system.

      If you use Netflix, though, then you consume the service and that's it.

      You have no involvement in anything else.

      The unit of consumption is what makes each service model different.

      So let's take a look.

      With an on-premise system, so that's one which is running in a building that your business owns, your business has to buy all parts of the stack.

      It has to manage them all, pay for the upkeep and running costs of all of them.

      And it has to manage the staff costs and risks associated with every single part of that stack.

      Now, because it owns and controls everything, while it's expensive and it does carry some risks, it's also very flexible.

      In theory, you can create systems which are tailor-made for your business.

      Now, before cloud computing became as popular as it is now, it was possible to use something called data center hosting.

      Now, this is similar to on-premises architectures, but when you use data center hosting, you place your equipment inside a building which is owned and managed by a vendor.

      This meant that the facilities were owned and controlled by that vendor.

      You as a business consumed space in that facility.

      Your unit of consumption was a rack space.

      If you rented three racks from a data center provider, they provided the building, the security, the power, the air conditioning and the staffing to ensure the service you paid for was provided.

      All of the service models we use today are just evolutions of this type of model where more and more parts of the stack are handed off to a vendor.

      Now, the cost change, the risks that are involved change and the amount of flexibility you have changed, but it's all the same infrastructure stack just with different parts being controlled by different entities.

      So let's look at this further.

      The first cloud service model that I want to talk about is infrastructure as a service or IaaS.

      With this model, the provider manages the facilities, the storage and networking, the physical server and the virtualization and you consume the operating system.

      Remember, a virtual machine is just an operating system with a certain amount of resources assigned.

      It means that you still have to manage the operating system and anything above the operating system so any containers, the runtime, the data and your applications.

      So why use IaaS as a service model?

      With IaaS, you generally pay per second, per minute per hour fee for the virtual machine.

      You pay that fee when you use that virtual machine and you don't pay when you don't use it.

      The costs associated with managing a building, procuring and maintaining infrastructure and hardware and installing and maintaining a virtualization layer are huge and they're all managed by the vendor.

      The vendor needs to purchase things in advance, pay licenses, pay staff to keep things running and manage the risks of data loss, hardware failure and a wealth of other things.

      Using IaaS means that you can ignore all of those and let the vendor manage them.

      IaaS is one of the most popular cloud service models.

      Now, you do lose a little bit of flexibility because you can only consume the virtual machine sizes and capabilities that the provider allows, but there is a substantial cost reduction because of that.

      In AWS, a product called Elastic Compute Cloud or EC2 uses the IaaS service model.

      So in summary, IaaS is a great compromise.

      You do lose a little bit in terms of flexibility, but there are substantial costs and risk reductions.

      Okay, so let's move on.

      Another popular service model is Platform as a Service or Pass.

      Now, this service model is aimed more at developers who have an application they just want to run and not worry about any of the infrastructure.

      With Pass, your unit of consumption is the runtime of the runtime environment.

      So if you run a Python application, you pay for a Python runtime environment.

      You give the vendor some data and your application and you put it inside this runtime environment and that's it.

      You manage your application and its data and you consume the runtime environment, which effectively means that the provider manages everything else, containers, operating system, virtualization, service, infrastructure and facilities.

      Now, let's review one final service model before we finish this lesson.

      The final service model is Software as a Service or SaaS.

      And with SaaS, you consume the application.

      You have no exposure to anything else.

      You pay a monthly fee for consuming the application.

      You get it as a service.

      Now, examples of SaaS products include Netflix, Dropbox, Office 365, Flickr, even Google Mail.

      Businesses consume SaaS products because they are standard known services.

      Email is email.

      One email service is much like another.

      And so a business can save significant infrastructure costs by consuming their email service as a SaaS solution.

      They don't have much control of exactly how the email services can be configured, but there are almost no risks or additional costs associated with procuring a SaaS service.

      IaaS, SaaS and SaaS are examples of cloud service models.

      Now, there are others such as Function as a Service, known as SaaS, Container as a Service, Database as a Service or DBAAS, and there are many more.

      For this lesson, the important points to understand are that the infrastructure stack exists in every service and application that you use.

      The part of the stack is managed by you.

      The part of the stack is managed by the provider.

      And for every model, there is part of the stack which you consume, your unit of consumption.

      That's the part that you pay for and generally the part that delineates between where the vendor manages and where you manage.

      Now, again, I know this has been a fairly theory heavy lesson, but I promise you it will be invaluable as you go through the course.

      Thanks for listening.

      Go ahead, complete this video.

      And when you're ready, join me in the next.

    1. In this lesson, I want to cover theoretical topic which is really important to me personally, and something that I think is really valuable to understand.

      That is, what is multi- and hybrid Cloud, and how do they relate to private and public Cloud platforms?

      Now, why this matters is because AWS Azure and the Google Cloud Platform, they're all offering private Cloud environments which can be used in conjunction with their public Clouds.

      So to be able to pick when and where to use them effectively, you need to understand when something is multi-Cloud and when it's hybrid Cloud because these are very different things.

      So let's jump in and get started.

      In the previous lesson, I covered the formal definition of Cloud computing.

      Now, I know this was a very dry theoretical lesson, but hopefully you've come out of that understanding what a Cloud environment is.

      Now, public Cloud, simply put, is a Cloud environment that's available to the public.

      Many vendors are currently offering public Cloud platforms including AWS, Microsoft Azure, and Google Cloud.

      These are all examples of public Cloud platforms.

      They're public Cloud because they meet the five essential characteristics of Cloud computing and that they're available to the general public.

      So to be public Cloud, it needs to first classify as a Cloud environment and then it needs to be available to the general public.

      Now, you can if you have very specific needs or if you want to implement something which is highly available, you can choose to use multiple public Cloud platforms in a single system.

      Now, that's known as multi-Cloud.

      So multi-Cloud is using multiple Cloud environments and the way that you implement this can impact how successful it is.

      Now, keeping things simple, you could choose to implement a simple mirrored system.

      One part of your system could be hosted inside AWS and the other in Azure.

      This means that you've got Cloud provider level resilience.

      If one of these vendors fails, you'll know that at least part of your system will remain fully functional and running in the other.

      Now, with regards to multi-Cloud, I would personally stay away from any products or vendors who attempt to provide a so-called single management window or single pane of glass if you want to use the jargon when using multiple Cloud platforms.

      It is possible to manage multiple Cloud platforms as one single environment, but while it is possible, it abstracts away from these individual environments, relying on the lowest common feature set.

      And so you do lose a lot of what makes each vendor special and unique.

      So in this example, I could pick AWS and Azure.

      I could abstract away from that using a third-party tool.

      And when I wanted to provision a virtual machine, that tool would select which Cloud vendor to use.

      The problem with that is that it would have to assume a feature set which is available in both of them.

      So if AWS had any features that weren't available in Azure or vice versa, this third-party tool could not utilize them while staying abstracted away.

      So that's a really important thing to understand.

      Generally, when I'm thinking about multi-Cloud environments, I'm looking at it from a highly available perspective.

      So putting part of my infrastructure in one and part in another.

      It's much simpler and generally much more effective.

      Now, each of these three Cloud vendors also offers a solution which can be dedicated to your business and run from your business premises.

      This is a so-called private Cloud.

      Now, for AWS, this is called AWS Outposts.

      For Azure, it's the Azure Stack.

      And for Google, it's Anthos.

      Now, I want to make a very special point of highlighting that there is a massive difference between having on-premises infrastructure, such as VMware, Hyper-V, or Zen Server, versus having a private Cloud.

      A private Cloud still needs to meet the five essential characteristics of Cloud computing, which most traditional infrastructure platforms don't.

      So private Cloud is Cloud computing, which meets these five characteristics, but which is dedicated to you as a business.

      So with VMware, Hyper-V, or Zen Server implementation, they're not necessarily private Cloud.

      A lot of these platforms do have private Cloud-like features, but in general, the only environments that I consider true private Cloud are Outposts, the Azure Stack, and Google Anthos.

      Now, it is possible to use private Cloud in conjunction with public Cloud.

      And this is called hybrid Cloud.

      It's hybrid Cloud only if you use a private Cloud and a public Cloud, cooperating together as a single environment.

      It's not hybrid Cloud if you just utilize a public environment such as AWS together with your on-premises equipment.

      Now, to add confusion, you might hear people use the term hybrid environment.

      And in my experience, people use hybrid environment to refer to the idea of public Cloud used together with existing on-premises infrastructure.

      So I'm going to try throughout this course to have separate definitions.

      If I use the terms hybrid environment or hybrid networking, then that's different.

      That simply means connecting a public Cloud environment through to your on-premises or data-center-based traditional infrastructure.

      So there's a difference between hybrid Cloud, which is a formal definition, and then hybrid environment or hybrid networking.

      So try and separate those and understand what's meant by age.

      With true hybrid Cloud, you get to use the same tooling, the same interfaces, the same processes to interact with both the public and private components.

      So let's summarize this.

      Public Cloud means to use a single public Cloud environment such as AWS, Azure, or Google Cloud.

      Private Cloud is to use on-premises Cloud.

      Now, this is important.

      This is one of the most important distinctions to make.

      For it to be private Cloud, you need to be using an on-premises real Cloud product.

      It needs to meet those five essential characteristics.

      Multi Cloud means using more than one public Cloud.

      So an example of this might be AWS and Azure, or AWS, Azure and Google.

      They're examples of a multi Cloud deployment.

      So using multiple public Clouds in one deployment, that's a multi Cloud environment.

      And I mentioned that earlier in the lesson, that can be as simple as deploying half of your infrastructure to one public Cloud and half to the other, or using a third party tool that abstracts away from a management perspective.

      But I would not recommend any abstraction or any third party tools.

      Generally, in my experience, the best multi Cloud environments are those which use part of your infrastructure in one Cloud environment and part in the other.

      Hybrid Cloud means utilizing public and private Clouds, generally from the same vendor, together as one unified platform.

      And then lastly, and probably personally one of the most important points to me, Hybrid Cloud is not utilizing a public Cloud like AWS and connecting it to your legacy on-premises environment.

      That is a hybrid environment or a hybrid network.

      Hybrid Cloud is a very specific thing.

      And I'm stressing this because it is important now to be an effective solutions architect.

      You need to have a really good distinction between what public Cloud, private Cloud, multi Cloud, hybrid Cloud and hybrid environments are.

      Understand all of those separate definitions.

      Now that's all I wanted to cover in this lesson.

      I hope it wasn't too dry.

      I really do want to make sure that you understand all of these terms on a really foundational level because I think they're really important to be an effective solutions architect.

      So go ahead, complete this lesson and then when you're ready, I'll see you in the next.

    1. It’s okayto admit when I just don’t know and whenI’m scared to dwell deep.

      Something I need to keep in mind is that it's okay for vulnerability to be hard, to be tiring. I don't always have to share everything with everyone.

    2. For Simpson, the insistenceof sharing these stories become a teaching to remember how colonialismimpacted the actual land—that industrialization and other narratives ofprogress, innovation, and improvement have consequences to impact gen-erations to come.

      This is an interesting perspective that I think is missing from the way land recognitions are employed in progressive places. There is no 'why' of it, so it means nothing to most people. Also important that it's based in materialism. There is an actual history to trace back, not just liberal niceties.

    Annotators

    1. In this lesson, I want to introduce Cloud Computing.

      It's a phrase that you've most likely heard, and it's a term you probably think you understand pretty well.

      Cloud Computing is overused, but unlike most technical jargon, Cloud Computing actually has a formal definition, a set of five characteristics that a system needs to have to be considered cloud, and that's what I want to talk about over the next few minutes in this lesson.

      Understanding what makes Cloud 4 Cloud can help you understand what makes Cloud special and help you design cloud solutions.

      So let's jump in and get started.

      Now because the term Cloud is overused, if you ask 10 people what the term means, you'll likely get 10 different answers.

      What's scary is that if those 10 individuals are technical people who work with Cloud day to day, often some of those answers will be wrong.

      Because unlike you, these people haven't taken the time to fully understand the fundamentals of Cloud Computing.

      To avoid ambiguity, I take my definition of Cloud from a document created by NIST, a NIST at the National Institute of Standards and Technology, which is part of the US Department of Commerce.

      NIST creates standards documents, and one such document is named Special Publication 800-145, which I've linked in the lesson text.

      The document defines the term Cloud.

      It defines five things, five essential characteristics, which a system needs to meet in order to be cloud.

      So AWS, Azure, and Google Cloud, they all need to meet all five of these characteristics at a minimum.

      They might offer more, but these five are essential.

      Now some of these characteristics are logical, and so they may surprise you.

      So I've added a couple of things to the document, and I've added a couple of things to the document, and even though you and other business are probably sharing physical hardware, you would never know each other existed, and that's one of the benefits of Boolean.

      But on to characteristic number four, which is rapid elasticity.

      The NIST document defines this as capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly, outward, and inward, commensurate with demand.

      To the consumer, the capabilities available for provisioning often appear to be unlimited, and can be appropriated in any quantity at any time.

      Now I simplify this again into two points.

      First, capabilities can be elastically provisioned and released to scale rapidly, outward and inward with demand, and in this case, capabilities are just resources.

      And second, to the consumer, the capabilities available for provisioning often appear to be unlimited.

      Now when most people think about scaling in terms of IT systems, they see a system increasing in size based on organic growth.

      Elasticity is just an evolution of that.

      A system can start off small, and when system load increases, the system size increases.

      But, crucially, with elasticity, when system load decreases, the system can reduce in size.

      It means that the cost of a system increases as demand increases, and the system scales, and decrease as demand drops.

      Rapid elasticity is this process but automated, so the scaling can occur rapidly in real time with no human interaction.

      Cloud vendors need to offer products and features, which monitor load, and allow automated provisioning and termination as load increases and decreases.

      Now most businesses won't care about increased system costs.

      If, for example, during sale periods, their profits increase, and because the system scales, along with that increased load and increased profits, the customers are kept happy.

      Elasticity means that you don't have to, and indeed can't over provision, because over provisioning weighs money.

      It also means that you can't under provision and experience performance issues for your customers.

      It's how a company like Amazon.com or Netflix can easily handle holiday sales, or handle the load generated on the latest episode of Game of Thrones' release.

      The second part is related to that.

      A cloud environment shouldn't let you see capacity limits.

      If you need 100 virtual machines or 1000, you should be able to get access to them immediately when required.

      In the background, the provider is handling the capacity in a pooled way, but from your perspective, you should never really see any capacity limitations.

      Now this is, in my opinion, the most important benefit of cloud, systems which scale in size in response to load.

      So this is a really important one to make sure that a potential cloud environment offers in order to make sure that it is actually cloud.

      Okay, let's move on to the final characteristic, and that's measured service.

      Now this document defines this as cloud systems automatically control and optimize resource use by leveraging and metering capability at some level of abstraction appropriate to the type of service.

      And it says that resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the service.

      Now my simplified version of this is that resource usage can be monitored, controlled, reported, and built.

      Traditional and non-cloud infrastructure work to using capex.

      You pay for service and hardware in advance.

      In the beginning, you had more capacity than you needed, so money was wasted.

      Your demand grew over time, and eventually you purchased more service to cope with the demand.

      If you did that too slowly, you had performance issues or failures.

      With a true cloud environment, it offers on-demand billing.

      Your usage is monitored on a constant basis.

      You pay for that usage.

      This might be a certain amount per second, a minute, an hour, or per day usage of a certain service, for example virtual machines.

      Or it could be a certain cost for every gigabyte you store on a storage service for a given month.

      You generally pay nothing in advance if it truly is a cloud platform.

      If you consume a virtual server for a month, but then for 30 minutes at that month you use 100 virtual servers, then you should pay a small amount for the month and a much larger amount just for that 30 minutes.

      Legacy vendors will generally want to feed or buy or lease a server.

      If this is the case, they aren't cloud, and they probably don't support some of the massively flexible architectures the cloud allows you to build.

      With that being said, that is everything I wanted to cover, so go ahead, complete this video, and when you're ready, I'll join you in the next.

    1. Welcome back.

      In a previous video I talked about YAML, which is a method of storing and passing data which is human readable.

      In this video I want to cover JSON, which is the JavaScript object notation.

      Let's jump in and take a quick look and note that many of the topics which I covered in the YAML video also apply here.

      With conveying the same information, the format to do so is just different.

      So unfortunately we have another mouthful of definition incoming.

      So JSON, or the JavaScript object notation, is a lightweight data interchange format.

      It's easy for humans to read and write and it's easy for machines to pass and generate.

      That's what it says, but there are a few differences that you should be aware of before we move on.

      JSON doesn't really care about indentation because everything is enclosed in something, so braces or brackets.

      Because of this it can be much more forgiving regarding spacing and positioning.

      And secondly because of that, JSON can appear initially harder to read.

      But over time I've come to appreciate the way that JSON lays out the structure of its documents.

      Now there are two main elements that you need to understand if you want to be competent with JSON.

      First, an object or a JSON object.

      And this is an unordered set of key value pairs enclosed by curly brackets.

      Now from when you watched the YAML video, you should recognise this as a dictionary.

      It's the same thing, but in JSON it's called an object.

      The second main element in JSON is an array which is an ordered collection of values separated by commas and enclosed in square brackets.

      Now from the YAML video you might recognise this as a list.

      It's again the same thing, only in JSON it's called an array.

      Now in both cases, arrays which are lists of values or objects which are collections of key value pairs, the value can be a string, an object, a number, an array, boolean, true or false, or finally null.

      Now with these two high level constructs in mind, let's move on.

      So this is an example of a simple JSON document.

      Notice how even at the top level there are these curly brackets.

      This shows that at the top level a JSON document is simply a JSON object, a collection of key value pairs separated by a colon.

      In this example we have three keys.

      We have cats, colours and finally, num of eyes.

      And each key has a corresponding value in this example which is an array.

      The top level key value pair has a value containing an array of cat names.

      The middle has a value which is an array of the colour of the cats.

      And then the last key value pair has a value which is a list of the number of eyes which each cat has.

      Now JSON documents aren't limited to just arrays.

      They can be much more complicated like this example.

      Now this is a JSON document and every JSON document starts with a top level object, which is an unordered list of key value pairs surrounded by curly brackets.

      This object has four key value pairs.

      The keys are ruffle, truffles, penny and winky.

      The value of each key is a JSON object, a collection of key value pairs.

      So JSON objects can be nested within JSON objects, arrays can be ordered lists of JSON objects, which themselves can contain JSON objects.

      And again, this lets you create complex structures which can be used by applications to pass or store data and configuration.

      Now I'll admit it, I'm actually a fan of JSON.

      I think it's actually easier to write and read than YAML.

      Many people will disagree and that's fine.

      With that being said though, that's everything that I wanted to cover in this video.

      So go ahead and complete the video and when you're ready, I'll look forward to you joining me in the next.

    1. Welcome to this video which will be a fairly high level introduction to YAML.

      Now YAML stands for YAML 8 Markup Language and for any key observers that's a recursive acronym.

      Now I want this video to be brief but I think it's important that you understand YAML's structure.

      So let's jump in and get started.

      YAML is a language which is human readable and designed for data serialization.

      Now that's a mouthful but put simply it's a language for defining data or configuration which is designed to be human readable.

      At a high level a YAML document is an unordered collection of key value pairs separated by a colon.

      It's important that you understand this lack of order.

      At this top level there is no requirement to order things in a certain way.

      Although there may be conventions and standards none of that is imposed by YAML.

      An example key value pair might be the key being cat1 and the value being raffle.

      One of my cats in this example both the key and the value are just normal strings.

      We could further populate our YAML file with a key of cat2 and a value of truffles and other cat of mine.

      Or a key of cat3 and a value of penny and a key of cat4 and a value of winkey.

      These are all strings.

      Now YAML supports other types numbers such as one and two, floating point values such as 1.337, boolean so true or false and even null which represents nothing.

      Now YAML also supports other types and one of those are lists known as arrays or other names depending on what if any programming languages that you're used to.

      A list is essentially an ordered set of values and in YAML we can represent a list by having a key let's say Adrian's cats.

      And then as a value we might have something that looks like this, a comma separated set of values inside swear brackets.

      Now this is known as inline format where the list is placed where you expect the value to be after the key and the colon.

      Now the same list can also be represented like this where you have the key and then a colon and then you go to a new line and each item in the list is represented by hyphen and then the value.

      Now notice how for some of the values are actually enclosed in speech marks or quotation marks and so on.

      This is optional.

      All of these are valid.

      Often though it's safe for you to enclose things as it allows you to be more precise and it avoids confusion.

      Now in YAML indentation really matters.

      Indentation is always done using spaces and the same level of indentation means that the things are within the same structure.

      So we know that because all of these list items are indented by the same amount they're all part of the same list.

      We know they're a list because of the hyphens.

      So same indent always using hyphens means that they're all part of the same list, same structure.

      Now these two styles are two methods for expressing the same thing.

      A key called Adrian's cats whose value is a list.

      This is the same structure.

      It represents the same data.

      Now there's one final thing which I want to cover with YAML and that's a dictionary.

      A dictionary is just a data structure.

      It's a collection of key value pairs which are unordered.

      A YAML template has a top level dictionary.

      It's a collection of key value pairs.

      So let's look at an example.

      Now this looks much more complicated but it's not if you just follow it through from the start.

      So we start with a key value pair.

      Adrian's cats at the top.

      So the key is Adrian's cats and the value is a list.

      And we can tell that it's a list because of the hyphens which are the same level of indentation.

      But, and this is important, notice how for each list item we don't just have the hyphen and a value.

      Instead we have the hyphen and for each one we have a collection of key value pairs.

      So for the final list item at the bottom we have a dictionary containing a number of key value pairs.

      The first has a key of name with a value of winky.

      The second a key color with a value of white.

      And then for this final list item a key, num of eyes and a value of one.

      And each item in this list, each value is a dictionary.

      A collection of one or more key value pairs.

      So values can be strings, numbers, floats, booleans, lists or dictionaries or a combination of any of them.

      Note how the color key value pair in the top list item, so the raffle dictionary at the top, its value is a list.

      So this structure that's on screen now, we have Adrian's cats which are a value, has a list.

      Each value in the list is a dictionary.

      Each dictionary contains a name, key, with a value, a color key, with a value.

      And then the third item in the list also has a num of eyes key and a value.

      Now using YAML key value pairs, lists and dictionaries allows you to build complex data structures in a way which once you have practice is very human readable.

      In this case, it's a database of somebody's cats.

      Now YAML can be read into an application or written out by an application.

      And YAML is commonly used for the storage and passing of configuration.

      For now thanks for watching, go ahead, complete the video and when you're ready I'll look forward to you joining me in the next.

    1. Welcome to this video where I'm going to step through two concepts which I think should be mandatory knowledge for any solutions architect.

      And for anyone else working in IT, these are also really useful.

      First we have recovery point objective known as RPO and recovery time objective known as RTO.

      Generally if you're a solutions architect helping a client, they will give you their required values for both of these.

      In some cases you might need to work with key stakeholders within the business to determine appropriate values.

      In either case if you get them wrong it can have a massive negative consequence to a business.

      Let's jump in and get started.

      I'm going to start by stepping through recovery point objective or RPO.

      Recovery point objective or RPO is something that's generally expressed in minutes or hours.

      And I'll illustrate this, let's say a given 24 hour period.

      It starts on the left and midday, moves through midnight in the middle and finishes at 12 midday on the following day on the right.

      I will need to consider an animal rescue business who have animals arriving to be fostered 24/7/365.

      They have intake, vet exams and data restored within on-premises systems which need to be referred to constantly throughout the day.

      At a certain point in time let's say 2am we have a server failure.

      And for this example let's assume this is a single server which stores all the data for the organization and they have no redundancy.

      Now this is a terrible situation but it's all too common for cash-strapped charities.

      So remember, donate to your local animal rescue centre.

      RPO is defined as the maximum amount of data and this is generally expressed in time that can be lost during a disaster recovery situation before that loss will exceed what the organization can tolerate.

      If an organization tells you that they have an RPO of 6 hours, it means the organization cannot tolerate more than 6 hours of data loss when recovering from a disaster like this server failure.

      Now different organizations will have different RPO values.

      Banks logically will be able to tolerate although some know data loss because they deal with customer money.

      Whereas an online store might be able to tolerate some data loss as they can in theory recreate orders in other ways.

      Understanding how data can be lost during disaster recovery scenarios is key to understanding how to implement a given RPO requirement.

      Let's consider this scenario that every 6 hours starting at 3pm on day 1 the business takes a full backup of the server which has failed.

      So normally we have a backup at 3pm, one at 9pm, one at 3am and one at 9am.

      So 4 backups every 24 hour period split by 6 hours.

      In order to recover data from the failed server we need to restore a backup.

      Ideally assuming that we have no failures it will be from the most recent backup.

      Now successful backups are known as recovery points.

      In the case of full backups each successful backup is one recovery point.

      If you use full backups and incremental backups it's possible that to restore a single incremental backup, i.e. to use that one recovery point you'll need the most recent full backup and every incremental backup between that full and the most recent okay incremental backup.

      So it's possible that a recovery point will need more than one backup.

      With this scenario so the server failure at 2am the data loss will be the time between 2am and the most recent recovery point.

      In this case 9pm at the previous day.

      So this represents 5 hours of lost data.

      If the failure occurred right after the 9pm backup had finished we'd have almost no data loss.

      If the failure occurred one hour later at 3am we would have 6 hours of data loss.

      Now the maximum loss of data for this type of scenario is the time between 2 successful backups.

      In our case because backups occur every 6 hours then data loss could be a minimum of 0 if the server failure occurred right after the first backup finished or a maximum of 6 hours if the server failure occurred right before the next scheduled backup.

      So when an organisation informs you that they have a requirement for an RPO of 6 hours they're telling you that they can only tolerate a maximum of 6 hours of data loss in a disaster scenario.

      And as a general rule this means that you need to make sure that backups occur as often or more often than the RPO value provided by the organisation.

      An RPO of 6 hours means at minimum a backup every 6 hours but to cope with random backup failure generally you'll want to make sure backups occur more frequently than required.

      So in this example maybe once every 3 hours or maybe even once an hour.

      Lower RPOs generally require more frequent backups which historically has resulted in higher cost for backup systems both in terms of media which also licensing, management overhead and other associated processes.

      So RPO is a value which is generally given to you by an organisation or you might have to work with an organisation to identify an appropriate value and it states how much maximum loss of data in time the business can tolerate.

      Different businesses will have different RPOs and sometimes even different RPOs for different systems within a single organisation.

      A bank might have super low RPOs for its financial systems but it might tolerate a much higher one for its website.

      If data changes less frequently the system is less important then higher RPO values are easier to tolerate for a business.

      Now let's move on and cover recovery time objective or RTO.

      To explain RTO we're going to use the same example of a 24 hour period starting at midday on one day moving through that day with midnight in the middle and then moving to midday the following day on the right.

      For this example though I've moved the server failure to 10pm on day one and the most recent backup was 9pm so one hour before the failure.

      As you know now this means assuming the backup is working i.e. it's a valid recovery point that the data loss will be one hour, the time between the 9pm backup and the 10pm server failure.

      RTO or recovery time objective simply put is the maximum tolerable length of time that a system can be down after a failure or disaster occurs.

      Now once again just as with RPO this value is something that a business will give you as a directive or alternatively it's something that you'll work with a business on to determine a suitable value.

      Also just as with RPOs different businesses will have different RPOs.

      A bank will have a much lower RPO for its banking systems than a cafe for its website and an organisation will generally have different RPOs for its different systems.

      Critical systems will have lower RPOs and less important systems can potentially have higher RPOs.

      Now looking at the RPO definition in a different way, if the animal rescue business had an RPO of 13 hours it would mean that for a server failure which occurred at 10pm the IT operations team would have as a maximum until 11am the following day to fully restore the system to an operational state.

      Now something which is really important that I need you to understand and this isn't always obvious especially if you haven't worked on or with a service desk before.

      Recovery time of the system begins at the moment of the failure that's when the clock starts ticking and it ends not when the issue is fixed but when the system is handed back to the business in a fully tested state.

      So in this example the clock starts at 10pm and to meet an RPO of 13 hours the server needs to be running again fully working by 11am the following day.

      So you might ask why I'm stressing this point?

      Well RPO isn't just about technical things, the biggest impacts on RPOs are things which as a technical person you might not always identify.

      I want to step through some considerations which might impact the ability of this animal rescue's operation team to meet this 13 hour RPO directive.

      The first thing which might not be immediately obvious is that to recover a system you need to know that that system has failed.

      If the failure occurs at 10pm while the recovery time starts at that point the ability to recover only really starts when you're made aware that the system has failed.

      So how long till the operations team know that there is an issue?

      Is there monitoring in place on this service?

      Is it reliable because too many false positives will have people ignoring outage notifications?

      How will the monitoring system notify staff?

      Will it wake staff who are sleeping?

      Will it be the correct staff, staff who are empowered to begin a recovery process?

      This is the real starting point to any recovery process and it often adds lag onto the start of the process.

      Even with major internet applications that I use it's not uncommon for outages to occur and then take a further 15 to 30 minutes before the vendor is actively aware and investigating a fault.

      Now don't underestimate the importance of effective monitoring and notification systems.

      Beyond that make sure that you've planned and configured these processes in advance.

      Waking up a junior operations person who has no ability to make decisions or no ability to wake up senior staff members is useless in this scenario.

      Best case this part of the process takes some time so make sure that it's built into your planning.

      Now let's move on and assume that we do have somebody in the ops team who can begin the process.

      Well step number two is going to be to investigate the issue.

      It might be something which is fixable quickly or it might be that a server is literally on fire.

      Somebody needs to take the time to make the final decision to perform a restore if required and again this will take some time.

      Moving on if we assume that we are going to do a restore we need to focus on the backup system.

      What type of backups do we have?

      Some take longer to restore versus others.

      If it's a tape backup system where are the tapes?

      Where is the tape drive or the loader?

      Who needs to restore it?

      Do they need to be in a specific physical location?

      How does the restore happen?

      Is there a documented process?

      And is the person or one of the people who can perform the restore available and awake?

      All of these are critical in your ability to begin the restore process and they all take time.

      Now this type of disaster recovery scenario if you don't have a documented and tested process this can also be really stressful.

      And a stressful situation late at night without your team around you this is when mistakes happen.

      But let's assume that we have a working backup system.

      We know where the backup media is and we have that and somebody who can operate the restore.

      The next step is where we're restoring to.

      The server we had has had a major failure or might literally be on fire.

      Do you think about this in advance?

      These choices so what are we restoring on?

      Do we have a spare?

      Do we need to order another server?

      Are we using physical or virtual servers?

      Or are we even forced to use a secondary disaster recovery site because not only is the server on fire but also is the server room.

      Many people miss these elements when thinking about RTO but these are the things which really matter.

      A badly documented process to restore servers or a slow notification system might add additional hours.

      But having to order new server hardware could add days to a recovery time.

      And finally for those wells that the restore has completed the operations team thinks the service is back up and running.

      Then there needs to be time allocated for business testing, user testing and final handover.

      This isn't quick and has to be done before you consider recovery to be complete.

      This entire process end to end is what recovery is.

      And so if the business has a 13 hour RTO you need to make sure that all of this process in its entirety fits into that 13 hours.

      So that's what RTO is, a value given to you by a business or something that you help a business identify.

      It's the maximum tolerable time to recover a system in the event that a disaster occurs.

      It's the end to end process so this includes fault identification, restoration and final testing and handover.

      So it's really important that when you're planning the recovery process for a system and you're given an RTO value by the business you're sure that you have time to perform all of these individual steps.

      Now let's quickly summarize what we've learned before we finish this video.

      So RPO is how much data the maximum data expressed in time at a business can lose.

      So this is amount of data expressed in time beyond which it's not tolerable to the business.

      So worst case this is the time between successful backups.

      In general to implement more and more demanding RPO directives you need more frequent backups.

      This means more cost but it does result in a lower RPO.

      So when you see RPO think maximum data loss.

      RTO or recovery time objective is a directive from the business which is a maximum restore time that that business can tolerate.

      And this is end to end from identification through to final testing and handover.

      So this can be reduced by effective planning, monitoring, notification, formal processes, spare hardware, training and more efficient systems such as virtual machines or AWS.

      So RTO is the maximum time from when a failure occurs through to when the business will need that system back up and running in an operational state.

      And by thinking about this in advance you can make your recovery process more efficient and meet more demanding RTOs from the business.

      Now different businesses and different systems within the businesses will have different RPO and RTO values.

      Generally the more critical a system is the lower and thus more demanding the RPO and RTO values will be.

      And non-critical systems of business is usually more willing to tolerate higher and so less demanding RPO and RTO values.

      Because generally what you're looking for is a gold lock point where you're as close to the true business requirements as possible.

      Now as a solutions architect it's often the case that the business isn't aware of appropriate RTO and RTO values.

      And so one of the core duties when designing new system implementations is to work with the business and understand which systems are critical and which can tolerate more data loss or recovery outages.

      And by appropriately designing systems to match the true business requirements you can deliver a system which meets those requirements in a cost effective way.

      Now at this point that's everything I want to cover about RPO and RTO at a high level.

      If you're doing one of my ADL West courses as you're going through the course consider how you think the products and services being discussed would affect the RPO and RTO's of systems designed utilizing those products.

      And if appropriate I'll be discussing exactly how features of those products can influence RPO and RTO values.

      At this point though that's everything I wanted to cover in this video.

      Thanks for watching.

      Go ahead and complete the video and when you're ready I'll look forward to you joining me in the next.

    1. Welcome back.

      In this fundamentals video, I want to briefly talk about Kubernetes, which is an open source container orchestration system.

      You use it to automate the deployment, scaling and management of containerized applications.

      At a super high level, Kubernetes lets you run containers in a reliable and scalable way, making a vision fuse of resources, and lets you expose your containerized applications to the outside world or your business.

      It's like Docker, only with robots automated and super intelligence for all of the thinking.

      Now, Kubernetes is a cloud agnostic product, so you can use it on premises and within many public cloud platforms.

      Now, I want to keep this video to a super high level architectural overview, but that's still a lot to cover.

      So let's jump in and get started.

      Let's quickly step through the architecture of the Kubernetes cluster.

      A cluster in Kubernetes is a highly available cluster of compute resources, and these are organized to work as one unit.

      The cluster starts with a cluster control plane, which is the part which manages the cluster.

      It performs scheduling, application management, scaling and deployment, and much more.

      Compute within a Kubernetes cluster is provided via nodes, and these are virtual or physical servers, which function as a worker within the cluster.

      These are the things which actually run your containerized applications.

      Running on each of the nodes is software, and at minimum, this is container D or another container runtime, which is the software used to handle your container operations.

      And next, we have KubeLit, which is an agent to interact with the cluster control plane.

      And on each of the nodes communicates with the cluster control plane using Kubernetes API.

      Now, this is the top level functionality of the Kubernetes cluster.

      The control plane orchestrates containerized applications which run on nodes.

      But now let's explore the architecture of control planes and nodes in a little bit more detail.

      On this diagram, I've zoomed in a little.

      We have the control plane at the top and a single cluster node at the bottom, complete with the minimum Docker and KubeLit software running for control plane communications.

      Now, on to step through the main components which might run within the control plane and on the cluster nodes.

      Keep in mind, this is a fundamental level video.

      It's not meant to be exhaustive.

      Kubernetes is a complex topic, so I'm just covering the parts that you need to understand to get started.

      Now, the cluster will also likely have many more nodes.

      It's rare that you only have one node unless this is a testing environment.

      Now, first, I want to talk about pods and pods at the smallest unit of computing within Kubernetes.

      You can have pods which have multiple containers and provide shared storage and networking for those pods.

      But it's very common to see a one-container, one-pod architecture, which as the name suggests, means each pod contains only one container.

      Now, when you think about Kubernetes, don't think about containers.

      Think about pods.

      You're going to be working with pods and you're going to be managing pods.

      The pods handle the containers within them.

      Architecturally, you would generally only run multiple containers in a pod when those containers are tightly coupled and require close proximity and rely on each other in a very tightly coupled way.

      Additionally, although you'll be exposed to pods, you'll rarely manage them directly.

      Pods are non-permanent things.

      In order to get the maximum value from Kubernetes, you need to view pods as temporary things which are created, do a job, and are then disposed of.

      Pods can be deleted when finished, evicted for lack of resources, or the node itself fails.

      They aren't permanent and aren't designed to be viewed as highly available entities.

      There are other things linked to pods which provide more permanence, but more on that elsewhere.

      So now let's talk about what runs on the control plane.

      Firstly, I've already mentioned this one, the API, known formally as Q-API server.

      This is the front end for the control plane.

      It's what everything generally interacts with to communicate with the control plane, and it can be scaled horizontally for performance and to ensure high availability.

      Next, we have ETCD, and this provides a highly available key value store.

      So a simple database running within the cluster, which acts as the main backing store for data for the cluster.

      Another important control plane component is Q-scheduler, and this is responsible for constantly checking for any pods within the cluster which you don't have a node assigned.

      And then it assigns a node to that pod based on resource requirements, deadlines, affinity, or anti-affinity, data locality needs, and any other constraints.

      Remember, nodes are the things which provide the raw compute and other resources to the cluster, and it's this component which makes sure the nodes get utilized effectively.

      Next, we have an optional component, the Cloud Controller Manager, and this is what allows Kubernetes to integrate with any cloud providers.

      It's common that Kubernetes runs on top of other cloud platforms such as AWS, Azure, or GCP, and it's this component which allows the control plane to closely interact with those platforms.

      Now, it is entirely optional, and if you run a small Kubernetes deployment at home, you probably won't be using this component.

      Now, lastly, in the control plane is the Q-Controller Manager, and this is actually a collection of processors.

      We've got the node controller, which is responsible for monitoring and responding to any node outages, the job controller, which is responsible for running pods in order to execute jobs, the endpoint controller, which populates endpoints in the cluster, more on this in a second, but this is something that links services to pods.

      Again, I'll be covering this very shortly.

      And then the service account and token controller, which is responsible for account and API token creation.

      Now, again, I haven't spoken about services or endpoints yet, just stick with me.

      I will in a second.

      Now, lastly, on every node is something called K-Proxy, known as Cube Proxy, and this runs on every node and coordinates networking with the cluster control plane.

      It helps implement services and configs rules allowing communications with pods from inside or outside of the cluster.

      You might have a Kubernetes cluster, but you're going to want some level of communication with the outside world, and that's what Cube Proxy provides.

      Now, that's the architecture of the cluster and nodes in a little bit more detail, but I want to finish this introduction video with a few summary points of the terms that you're going to come across.

      So, let's talk about the key components.

      So, we start with the cluster, and conceptually, this is a deployment of Kubernetes.

      It provides management orchestration, healing, and service access.

      Within a cluster, we've got the nodes which provide the actual compute resources, and pods run on these nodes.

      A pod is one or more containers, and it's the smallest admin unit within Kubernetes, and often, as I mentioned previously, you're going to see the one container, one pod architecture.

      Simply put, it's cleaner.

      Now, a pod is not a permanent thing, it's not long-lived.

      The cluster can and does replace them as required.

      Services provide an abstraction from pods, so the service is typically what you will understand as an application.

      An application can be containerized across many pods, but the service is the consistent thing, the abstraction.

      Service is what you interact with if you access a containerized application.

      Now, we've also got a job, and a job is an ad hoc thing inside the cluster.

      Think of it as the name suggests, as a job.

      A job creates one or more pods, runs until it completes, retries if required, and then finishes.

      Now, jobs might be used as back-end isolated pieces of work within a cluster.

      Now, something new that I haven't covered yet, and that's Ingress.

      Ingress is how something external to the cluster can access a service.

      So, you have external users, they come into an Ingress, that's routed through the cluster to a service, the service points at one or more pods, which provides the actual application.

      So, Ingress is something that you will have exposure to when you start working with Kubernetes.

      And next is an Ingress controller, and that's a piece of software which actually arranges for the underlying hardware to allow Ingress.

      For example, there is an AWS load balancer, Ingress controller, which uses application and network load balancers to allow the Ingress.

      But there are also other controllers such as Nginx and others for various cloud platforms.

      Now, finally, and this one is really important, generally it's best to architect things within Kubernetes to be stateless from a pod perspective.

      Remember, pods are temporary.

      If your application has any form of long-running state, then you need a way to store that state somewhere.

      Now, state can be session data, but also data in the more traditional sense.

      Any storage in Kubernetes by default is ephemeral, provided locally by a node, and thus, if a pod moves between nodes, then that storage is lost.

      Conceptually, think of this like instant store volumes running on AWS EC2.

      Now, you can configure persistent storage known as persistent volumes or PVs, and these are volumes whose lifecycle lives beyond any one single pod, which is using them.

      And this is how you would provision normal long-running storage to your containerized applications.

      Now, the details of this are a little bit beyond this introduction level video, but I wanted you to be aware of this functionality.

      OK, so that's a high-level introduction to Kubernetes.

      It's a pretty broad and complex product, but it's super powerful when you know how to use it.

      This video only scratches the surface.

      If you're watching this as part of my AWS courses, then I'm going to have follow-up videos which step through how AWS implements Kubernetes with their EKS service.

      If you're taking any of the more technically deep AWS courses, then maybe other deep-dive videos into specific areas that you need to be aware of.

      So there may be additional videos covering individual topics at a much deeper level.

      If there are no additional videos, then don't worry, because that's everything that you need to be aware of.

      Thanks for watching this video.

      Go ahead and complete the video, and when you're ready, I look forward to you joining me in the next.

    1. Welcome back in this video I want to talk about the DNS signing ceremony.

      If you're imagining confetti and champagne right now, it's the opposite of that kind of ceremony.

      This ceremony is all about controlling the keys to the internet, more specifically the trust anchor of the DNS system.

      It's one of the most important meetings which occur in the technical space.

      Pretty much everything that you use on the internet is enabled by the technical act which occurs within the ceremony.

      Now before I cover what the ceremony is, we need to understand why anything like this is needed.

      Trust within a DNS zone is normally provided via the parent zone of that zone.

      The parent zone has a DS record which is a hash of the public key signing key of the child zone, and that's how the trust chain is created.

      In the case of the root zone, there is no parent zone and this means there's nothing to provide that trust.

      And so a more rigorous process is required, something which is secure enough that the output can be absolutely trusted by every DNSSEC resolver and client.

      And we refer to this concept as a trust anchor.

      Locked away within two secure locations, one in California and another in Virginia, is what amounts to the keys of the internet.

      The private DNS root key signing key known as a KSK.

      Now it's impossible to overstate how important this set of keys is to the internet.

      They rarely change and the trust in them is hard coded into all DNSSEC clients.

      With them you can define what's valid on the DNSSEC root zone.

      Because of this, every child's top level domain, every child's zone, inside those and every DNS record, these are locked away, protected and never exposed.

      And they use redundant hardware security modules also redundant across physical locations.

      Now I'll detail this more in a second.

      With access to the private keys is controlled via the fact that HSMs are used.

      You can only use the HSMs in tightly controlled ways.

      The keys never leave those HSMs, those HSMs never leave those locations.

      And you can only use them within those locations if you have the right group of people.

      And people can only get into those locations after going through a rigorous multi-stage ID process.

      Now why this is important is because we all know a public part of this key.

      It's part of the DNS key record set within the root zone along with the public zone signing key.

      To recite this, every DNSSEC client and resolver on the planet explicitly trusts this key, this key signing key.

      And if we have this public root zone key signing key, we can verify anything signed by the private key, the one that's locked away within the hardware security modules.

      Because the security of the private root key signing key is so tight, it's not practical to use constantly.

      And so there's another key pair which controls the security of the DNS root zone.

      This is known as the root zone ZSK or zone signing key.

      The whole function of this massively controlled ceremony is to take the root zone ZSK, take this into the ceremony, sign it with the private root zone KSK, within these hugely tightly controlled conditions and then produce as an output the root zone RRSIG DNS key.

      This single record is why DNS from this level down through the top level domains and into the domain zones, this is why it's all trusted because the root zone is trusted via this signing process.

      Now talking through the detail of the signing ceremony would take too long.

      And so I've included a link attached to this video which gives a detailed overview of the ceremonial process.

      These ceremonies are public and recorded and links detailing all of this process is included attached to this video.

      What I want to do now is to talk in a little bit more detail about why this process is so secure.

      The signing ceremony itself takes place, as I mentioned previously, in one of two secure locations.

      Now there are a few key sets of people involved.

      I'll not show them all on screen, but we have the ceremony administrator, an internal witness, the credential safe controller, the hardware safe controller, and then crypto officer 1, crypto officer 2 and crypto officer 3.

      Now there are a total of 14 of these crypto officers.

      Seven of them are affiliated with each of the locations and at least three are required to attend for the process to work.

      Logistically, dates and times of it 24 to 5 are available to ensure some level of resilience.

      The most important part of the whole process hardware wise is the hardware security module or HSM, which is the hardware which contains the root zone private key signing key.

      This device is protected and can only be interacted with via the ceremony laptop which is connected to the HSM over ethernet and this is only operated by the ceremony administrator.

      The laptop has no battery and no storage.

      It's designed to be stateless and only used to perform the ceremony and not store any data afterwards.

      Now the HSM device can only be used when crypto officers use their allocated cards.

      What's being signed are the public key signing key and zone signing keys.

      We'll actually a pack of them to allow for rotation between this ceremony date and the next.

      The HSM device via the ceremony laptop then outputs the signatures for these keys which become the DNS key, RRC records for the DNS root zone.

      Now again this process happens every three months.

      It's generally broadcast, notes of the process are available and it's publicly audited.

      Now this is a summary of the process.

      The level of security procedure which goes into ensuring that groups of human participants can't collude and corrupt the process is extreme.

      I've included additional links attached to this video which provide more detail if you're interested.

      For this video I just want you to have an understanding of why the ceremony is so important.

      So during the ceremony we take the root key signing keys which everything trusts but which are too important to be used day to day.

      And we use those to sign root zone signing keys which can be used on a more operational basis and these can be used to sign individual resource record sets within the root zone.

      And it's that public and private zone signing key pair which is then used to create the chain of trust which allows trust in top level domains.

      And then those top level domains can pass that trust on to domains and then in domains that trust can be passed to individual resource record sets.

      And this all has to happen because we have nothing above the root key signing keys in the DNS.

      There are trust anchor.

      Nothing makes us trust them other than the trust itself.

      And the ceremony ensures that it's almost impossible to corrupt that trust.

      At this point that is everything I wanted to cover in this video.

      So go ahead and complete the video and when you're ready I look forward to you joining me in the next.

    1. Welcome back.

      In this video, I want to step through how DNSSEC works inside his own, specifically how it allows a DNSSEC resolver or client to validate any resource records within his own.

      This video is focusing on the data integrity part of DNSSEC.

      And coming up after this is another video where I'll cover the chain of trust and origin authentication benefits which DNSSEC provides in a lot more detail.

      Now, because this video covers digital signing within DNSSEC, it's important that you've watched my previous videos on DNS, on hashing, and on digital signing.

      If you haven't, all of those videos will be linked in the description.

      If you have, then let's jump in and get started.

      Now, to understand DNSSEC, I first need to introduce a term, and that's a resource record set or RR set.

      Let's look visually at what this is.

      We'll start with the DNS zone of ican.org, and I'm using this as an example in this lesson as it's one which I know to be DNSSEC enabled.

      Now, inside his zone, we have a number of resource records.

      First, www.ican.org, which is a CNAME record.

      And remember, CNAMES point at other records.

      And in this case, it points to two other records.

      One of them is an A record, so IP version 4, and the other is an AAA record, which is IP version 6.

      Now, finally, we have four MX records for the domain pointing at four different mail exchange servers.

      Now, each of these are resource records.

      I'm showing a total of seven.

      So what's a resource record set?

      Well, a resource record set or RR set is any records of the same name and the same type.

      So in the case of the left three, this means each of them is their own RR set.

      But in the case of the MX records, they all have the same name, so ican.org, and they're all MX records.

      And this means that all four of these are inside one RR set.

      RR sets are just sets of resource records.

      They make it easier to deal with records in groups versus single records.

      And in the case of DNS set, it keeps things manageable in other ways, but more on that in a second.

      Now, this is what an RR set might look like if you actually interact with DNS.

      Notice how all the names are the same and all the types are the same.

      So why do you need to know this?

      Well, because RR sets are used within DNS set.

      Right now, there's no way to tell if any of these resource records are valid.

      DNS set provides this functionality, but it's not individual resource records which are validated by DNS set.

      It's resource record sets or RR sets.

      Now, let's take a look at how this works.

      So DNS allows us to validate data integrity of record sets within DNS.

      It doesn't work on individual records, rather it works on sets of records, RR sets.

      Let's take a look at how.

      So we start with the same ican.org zone, and inside here I'm going to step through one RR set example, the set of four resource records which make up the MX RR set.

      Right now, without DNS set, if a bad actor found a way to change or make you think that these records have changed, then email delivery could, in theory, be redirected.

      DNS set helps prevent that using two features.

      First, we have RR sync, which stores a digital signature of an RR set using public and private pairs of keys.

      This one key pair is known as the zone signing key or ZSK.

      The private part of this key pair is sensitive and it's not actually stored within the zone.

      It's kept offline, it's kept separated, but you need to know that it exists.

      Like any private key, you need to keep this key safe and not accessible from the public domain.

      So once again, an RR sync contains a digital signature of an RR set.

      So we take the RR set which is plain text, we run it through a signing process, let's call this the digital signature atron 9000.

      In reality, it's just a standard cryptographic process.

      This process uses the private part of the ZSK to create a signature, and this is why it's important to keep the private part of this key safe.

      This output, the signature can be stored alongside the plain text RR set in the zone using the same name, but the record type is RR sync.

      Any normal DNS clients will only see the RR set, any DNS set clients will see the RR set and the corresponding RR sync.

      Now this uses digital signing and hashing.

      If the RR set changes, the RR sync has to be regenerated in order to be valid.

      If the RR set changes without a corresponding change to the RR sync, the result is an invalid signature.

      And so you can tell if anything has changed without the approval of the person controlling the private zone signing key.

      And this is because only the private part of the zone signing key can be used to sign RR sets creating an RR sync.

      Assuming that you trust that the private zone signing key is in safe hands, then you know that if there's a valid RR sync for a corresponding RR set, that RR set is in a valid state created by the zone admin, and if it changes, you can tell.

      Now the important question is, how can a DNS client or resolver verify the RR sync?

      For that, there's another piece to the DNS set puzzle.

      We need the public part of the zone signing key to be able to verify signatures or RRs sync created using the private part.

      Lucky for us, public parts of the key pairs aren't sensitive and don't need to be guarded.

      We just need a way to make them available.

      So consider this scenario, we have the same ICANN.org domain.

      We also have a DNS set resolver here at the bottom.

      How do we know it's a DNS set resolver?

      You'll just have to trust me, but it is a super smart resolver.

      Now inside the zone, we have the MX RR set for the ICANN.org zone.

      We also have the MX RR sync, which remember is a signature for the RR set created using the private part of the zone signing key.

      Inside a DNS set enabled zone, you'll find another record, the DNS key record.

      The DNS key record stores public keys.

      These public keys can be used to verify any RRs in the zone.

      DNS key records can store the public key for the zone signing key, so the ZSK, and also a different type of key, the key signing key or KSK.

      But more on this in a second.

      We're going to do this step by step.

      This is what a DNS key record might look like, and because it can store different public keys, there's a flag value.

      A value of 256 means that it's a zone signing key, and a value of 257 means it's a key signing key.

      So the top one here, this is the zone signing key, and it's this value, which is the last piece of the puzzle.

      It means the DNS resolver can take the RR set, which remember is the plaintext part, and using this together with the matching RRsig and the DNS key record, it can verify that both the RRsig matches the RR set, and the signature was generated using the private part of the zone signing key.

      And the result of this is that our DNS-seq-capable resolver at the bottom can verify the RR set is valid and hasn't been compromised.

      Now this is all assuming, and this is a big assumption, that we trust the DNS key, specifically the zone signing key.

      You have to trust that only the zone admin has the private part of the key, and you also have to trust that it's the correct zone signing key.

      If you do, you can trust the RRsig and matching RR set are valid.

      Now a real-world comparison of this would be to imagine if somebody shows you an ID card which has their photo on it.

      The photo ID only proves their identity if you trust the photo ID is real and it was created by a genuine authority entity.

      In humans, this trust is a bit fake, that's why fake IDs are such a problem.

      This isn't a problem with DNS-seq, because as you'll see, we have a chain of verifiable trust all the way to the DNS route.

      The DNS key record also requires a signature, and this means a matching RRsig record to validate that it hasn't been changed.

      The DNS key record, though, is assigned with a different key, the key signing key, or KSK, so as the name suggests, this key isn't used for signing anything in the zone, instead it's used for signing keys.

      So the zone signing key is used for signing everything in a zone, so to create most RRsig records, except the DNS key records, these are signed by the key signing key creating the DNS key RRsig record.

      Now I get it, I've just introduced another type of key, so let's look at how this all fits together within a DNS zone.

      At this point, I want to cover two really important points about DNS-seq.

      First, how does a key signing key fit into all this and why do we have them?

      And second, what mechanism allows us to trust a zone?

      We know that RRsig records let DNS-seq resolvers verify record sets, but how do we know the keys used within a zone themselves can be trusted?

      To illustrate both of these, let's start with the same ICANN.org zone, and then off to the right side, a related area, but containing more sensitive things, this might be a physical key store like a FileSafe or a HSM device.

      The container here to start with is the private zone signing key, and this is used together with an RRset record to create a corresponding RRsig record.

      Then, the public part of this zone signing key is stored in the DNS key record.

      The flag of 256 tells us that it's a zone signing key.

      At this point, I want to pause and take a quick detour.

      If this was all that we had, so the DNS key, we couldn't trust it.

      Somebody could swap out the DNS key record, put in a new public key in there, use the private part of that fake key to regenerate a fake RRsig, adjust the RRset and take over email for this domain.

      We need a way of ensuring the zone signing key is trusted.

      If we didn't have some kind of trust chain, we would need to manually trust every zone within DNS.

      That would defeat the purpose of having a globally distributed system.

      So, the way that this works is that this zone, so ICANN.org, is linked cryptographically to the parent zone, which is .org.

      So, just like with normal DNS where name server records are used in the org zone to delegate to domains such as ICANN.org, the org parent zone also has a way to explicitly state that we can trust ICANN.org as a zone.

      And I'll talk about exactly how this works in the next video.

      For now, I want to focus on this zone.

      Now, if we use a single key, so just the zone signing key, that would work.

      But this would mean if we ever wanted to change the zone signing key, then we would have to involve the .org parent zone.

      Best practice is that we want to be cycling keys fairly often, and doing that where it also requires updates up the chain would become inefficient.

      And so we have this new key pair, the key signing key, or KSK.

      Now, there's a private part in a public heart.

      The private part is used to sign DNS key record sets, which creates an RRSIG of the DNS key.

      And this makes it easy to change the zone signing key used for a zone.

      We just have to regenerate all of the RRSIG records, update the DNS key record set, and then regenerate the RRSIG of the DNS key record set using the private key signing key.

      All of this is inside our zone only.

      It doesn't involve the parent zone in any way.

      We store the public part of the key signing key in the DNS key record set.

      But now we have a new problem.

      How can we trust the key signing key?

      Well, spoiler, it's referenced from the parent zone, in this case .org.

      So remember how I said that the DNS key record set stored both zone signing and key signing public keys?

      Well, this is the main point of trust for the zone.

      This is how trust is conveyed into the zone.

      Because the parent zone links to the public key signing key of our zone, assuming we can trust the .org parent zone, because it references our zone's key signing key, we can trust our zone's key signing key.

      This key signing key signs our zone signing key, and the zone signing key signs all of the RR sets to create RR6.

      We have a chain of trust created between two different layers of DNS, specifically DNSSEC.

      Now, we're at the point now where you should understand how DNSSEC validates things within a single zone.

      How it uses RR6 to validate RR sets, how it uses the DNS key records to get the public keys to deal with that validation using the zone signing key.

      How a key signing key is used to create an RRSIG at the DNS key, which allows the validation of that DNS key record.

      And how the parent domain or parent zone trusts the public key signing key at the child domain or zone.

      Now, you don't know how this trust occurs yet.

      That's something I'm going to be talking about in the next video.

      I've also stepped through why two different keys are needed.

      Using a zone signing key for signing within a zone, and a key signing key for signing that key, that allows an admin split.

      The key signing key can be referenced from the parent zone, while the zone signing key is used exclusively within the zone.

      And this means that a zone signing key can be changed without requiring any changes to the parent zone.

      So what position does that put us in?

      With this functionality using DNSSEC, what have we gained in the way of additional security?

      Well, we can now verify the integrity of data within this specific DNS zone.

      So, we've eliminated the DNS cache poisoning example.

      Assuming we trust the key signing key, and also assuming the key signing key hasn't been changed as part of an exploit, then we can trust all of the information contained within a zone.

      Now, in the next video, I'm going to step you through exactly how DNSSEC creates this chain of trust.

      And this allows a parent zone to indicate that it trusts the key signing key used within a child zone.

      And the same architecture at every level of DNSSEC means that we can create this entire end-to-end chain of trust, which can be verified cryptographically.

      Now, at this point, that's all I wanted to cover in this video.

      In the next video, I'm going to step through how this trust from a parent zone to a child zone is handled within the DNSSEC hierarchy.

      And we'll go through how the query flow works step by step.

      For now, though, go ahead and complete this video, and when you're ready, I look forward to you joining me in the next.

    1. Welcome back and in this video of my DNS series I want to talk about DNSsec.

      Now this is the first video of a set which will cover DNSsec which provides us with a lot of additional functionality and so requires a few dedicated videos.

      Now to get the most from this video it's important that you've watched my previous videos on DNS as well as on hashing and digital signing.

      If you haven't all the videos that you need I'll link in the description and you should watch those first or have equivalent knowledge.

      DNSsec is a secure add-on for DNS, it provides additional functionality.

      In this video I want to set the scene by talking about why we need DNSsec so let's jump in and get started.

      Now I promise this bit will be super quick but I do need to use some bullet points.

      I hate bullet points as much as anyone but sometimes they're just the quickest way to present information so let's go and please stick with me through this first set of important points.

      Now DNSsec provides two main improvements over DNS.

      First data origin authentication and this allows you to verify that the data that you receive is from the zone that you think it is.

      Are the records returned to you from Netflix.com from the real Netflix.com.

      If you're looking at cash results are they really from that original zone?

      Second DNSsec provides data integrity protection so has the data that you receive been modified in any way since it was created by the administrator of the zone.

      So if you have Netflix.com data is that the same un-changed Netflix.com data which the administrator of the Netflix.com zone created.

      Now it does both of these things by establishing a chain of trust between the DNS route and DNS records but it does this in a cryptographically verifiable way where DNS has some major security holes DNSsec uses public key cryptography to secure itself in a similar way to how HTTPS and certificates secure the HTTP protocol.

      It means that at each stage you can trust if a child's zone has the trust of a parent's zone and you can verify that the data contained within that zone hasn't been compromised.

      Now another really critical part of DNSsec to understand before we touch upon why it's needed is the fact that it's additive.

      It adds to DNS it doesn't replace it.

      It's more accurate to think of any queries that you perform as either using DNS on its own or DNS plus DNSsec.

      Conceptually imagine DNS at the bottom with DNSsec led on top.

      Now in a situation where no DNS exploits have taken place it means that the results will be largely the same between DNS and DNSsec.

      Let's say that we have two devices the one on the left is DNS only and the one on the right is DNSsec capable.

      When querying the same DNS name servers the DNS only device will only receive DNS results.

      It won't be exposed to DNSsec functionality and this is critical to understand because this is how DNSsec achieves backward compatibility.

      A DNSsec capable device though this can do more than just normal DNS so it still makes queries and gets back DNS results but it also gets back DNSsec results and it can use these DNSsec results to validate the DNS results.

      Assuming no bad actors have corrupted DNS in any way then this will go unnoticed since the results are the same but consider a scenario where we have changed DNS data in some way.

      So again we have two devices the device on the left is DNSsec capable and the one on the right is standard DNS.

      So the DNS only device performs a query and it thinks it's getting back the genuine website result only it isn't.

      In an exploited environment it will be unaware that the result it gets the queries are bad and so the website it browses through might not actually be the one that it expects.

      With DNSsec the initial query will occur in the same way and even though it's corrupt and will look valid what follows is that DNSsec will verify the result and because public private key cryptography is used together with a chain of trust architecture DNSsec will be able to identify that records have changed or they come from an origin which isn't the one that we're querying.

      Now it's important to understand that DNSsec doesn't correct anything it only allows you to validate if something is genuinely from a certain source or not and if it's been altered or not it doesn't show you what the result should be but in most cases it's enough to know the integrity of something is valid or in doubt.

      Now it might help you to understand one of the common risks posed by normal DNS if we step through it visually so let's do that.

      Consider this architecture we have Bob on the left who's about to perform a query for the IP address of Categorum.io using this resolver server but we also have a bad actor Evil Bob at the bottom and in advance to perform this exploit he performs a query for Categorum.io this begins the process of walking the tree but while that's happening during this process where the resolver is walking the tree to get the true result Evil Bob responds with a fake response it pretends to be the real server so even while the real process is continuing Evil Bob enters false information into the resolver server in the middle and this result is now cash and the cash has been poisoned with bad data this means that when Bob queries for some Categorum.io records he's going to get the poisoned result this result is going to be returned to Bob and the effect of this is that Bob is going to be directed at something that he thinks is Categorum.io but isn't now this is just one way that DNS can be disrupted it's over simplified and there are some protections against it which illustrates how DNS isn't secure it was built during a time period where the internet was viewed as largely friendly rather than the adversarial zone which he now is from a security perspective now this point I just want to switch across to my command prompt and show you how a normal DNS query differs from a DNS sec query so let's go ahead and do that okay so we've moved across to my terminal and I'm just going to go ahead and use the dig utility which is a DNS utility and I'm going to perform a normal DNS query so this is the command dig its face www.icam.org and if I run at this query this is the result that we receive it's this answer section which I want to focus on now just to reiterate this is the query that I performed for this DNS name so in the answer section we have a result for www.icam.org and the result is that it's a C name and the C name points at another DNS record in this particular case www.vip.icam.org so directly below we can see this DNS record so www.vip.icam.org this time it's an A record an A records point at IP version 4 addresses and this is the IP version 4 address which corresponds to this DNS name and this DNS name maps back to our original query now because this is normal DNS we have no method of validating the integrity of this data you can see here that I'm querying this DNS server so 8.8.8.8 and this is not a DNS server that's affiliated with the ICANN organization so this result is not authoritative it's possible that this data is not valid either by accident or because it's been deliberately manipulated now DNSSEC helps us to fix this risk and let me show you how I'm going to start by clearing the screen and then I'm going to run the same query but using DNSSEC and I can do that using this command adding this additional option on the end of plus DNSSEC when I run this I receive both DNS and DNSSEC results so www.icam.org is a C name and it points at this DNS record slightly below it we can see the record that it points at this is an A record and just as with the previous query results it points at this IP version 4 address now what you'll notice is for each of these normal DNS results we also have this RRSEC and this is a DNSSEC resource type this is basically a digital signature of the record that it corresponds to and I'll show you in the next video how this digital signature can be used to validate the normal DNS data that's stored within this zone so we can query for normal DNS results and then validate the integrity of those results using DNSSEC now in this part of this lesson I just want to demonstrate exactly how a DNSSEC query result differs from a normal DNS result in the next video I'm going to expand on this and set you through exactly how these signatures work within a DNS zone at this point let's move back to the visual okay so what I just demonstrated is a way to avoid this kind of attack because even if a cache was poisoned a DNSSEC capable resolver would be able to identify the poison data and that alone is a huge improvement over standard DNS so at this point I hope you have a good idea of some of the ways which DNSSEC improves normal DNS that's it Identify the poisoned data and that alone is a huge improvement over-sanded at DNS.

      So at this point I hope you have a good idea of some of the ways which DNSSEC improves normal DNS.

      That's it for this video and the next one we're going to explore exactly how DNSSEC works in detail.

      Now it's a lot to get through so I wanted to make sure that each different area of DNSSEC functionality has its own dedicated video.

      At this point though, thanks for watching, go ahead and complete this video and when you're ready I look forward to you joining me in the next.

    1. Welcome back, and in this video, which is part two of my DNS mini-series, I want to cover some of the reasons why DNS is structured in the way that it is.

      Why do we need lots of DNS servers?

      Why isn't one enough?

      Additionally, at the end, I'm going to introduce some key DNS terms, and then introduce the hierarchical structure of DNS.

      So let's jump in and get started.

      Now, there are a few main problems with just having one DNS server, or even a small number of servers.

      It's important that you understand these reasons, because it will help you understand why DNS is architected in the way that it is.

      First, there's the obvious risk problem.

      A small group of bad actors could attack the DNS infrastructure, and without much effort, prevented servicing genuine requests.

      And that's something that we have to avoid for critical systems on the internet.

      Also, we have a scaling problem.

      Almost everyone who uses the internet globally uses DNS.

      This represents a massive and growing load on the system.

      A single server or a small group of servers can only get so big.

      If every access is being made against one or a small group of servers, no matter what information is being requested, the system cannot scale.

      Now, additionally, DNS is a huge database.

      Current recent estimates predict that there are around 341 million domains, such as Netflix.com, Apple.com, and Twitter.com.

      And each of those domains might have many records, tens, hundreds, thousands, or even more records in each of those domains.

      And so this represents a huge data volume problem.

      We can start with the amount of data, but then also need to take into consideration updates to that data, as well as consistency issues.

      And all of that data is accessed by anyone using the internet on a constant basis.

      Now, we can address the risk problem by creating more servers, each of them storing an exact copy of the same DNS data.

      The more servers we have, the more load can be tolerated against those servers, and the less risk of attackers managing to take down the entire platform.

      But this method doesn't really do anything about the scaling problem.

      If every user of DNS communicates with any of the servers at random, it means that every server needs to hold the complete DNS dataset.

      And this is a huge amount of data.

      It's a huge global scale monolith, and this is something that we need to avoid.

      Ideally, we also need to have the ability to delegate control over certain parts of the DNS dataset to other organizations so that they can manage it.

      So UK domains, for example, should be managed by a UK entity.

      US domains should be managed by somebody in the United States.gov, by the US government.au, by an organization in Australia, and so on.

      And for this, we need a hierarchical structure.

      I'm going to be talking about this fairly soon, but for now, I need to introduce some DNS terms.

      Now, I need you not to switch off at this point in the video.

      I'm going to be using some bullet points.

      I hate bullet points, but these are worth it, so please stay with me.

      The first term that I want to introduce is a DNS zone.

      Think of this like a database.

      So we have Netflix.com, and that's the zone.

      Inside that zone are DNS records, for example, www.netflix.com, as well as many others.

      Now, that zone is stored on a disk somewhere, and that's called a zone file.

      Conceptually, this is a file containing a zone.

      So there's a Netflix.com zone file somewhere on the internet containing the Netflix.com zone and all of its records.

      We also have DNS nameservers, known as NS for short, and these are DNS servers which host one or more zones, and it does so by storing one or more zone files.

      It's the nameserver or nameservers of the Netflix.com zone, which can answer queries that you have about the IP address of www.netflix.com.

      Next, we have the term authoritative, and this just means that for a given domain, this is the real or genuine, or to put another way, the boss for this particular domain.

      So there are one or more nameservers which can give authoritative answers for www.netflix.com.

      These can be trusted.

      They're the single source of truth for this particular zone.

      And we also have the opposite of this, which is non-authoritative or cached, and this is where a DNS server might cache a zone or records to speed things up.

      Your local router or internet provider might, for instance, be able to provide a non-authoritative answer for learn.control.io or youtube.com, because you've visited those sites before.

      But only my nameservers can give an authoritative answer for learn.control.io.

      Now that you know those terms, I want to introduce the architecture of DNS, so it's hierarchical structure.

      And don't worry, this is high level only.

      I'll be covering the detail of how DNS works and how it's used in a follow-up video.

      So at this point, you know why a single DNS server is bad.

      You also know why having many DNS servers is bad if they just saw the same monolithic set of data, and you understand a few important DNS terms.

      What I'm going to step through now is a hierarchical design, which is the way that DNS works.

      Using this architecture, you can split up the data which DNS stores and delegate the management of certain pieces to certain organizations.

      Splitting the data makes it easier to manage and also splits the load.

      If you're doing a query on netflix.com, you generally won't have to touch the infrastructure at the twitter.com.

      Now DNS starts with the DNS root, and this is a zone like any other part of DNS, and this zone is hosted on DNS name servers also just like any other part of DNS.

      So the DNS root zone runs on the DNS root servers.

      The only special element of the root zone is that it's the point that every DNS client knows about and trusts.

      It's where queries start at the root of DNS.

      Now there are 13 root server IP addresses which host the root zone.

      These IP addresses are distributed geographically, and the hardware is managed by independent organizations.

      The internet corporation for assigned names and numbers, or ICANN, operates one of the 13 IP addresses which host the root zone.

      And others include NASA, the University of Maryland, and Verisign.

      So to be clear, these organizations manage the hardware for the 13 DNS root server IP addresses.

      In reality, each of these 13 IP addresses represents many different servers using anycast IP addresses.

      But from DNS' perspective, there are 13 root server IP addresses.

      Now the root zone, remember, this is just a database.

      This is managed by the internet assigned numbers authority known as IANA.

      So they're responsible for the contents of the root zone.

      So management of the root zone and management of the root servers which host the root zone is different.

      Now the root zone doesn't store that much data.

      What it does store is critical to how DNS functions, but there isn't that much data.

      The root zone contains high level information on the top level domains or TLDs of DNS.

      Now there are two types of TLD, generic TLDs such as .com and country codes specific ones such as .uk and .au.

      IANA delegates the management of these TLDs to other organizations known as registries.

      Now the job of the root zone really is just a point at these TLD registries.

      So IANA delegates management at the .com TLD to Verisign, meaning Verisign is the .com registry.

      And so in the root zone, there's an entry for .com pointing at the name servers which belong to Verisign.

      Now .com is just one TLD.

      There are other entries in the root zone for other TLDs and other TLDs could include .io, .uk and .au and many more.

      Because the root zone points at these TLD zones, they're known as authoritative the source of truth for those TLDs.

      This process where the root zone points at the name servers hosting the TLD zones, it establishes a chain of trust within DNS.

      So to summarize, the root zone is pointing at the name servers hosting the TLD zones run by the registries which are the organizations who manage these TLDs.

      So Verisign will operate some name servers hosting the .com TLD zone and the root zone will have records for the .com TLD which point at these .com name servers.

      The .com zone which is just another DNS zone also contains some data, specifically high level data about domains which are within that .com TLD.

      For example, the .com TLD zone contains some records with Twitter.com and Netflix.com, so records for domains which exist inside the .com zone.

      The TLD only contains this high level information on domains within it, for example, Netflix.com.

      It doesn't contain detailed records within these domains, for example, www.netflix.com, all the TLD contains is information on the domain itself.

      Specifically, with this example, a set of records for Netflix.com which point at the name servers which host the Netflix.com zone.

      Now it will also contain records for Twitter.com which point at the name servers which host the zone for Twitter.com as well as records for every other domain within the .com TLD.

      Now these name servers, because they're pointed at from the layer above, they're authoritative for the domains, the zones that they host.

      So the name servers for Netflix.com are authoritative for Netflix.com because the Netflix.com entry in the .com TLD points at these name servers.

      Now these name servers host the zone for a given domain, for example, Netflix.com.

      This means the servers host the zone file which stores the data for that zone.

      At this level, the zone contains records within Netflix.com, so www.netflix.com which points at a set of IP addresses.

      And because the zone and zone files are on these name servers and because these name servers are authoritative for the domain, these zones and zone files are also authoritative.

      Now don't worry about understanding this in detail.

      In the next video, I'm going to be walking through how this works in practice.

      For now, all I need you to understand is that each layer of DNS from the root, the TLDs and the domain name servers they store.

      [POP] Or only a small part of the DNS database.

      The root zone knows which name servers the .com zone is on, the .com zone knows which name servers Netflix.com zone is on, and the Netflix.com zone contains records for the Netflix.com domain and can answer queries.

      So this is the hierarchical architecture of DNS.

      And in the next video, in this video series, I'm going to be stepping you through the flow of how DNS works and discussing the architecture at a more technical level.

      But at this point, that's everything I'll be covering in this video.

      So go ahead and complete the video.

      And when you're ready, you can join me in the next video of this series.

    1. Well, welcome to the first video in this series where I want to help you understand DNS.

      DNS is one of the core services on the internet, and it doesn't work, applications and other services will fail.

      Now in this video series I'll be covering what DNS does, why it's structured the way that it is, how DNS works to get us answers to queries, and I'll finish up by covering some of its key limitations.

      Now with that being said, let's jump in and get started.

      Now before I cover how DNS works and why it works in the specific way that it does, I want you to be 100% sure of what functionality DNS provides.

      Now when you access any website, you type the name into your browser, for example www.netflix.com.

      Now you might imagine that the name is used to connect to the Netflix.com servers and stream your movie or TV show, but that's not actually how it or any internet app generally works.

      Simply put, humans like names because they're easy to remember, but networks or servers not so much.

      To communicate with Netflix, your computer and any networking in between needs the IP addresses of the Netflix servers.

      DNS actually does many different things, but at its core it's like a big contact database.

      In this context, it links names to IP addresses, so using DNS when accessing Netflix, we would ask DNS for the IP address of Netflix.

      It would return the answer and then our device would use that IP address to connect over the internet to the Netflix servers.

      So conceptually, the main piece of functionality which DNS provides is that it's a huge database which converts DNS names from Netflix.com into IP addresses.

      Now so far, I hope that this makes sense.

      At this point, it sounds just like a database and nothing complex, and you might be asking yourself why not just have one DNS server globally or a small collection of servers?

      Now we're going to review that in the net.

      Next video.

      For this video, I just wanted to set the scene and make sure you understand exactly what functionality DNS provides.

      DNS is critical.

      Many large-scale failures on the internet are caused by either failed DNS or badly implemented DNS infrastructure.

      If you want to be effective at designing or implementing cloud solutions or network-based applications, you have to understand DNS.

      So if you are interested in knowing more, then go ahead and move to the next video, where I'll cover why DNS is structured in the way that it is.

    1. Welcome back and in this lesson I want to talk about digital signing or digital signatures.

      This is a process which you need to be familiar with to understand many other areas of IT such as DNFSEP or SSL certificates.

      If you haven't watched my video on hashing it's linked in the description and you should pause this video and go and do that now because it's required knowledge for this video.

      At this point though let's jump in and get started straight away.

      Now before I cover how digital signatures work in detail I want to give you a quick refresher on public key cryptography.

      With public key cryptography you generate two keys as part of a pair.

      We have on the left the private key and this part is secret and should only ever be known by the owner.

      Then we have the public key and this is not secret.

      In fact anyone can know it or possess it.

      It should be public and ideally as widely distributed as possible.

      Now these keys are related, they're generated as part of one operation.

      It means that you can take the public key which remember anyone has or anyone can get and use it to encrypt data which can then only be decrypted by the matching private key.

      The data can't even be decrypted using the same public key which encrypted it so it allows you to securely send data to the owner of the private part of the public key.

      What this architecture also allows is that you can take something and sign it using the private key and think of this just like encryption but where anybody who receives the data and has the public key can view the data and verify that the private key part was used to sign it and this provides away the evidence that you are in control of the private key used to sign some data since the private key is secret and since only you should have it.

      This provides a way to establish a form of digital identity or digital validation.

      This signing architecture is important because it forms the foundation of many other IT processes.

      The process of adding digital signatures to data adds two main benefits when used in conjunction with hashing.

      It verifies the integrity of the data that the data you have is what somebody produced and it verifies the authenticity so the data that you have is from a specific person.

      So integrity is what and authenticity is who.

      Together it means that you can download some data from Bob and verify that Bob produced the data and that it hasn't been modified.

      Nobody can falsify data as being from Bob and nobody can alter the data without you being able to tell.

      Now a key part of this process is that it's led on top of normal usage so if somebody doesn't care about integrity or authenticity they can access data as normal without any of these checks and to enable that the first step is to take a hash of the data that you're going to be validating.

      The original data remains unchanged in plain text or whatever its original format is.

      If you don't care about the integrity and authenticity then you can use the application or consume the data without worrying about any of this process.

      Now this means that anybody having both the data and the hash knows that the data is the original data that Bob produced assuming that they trust the hash to be genuine and that's what digital signatures enable.

      Next Bob signs the hash using his private key and this authenticates the hash to Bob.

      Bob's public key can be distributed widely onto many locations that Bob controls and using this public key you can access the signed hash.

      Because of this you know it came from Bob's private key i.e.

      Bob and so the hash is now authenticated as being from Bob.

      Nobody can falsify a fake hash because only one person Bob has Bob's private key.

      So now we know the hash is from Bob we can verify that because we have Bob's public key.

      We know the hash can't be changed because only Bob has Bob's private key and only the private key can sign anything and appear to be from that private key.

      We now have this authenticated hash and we verified the integrity because of the private-public-key relationship.

      We also have the original document and we know that it's authentic because if it was changed then the hash wouldn't match anymore.

      So if we trust Bob's public key then we know that anything being signed by his private key is authentic because we know that Bob and Bob only have this private key then we trust the entity i.e.

      Bob and because Bob can now digitally sign a hash we know that any data that we receive from the Bob is both authentic i.e.

      Bob has authored this data and it's not been changed during transit or download.

      So we have this chain of trust and this chain of trust using public key cryptographic signing and hashing forms a foundation and many things within id which you take for granted.

      Okay so now that you understand the basic building blocks of this process let's step through this visually.

      So step one is Bob and his private key.

      Bob is the only person to have his private key but he's uploaded his public key to his website, his twitter account, various public key retro services and he includes a link to his public key in all of the emails that he sends.

      Now if you look at all of these copies of his public key if all of them match then you can assume that they're valid and from Bob.

      To exploit this you have to take over all of these services at the same time and change all mentions of his public key so the wider the distribution of the public key the easier it is to spot if any of them have been modified.

      So let's say that Bob creates a contract to send it to a business partner and he wants others to be able to verify firstly that he sent it and that he wasn't altered in transit.

      So the next step is that he puts the document through a hash function which results in a hash.

      The hash as you've learned is unique to this document.

      Know all the document can have this hash and any changes to this document also change this hash and you can't derive the document from the hash.

      What we can't prove yet is that Bob created this hash or that the hash hasn't changed as part of faking the document.

      So to fix this Bob uses his private key and he signs the hash and this creates a signature and he bundles this signature with the original document which creates a signed document.

      So this signed document is the original document so the data plus a copy of the signed hash of that document and that data is going to be hosted somewhere so let's say that Bob uploads it to the internet or he emails the document to somebody or stores it from some cloud storage.

      Now next one of Bob's business partners downloads the contracts of the signed data and the first thing is to get Bob's original hash and so to do that we take the signature and Bob's public key and that gives us back Bob's hash.

      So now we know that this hash is signed by Bob and we know that Bob created this hash and this means that we know what Bob thought the hash of the document was.

      We know the original state of the document when Bob generated the hash.

      So we take the document and we hash it with the same hash function as Bob used.

      So now we have our hash of the document and we have Bob's original hash verified to be from Bob.

      Now these two hashes match you know that the document that you have is the document that Bob generated.

      It hasn't been altered and you know that it originated from Bob because his hash was signed using his private key to generate the signature which is part of this document which is digitally signed and this is how hashing together with public key cryptography specifically signing can be used to verify authenticity and integrity.

      Now Bob could have taken this a step further and encrypted all of this with a public key at the intended recipient and ensured that all of this process could happen in a fully encrypted way but encryption and signing are two slightly different things which are both enabled by the same public key cryptography architecture.

      Now this point has everything I wanted to do.

      I just wanted to give you a really high-level overview of how digital signatures can be used to verify both the integrity and the authenticity of data.

      Now you're going to be using this knowledge as you learn about all that important IT processes so it's really important that you understand this end-to-end but at this point that is everything I wanted to cover in this video so go ahead and complete the video and when you're ready I look forward to you joining me in the next.

    1. Welcome back and in this lesson I want to talk about hashing, what it is and why we need it.

      Now we do have a lot to cover so let's jump in and get started straight away.

      What's simply hashing is a process where an algorithm is used to turn this or any other piece of data into this, a fixed length representation of that data.

      Hashing is at the core of many critical services that you use today, such as passwords, digital signatures, SSL certificates, data searches, and even some antivirus or anti-malware solutions rely on hashes so they can store definitions of malicious files without having to store every single huge file.

      We even have some forms of digital money such as Bitcoin which use hashing.

      Now to understand why hashing is so important we need to step through how it works, what benefits it provides and some of the terminology used.

      So let's go ahead and do that.

      Hashing starts with a hash function and think of this as a piece of code and algorithm.

      Now there are many different ones which are used or have been used over the years.

      An example include MD5 and SHA-2 256.

      The core principle of hashing is that you take some large variable sized data and you put that data through a hashing function and receive a fixed size hash of that data.

      So whether the data is a text file, an image or a huge database file, the hash you receive will be tiny and fixed length based on the hashing function type.

      Now also critically if you take some other data and again put it through the same hashing function you will get a different hash, a unique hash value.

      Even if the data differs by only one byte, one character or one pixel it will result in a different hash.

      The aim with hash functions is that any change no matter how minor will result in a different hash value.

      Another critical part of hashing is that while getting a hash from some data is trivial what you cannot do is take a hash value and get the original data back.

      There's no way to do this.

      Let's say that you had a hash of an image.

      Well you couldn't take the hash and derive the image.

      You could if you had infinite processing power and infinite time brute force every image in existence to try and link back to the hash.

      But this would require hashing every single image until you found the correct one.

      You should view it as impossible with any modern hashing algorithm to derive the original data from a hash.

      Without some vulnerability in the hashing function or without infinite time and processing power the hashing is one way only.

      Data through to hash.

      Now lastly another fundamental part of hashing is that given the same data you're always going to get the same hash value if you use the same hashing function.

      So for one piece of data you get one hash value, for a different piece of data you get a different hash value and hashing is one way only.

      And you should never get the same hash value for different data.

      There are more on this in a second.

      Let's look at an example of where hashing can be used which should be pretty familiar.

      Imagine you're using an online service and they have a single server.

      And when you create an account on that service you create a username and password and both of those are stored on that server.

      When you log in you send your username and password to the server and an automated process checks the password that you send with the one that's stored and if they match you can log in.

      Now even if you encrypt your password in transit and even if the password is encrypted when stored on the server your password still exists on that server.

      And it means if the server is ever exploited then a bad actor will have access but worst to your password and at best an encrypted version of your password.

      Assuming a full data dump or a long term exploit is pretty trivial to get the plain text version of your password in this way.

      If you use that password on all the services those services are also at risk.

      But what about if we use hashes?

      Well with this architecture instead of sending a password to the server when signing up or signing in we send a hash of the password.

      This means the server instead of having our actual password it only stores the hash of our password.

      All the server needs to do is check that the hash that you send matches the one in its database and it can confirm the password was entered correctly on the local client.

      Because given the same data in this case password and the same hashing algorithm you'll end up with the same hash value.

      So by comparing the hash value it stores to the hash value that you deliver by the hash of your password it can check you're entering the correct password without ever storing a copy of your password.

      Now in this example I've used the MD5 hashing algorithm but as you're going to say in a second this isn't super secure anymore so you'd likely need to use another hashing algorithm.

      I'm going to use MD5 as an example to demonstrate a weakness of some algorithms.

      So to stress you wouldn't generally use MD5 for production password systems you'd use something a lot more secure.

      Now if this server was ever exploited when using password hashes this would be much safer because the hashes are one way you can't derive the password from a hash.

      Nothing stops the attacker though from getting over and over again trying every possible word and phrase combination with the hashing algorithm used until it gets us right.

      And then it has confirmed the password that you used and it can try and exploit all the services which you also make use of.

      And this is why it's really important to use a modern secure hashing algorithm.

      Now there are two things with hashing which are really bad.

      One is if we were ever able to take a hash and derive the original data but as I mentioned earlier that's basically impossible to have a critical vulnerability in how hashing works.

      Another major problem would be a collision.

      An example of a collision is that if we take this image of a plane and if we hash this image and then if we take another image say this image of a shipwreck and we also hash this image we should have two different hash values.

      If we do awesome.

      If not if the hash of A on the left equals the hash of B on the right then bad things happen because we can no longer trust the hash function i.e. the hash algorithm.

      And this is one of the reasons that MD5 has hashing algorithm is less trusted because collisions can happen.

      We can actually show how they can be created, how data can be manipulated to cause collisions.

      Now I've attached some links to this video with the research project showing how we can create those collisions.

      But as a quick example I want to switch to my terminal and demonstrate how this works with these two images.

      So in this folder on my local machine I have two images plane.jpg and ship.jpg and those represent the two images that you've just seen on your screen moments ago.

      I'm going to go ahead and generate a hash value of one of these files and I'm going to use the MD5 hashing algorithm.

      So I'm going to put MD5 space and then plane.jpg.

      Go ahead and focus on the hashing value that's been generated so this hashing value in theory should uniquely represent the image plane.jpg.

      So plane.jpg should always generate this hash value and if I repeat this command I get the same hash value.

      But what should happen is if I generate a hash of another piece of data I should get a different hash value.

      So I'm going to run MD5 again this time on ship.jpg.

      Watch what happens in this case it's the same hash value and this is an example of a collision where two different pieces of data generate the same hash value.

      And this is a weakness of MD5.

      We can create this collision.

      We can adjust the data in order to generate this collision and this is a bad thing.

      This shouldn't happen.

      Now I'm not to follow the same process but using a more secure hashing algorithm.

      So this time I'm going to use the SHA-2 256 algorithm on the same file plane.jpg.

      Now watch what happens now.

      The hash value is longer because this is a different hashing algorithm but we confirm that this hash value is for plane.jpg.

      Now I'm going to run the same hashing algorithm on ship.jpg.

      This time note how it's a different hash value.

      This is a much more secure hashing algorithm.

      SHA-2-256 is much better at protecting against these collisions.

      It's a more modern and more well trusted hashing algorithm.

      Now just like any other form of security such as encryption it's important that you always use the latest and most secure protocols and architectures.

      So if you're using hashing in production you should generally use something like SHA-2-256 because if you want to guarantee that one-to-one link between a piece of data and a hash so that any other piece of data generates a different hash you need to make sure you're using a well respected hashing algorithm such as SHA-2-256.

      Now the likelihood of this happening in normal usage is nearly possible because these two images have actually been artificially adjusted to cause this collision but it does represent theoretical vulnerability in the MD5 hashing algorithm.

      I've included links attached to this video which detail the search project and some examples of how you can implement this as a personal project if you want.

      But at this point I'm going to go ahead and return to the remainder of this video.

      Now just to summarise with hashing you take some data plus a hashing function and you generate a hash value.

      Now you can't get the original data from a hash it is a one-way process and the same data should always generate the same hash.

      Different data should always generate a different hash.

      Now just demonstrated how you can artificially cause a collision using older hashing algorithms but in the real world even older algorithms should generate a different hash for different data and any modern hashing algorithm is protected against even this artificial process.

      Now hashing can be used to verify downloaded data.

      If you're making some data available to download you can have the download in one location and the hash of that download stored on a different system.

      It means that you can download the data you can hash it and generate your own hash value.

      If the hash value is matched then the downloaded data hasn't been altered.

      If they differ then it means that what you have is not the same data as what was made available by the original author.

      And this is a process that's very often used to verify sensitive applications.

      So if you're downloading any form of application which stores sensitive data or operates on sensitive networks then you'll generally find that a hash will be made available by the author of that application and it can be used to verify that that download has not been adjusted.

      Now in these type of security sensitive situations or if you're a security professional you also need to be sure that the hash itself hasn't been altered.

      It's also whether the hash itself was generated by the person who claims to have generated that hash.

      So if I make some software available to you and you download it you need to first check that the download hasn't been altered by hashing it yourself and comparing your hash to the hash that I publish.

      But you also need to be sure that it was me publishing that hash and that the hash that you download hasn't been altered in some way.

      And a way that this can be done is using digital signing or digital signatures and this is something that I cover in another video.

      But at this point that's everything I wanted to cover in this video so go ahead and complete the video and be ready.

      I'll look forward to you joining me in the next.

    1. Now another process which uses asymmetric keys is signing.

      Let's review an example.

      The robot general wants to respond to the battle plan.

      So let's say that the robot general has received the battle plans from the cap ruler, and he wants to confirm A that he's received them, and also that he agrees to them.

      Remember, the battle plans require both sides to operate as one, and so the cap ruler needs to know that the robot general has received the plans, and that he agrees with them.

      The general might want to respond with a simple OK message.

      So we'll send the message saying OK to the cap ruler.

      The issue is that anyone can encrypt messages to another party using asymmetric encryption.

      Your eye could get hold of the cap ruler's public key and encrypt a message saying OK, and send it to the cap ruler.

      And the cap ruler wouldn't necessarily be aware whether that was from the robot general or not.

      Just because the cap ruler gets a message from what appears to be the robot general saying OK, it doesn't mean that it's actually from the robot general.

      It could be from a human pretending to be the robot general.

      Encryption does not prove identity.

      But what we can use is a process called signing.

      With signing, the robot general could write this OK message, and then he could take that message, and using his private key, he can sign that message.

      Then that message can be sent across to the cap ruler.

      And when the cap ruler receives that message, he can use the robot general's public key to prove whether that message was signed using the robot general's private key.

      So this is the inverse.

      On the previous example, I demonstrated how you can use the public key to encrypt data that can only be decrypted with the private key.

      In this example, we can take the robot general's private key and sign a document.

      And then the public key of the robot general can verify that that document was signed using its matching private key.

      At no point is the private key revealed.

      It's just because of this relationship between the public and private key.

      The public key can verify whether its corresponding private key was used to sign something.

      And so signing is generally used to verify identity.

      As long as we can be sure that the public key belongs to the robot general, and generally this is done by the robot general uploading his public key to his Twitter account, or putting it on his cloud storage or his website.

      As long as that verification exists, we can get the public key and verify that a document has indeed been signed by his private key because of that relationship between these two keys.

      So key signing is generally used for ID verification and certain logon systems.

      There's one more thing I want to talk about before I finish up this lesson.

      And that's steganography.

      Sometimes encryption isn't enough.

      The problem with encryption is that if you use it, it's obvious that you've used it.

      If you encrypt a file and deliver it to me, there isn't really any scope for denying that you have encrypted some form of data.

      The government, who control the men and women with guns, can often insist that you decrypt the data.

      And if you don't, well, they have plenty of sticks so they can put you in jail.

      You can refuse to decrypt the data, but the deniability isn't there.

      If you encrypt data, somebody will know that you've encrypted data.

      Now, steganography is a process which addresses this.

      If you've ever used invisible ink, the kind which only shows under a certain type of light or when heated, that's a physical form of steganography.

      It's a method of hiding something in something else.

      With steganography, the cap ruler could generate some ciphertext and hide it in a puppy image.

      The image could be delivered to the robot general who knows to expect the image with some data inside and then extract the data.

      To anyone else, it would just look like a puppy image.

      And everybody knows there's no way that the cap ruler would send the robot channel a puppy image to this plausible deniability.

      The effect of steganography might be a slightly larger file, but it would look almost identical.

      Effective steganography algorithms make it almost impossible to find the hidden data unless you know a certain key, a number, or a pattern.

      Steganography is just another layer of protection.

      The way it works at a foundational level is pretty simple.

      Let's say that we wanted to hide a simple message, just high.

      Well, the decimal values for h and i are 8 and 9.

      So we might take the puppy image and pick two random pixels and change the color by 8 and 9 respectively.

      The steganography algorithm would take the original picture, selects the required number of pixels, adjust those pixels by a certain range of values.

      And what it would generate as an output would be an almost identical puppy image.

      But hidden there would be slight changes.

      If you don't believe me, let's blow this up a little bit because this is an actual simple example of steganography.

      If you look really closely at where those arrows are pointing, the color is slightly different than the background.

      The first pixel has been adjusted by eight values and the second has been adjusted by nine values.

      And so if you knew the location of these two pixels, you could take the second image and extract the text.

      Now, this is a super simple example.

      A real algorithm would be much more complex.

      But this is at base level how the process works.

      It allows you to embed data in another piece of data.

      To be really secure, the cap roller would encrypt some data using the robot general's public key, take that cypher text, use steganography to embed it in an image that wouldn't be tied back to the cap roller, send this image to the robot general, and then the robot general could also use steganography to extract the piece of cypher text and decrypt it using his private key.

      And the same process could be followed in reverse to signal an OK.

      But the robot general, in addition to encrypting that OK, would also sign it so the cap roller would know that it came from the robot general.

      With that being said, go ahead, complete this video.

      When you're ready, you can join me the next.

    1. but one thing remains true no matter the background of the polyglot: they (usually) love languages

      I agree with this statement. I am not sure if I would consider myself a polyglot yet, but someday, I would love to be one. Being bilingual has given me so many opportunities and experiences that make me want to learn more languages. Knowing that theirs more experiences for me in life by learning more languages and, thus, culture excites me a lot and passionates me. So, even if it's just a word or two, I always want to learn more because I love languages and language learning.

    1. Welcome to this video where I want to talk at a high level about hardware security modules known as HSMs.

      Now these are a really important type of device to understand both in general and especially if you currently work in or want to work in the security space because so many other things rely on them to function.

      Now let's jump in and step through why we need them, what they are and how they work.

      Now let's start by looking at the world without hardware security modules and we're going to do that with the example of a virtualized environment and so we have a VM host and this could be VMware, Zen or something within a cloud environment.

      It doesn't matter for this example.

      This means that we have some physical CPUs, memory as well as mechanical or solid state storage.

      The reason on this is our hypervisor, a pair of operating systems and to keep this simple, a pair of applications.

      Now, only to imagine that these applications, the operating systems and the hypervisor are all using encryption in some way.

      That might be encryption at rest or in transit, it might be public key infrastructure or it might be simple SSL or TLS.

      Whatever the requirement, it means you're going to have keys stored in many places, keys inside the applications, controlled by the operating system or held by the hypervisor.

      And all this means that keys will be handled by the CPU, held in memory and stored on storage.

      And over time, if you care about disaster recovery, you're going to have keys stored on various backups, some of which might go offsite for storage.

      Using encryption means using keys and these keys will be stored or held in various places.

      You might think this is controllable, but over time they will leave your premises and because of this, your directs control, meaning it becomes easier for these to fall into the wrong hands and become exploited.

      Now, that's where HSMs add value.

      So let's take a look.

      Now, this is a similar architecture, the same hypervisor, the same set of operating systems and applications and the same backup infrastructure.

      Only now, we've chosen to utilize a HSM.

      A HSM or hardware security module, as the name suggests, is a separate device or cluster of devices.

      It's isolated from your main infrastructure and it's inside this device that your keys are stored.

      They never leave this device.

      They're managed by this device, often generated and deleted by this device.

      Anytime you want to perform cryptographic operations, you send those to the HSM together with the data.

      The HSM performs cryptographic operations and sends the result back.

      It means you keep the same application and virtualization architecture, but instead of having to generate, to manage, store and secure keys and risk those leaking, with HSM, the keys are securely held on device.

      So that's HSMs at the high level.

      Let's finish by exploring the architecture in more detail.

      So now we have our HSM in the middle.

      Think of this as 100% separated from the rest of our infrastructure, accessible only in a highly defined way.

      Keys are created on the HSM, stored on the HSM, operations happen on the HSM and keys generally never leave the device.

      By utilizing HSMs, you create a secure island within your infrastructure, where all cryptographic operations are controlled from.

      The authentication takes place inside the device.

      This means you have an isolated security blast radius.

      Even if your corporate identity store is exploited, the identities used within the HSM are internally defined, and so can withstand this type of exploit.

      HSMs are tamper-proof and they're hardened against physical and logical attacks.

      The device is used secure on-glaves internally, which makes it almost impossible to gain access to the internal key material through direct physical means.

      Many smartphones today come with a similar cut-down version of this.

      It stores your biometric information to keep it isolated from any badly behaving software on your smartphone.

      Access to cryptographic operations within the HSM is tightly controlled.

      You need access, but assuming you have those access permissions, this access is still via industry-standard APIs, such as PKCS11, JCE and CryptoNG.

      Nothing is directly accessible.

      It's all controlled via APIs.

      Now, there's even role separation for admins, so you can define people who can admin the HSM for things like software updates, key generation and other admin tasks, but those people might not be able to perform cryptographic operations.

      Many HSMs are audited to some very stringent standards, such as those required for US government use, and it's this auditability, this access control, which makes them such a powerful type of device.

      Examples of the types of situations where you might use a HSM, and this is a very small subset there are many others, but you might use it to off-load processing for SSL or TLS onto the HSM.

      So if you have a fleet of web servers, you might have the HSM device perform heavy lifting on your behalf instead of the web servers.

      HSMs often handle this in hardware using acceleration, so you gain the benefits of secure key management and the performance boost via off-loading.

      You might also use HSMs for signing certificates for a private PKI infrastructure that you have within your business.

      This just provides a way that you can securely manage the key material used to sign your certificates.

      Now, I wanted to keep this video brief and just provide a very high-level introduction, because I'm going to be making many more videos in this series.

      In order for those to make sense, you need to understand why HSMs are needed, what they do, and how they work at a high level.

      And so that's what I covered in this video.

      Now, I hope you've enjoyed it, but that's everything for now.

      So go ahead and complete the video, and when you're ready, I look forward to you joining me in the next.

    1. Welcome to this lesson where I want to provide a quick foundation into encryption.

      Now I want to keep foundation lessons as short as possible so let's jump in and get started.

      Before we get started though, I just want to cover the topics that we're going to go through in this lesson.

      I'll be starting by talking about the different approaches to encryption, so encryption at rest and encryption in transit.

      I'll follow up by talking about the different concepts, so the different components and how those fit together.

      I'll cover symmetric encryption, asymmetric encryption, including the differences between those two, and I'll finish up the lesson talking about signing and then steganography.

      Now I'll get started by talking about the different approaches to encryption, so we'll do that first.

      There are two main approaches to encryption that you will see used within AWS and the real world in general.

      Each of these is aimed at solving a very different problem.

      First we've got encryption at rest and second encryption in transit.

      Encryption at rest is designed to protect against physical theft and physical tampering, and a common example of this is a user with an encrypted laptop.

      So Nat's using her laptop as she would with any other device, but her laptop is busy encrypting or scrambling any data that it writes to the internal storage, and then decrypting that data when it reads it from the same storage into memory.

      Now there's a special piece of data that's used to encrypt and decrypt that data, and it's only known to Nat.

      Now the proper word for this is secret.

      Now with laptop encryption, this is either the password for the user logging into the laptop, or a piece of data that's derived from that, but in other types of encryption, it's more complex than that.

      What this means though, is that if Nat's laptop is stolen or tampered with, the data is encrypted at rest without the information required to decrypt it.

      It's useless to an attacker.

      If somebody steals a laptop without the passcode that Nat uses, all they have is a laptop with encrypted or scrambled data, which is useless.

      Encryption at rest is also used fairly commonly within cloud environments.

      Your data is stored on shared hardware, and it's done so in an encrypted form.

      Even if somebody else could find and access the base storage device that you were using, they couldn't access your data.

      Encryption at rest is generally used where only one party is in this case, Nat, and that party is the only person who knows the encryption and encryption team.

      The other approach to encryption is known as encryption in transit, and this is aimed at protecting data while it's being transferred between two places.

      So when Nat is using her encryption data, the data is encrypted before it exits Nat's laptop, and decrypted by the bank when it arrives, and the same process is followed in reverse.

      So the bank encrypts any data that's destined for Nat's laptop, and Nat's laptop performs the decryption process.

      What you're essentially doing with encryption in transit is to apply an encryption wrapper, a tunnel, around the raw data, and anyone looking from the outside would just see a stream of scrambled data.

      Encryption in transit is generally used when multiple individuals or systems are involved.

      So let's move on and talk about encryption concepts.

      In this part of the lesson, I want to introduce some encryption terms.

      Not all of these are immediately intuitive, and so if you haven't heard of these before, I want to confirm your understanding because I'll be using them throughout the course.

      Now we'll start with plaintext, and this is a horrible term to use for this thing, because the name gives you the impression that it's text data, and it isn't always.

      Plaintext is unencrypted data.

      It can be text, but it doesn't have to be.

      It can also be images or even applications.

      Plaintext is data that you can load into an application and use, or you can load and immediately read that data.

      The next term is an algorithm, and an algorithm is a piece of code, or more specifically a piece of maths which takes plaintext and an encryption key, which I'll talk about shortly, and it generates encrypted data.

      Now common examples of algorithms are Blowfish, AES, RC4, DES, RC5, and RC6.

      When an algorithm is being used, it needs the plaintext, and it needs a key.

      And a key is the next term I want to talk about.

      A key at its simplest is a password, but it can be much more complex.

      When an algorithm takes plaintext and a key, the output that it generates is ciphertext.

      Now just like plaintext, ciphertext isn't always text data.

      Ciphertext is just encrypted data.

      So the relationship between all these things is that encryption, it takes plaintext, it uses an algorithm and a key, and it uses those things to create ciphertext.

      Decryption is just the reverse.

      It takes ciphertext, it takes a key, and it generates plaintext.

      Now this is not all that complex at a high level, but like most things in tech, there are some details which you need to understand.

      First I want to focus on the encryption key for the next part of the lesson.

      The type of key influences how encryption is used.

      So let's look at the different types of keys and different types of encryption.

      The first type of encryption key that I want to talk about is a symmetric key.

      Symmetric keys are used as part of a symmetric encryption process.

      Now it's far easier to show you an example visually rather than just explain it.

      So here goes.

      Now as everybody knows at this point I'm a fan of animals, specifically cats.

      What you might not know is I'm also a fan of robots.

      And everybody knows that cats want to achieve world domination, and robots are working towards the robot apocalypse.

      In this example, they've allied.

      They created a plan for world domination.

      So on the left we've got the cat supreme ruler, and on the right we've got the robot general.

      Both leaders want to exchange data, their battle plans, and they want to do that without humans being able to read them in a plaintext form.

      They need to ensure that the battle plans are only ever exchanged using ciphertext, so the humans never see the plaintext battle plans.

      So step one is they agree on an algorithm to use, in this case AES 256.

      And they set to work preparing to send the plaintext battle plans.

      Now the cat ruler, because he's the party sending the data, he needs to generate a symmetric encryption key, so he needs to create that and keep it safe.

      A symmetric encryption algorithm is used, and this accepts the key and the plaintext battle plans.

      And once it's accepted both of those, it performs encryption and it outputs ciphertext, the encrypted battle plans.

      The encrypted battle plans are now secure, because they're ciphertext and nobody can decipher them without the key.

      They can be sent over any transmission method, even an insecure way to the robot general.

      The encryption removes the risk of transmitting this data in the open, so even if we handed the ciphertext over to an untrustable party and asked for him to deliver that to the robot general, that would still be safe because the ciphertext is un-desyferable without the key.

      But this is where the problem starts for our rulers.

      The robot general doesn't have the key which was used to encrypt the data.

      With symmetric encryption, the same key is used for both the encryption and the encryption processors.

      So we need to find a way to get the robot general a copy of the key that was used to encrypt the data.

      So how do we do that?

      Well, we could transfer it electronically, but that's a bad idea because if the humans get the key, it's all over.

      They can also decrypt the data.

      We could arrange an in-person meetup, but for anything which is really sensitive, this is less than ideal because the people meeting to exchange the key could be intercepted on their way.

      We could encrypt the encryption key and then transfer that key.

      Now, that would be safe because the encryption key would be protected, but we'd still need to find a safe way of transferring the key that was used to encrypt the encryption key, and that gets really complex really quickly.

      This is why symmetric encryption is great for things like local file encryption or disk encryption or lac-box, but not so useful for situations where the data needs to be transferred between two remote parties, because arranging the transit of the key is the problem, and generally we need to do that in advance so there is no delay in decrypting the data.

      If the data that we're transferring is time-sensitive, the transit of the encryption key needs to happen in advance, and that's the most complex part of this method of encryption.

      Now, if we did have a way to transfer the key securely, then the same algorithm would decrypt the data using the key and the ciphertext, and then we'd return the original plaintext battle plans.

      But there's another way of doing it, and that's to use asymmetric encryption, and this addresses some of the problems that our rulers are facing.

      It makes it much easier to exchange keys because the keys used in asymmetric encryption are themselves asymmetric.

      Now, let's look at exactly what this means.

      To use asymmetric encryption, the first stage is for the cap ruler and the robot channel to agree an asymmetric algorithm to use, and then create encryption keys for the algorithm, which logically enough will be asymmetric encryption keys.

      Asymmetric encryption keys are formed of two parts, a public key and a private key.

      For both sides to be able to send and receive to each other, then both sides would need to make both public and private keys.

      To keep the diagram simple, we're going to use the example of where the cap ruler will be sending the battle plans to the robot channel, so only the robot channel in this scenario will need to generate any keys.

      Now, a public key can be used to generate ciphertext, which can only be decrypted by the corresponding private key.

      The public key cannot decrypt data that it was used to encrypt, only the private key can decrypt that data.

      This means the private key needs to be guarded really carefully because it's what's used to decrypt data.

      If it leaks, the battle plans could be compromised.

      The public key, it's just used to encrypt, and so the robot general uploads his public key to his cloud storage so that anyone can access it.

      The worst thing that could happen to anyone who obtains the robot general's public key is that he or she could use it to encrypt plaintext into ciphertext that only the robot general could decrypt.

      So there's no downside to anyone getting hold of the robot general's public key.

      So with asymmetric encryption, there's no requirement to exchange keys in advance.

      As long as the robot general uploaded his public key to somewhere that was accessible to the world, then the first step would be for the cap ruler to download the robot general's public key.

      Remember, this isn't sensitive.

      Anyone can use it to encrypt data for the robot general, and that's it.

      That's the only thing that the public key can do in this scenario.

      So using the general's public key and the plaintext battle plans, the asymmetric algorithm would generate some ciphertext.

      The ciphertext can then be transmitted to the robot general, and once received, only the robot general could decrypt that data.

      This time, though, there's no key exchange required because the rulers are using asymmetric encryption.

      The general already has his private key, and so he provides that private key and the ciphertext to the algorithm, which decrypts the ciphertext back into plaintext, and then the robot general has a copy of plaintext battle plans.

      Asymmetric encryption is generally used where two or more parties are involved, and generally when those parties have never physically met before.

      Issues by PTP, popular email and file encryption system.

      Issues by SSL or TLS, which is a system for encrypting browser communications.

      And issues by SSH, a popular method to securely access servers using key-based authentication.

      Now, asymmetric encryption is computationally much more difficult to do than symmetric, and so many processors use asymmetric encryption to initially agree and communicate symmetric key, and then the symmetric key is used for communication between those two parties from that point onward.

      Okay, so this is the end of part one of this lesson.

      It was getting a little bit on the long side, and so I wanted to add a break.

      It's an opportunity just to take a rest or grab a coffee.

      Part two will be continuing immediately from the end of part one.

      So go ahead, complete video, and when you're ready, join me in part two.

    1. In fact ‘perfect’ is not even a realistic concept when it comes to how languages work

      This is an idea that I found interesting even before taking this class. In the Spanish classes I've taken in high school, the learning process was never enjoyable because the goal of the class was just to do well on the tests. This mentality made me reluctant to speak Spanish outside of a class setting because I feared making a mistake. Even forgetting a conjugation would prevent me from trying at all. However, it's important to realize that even native speakers make mistakes all the time. Many native English speakers have terrible grammar but they are still considered fluent. Worrying about perfection in language is futile since there are also many variations in dialect as well.

    1. How can our ability to learn just disappear? Newsflash, it doesn’t! It is not natural to stop learning.

      I think the fact that people have a tendency to fall into a fixed mindset as they grow older is not because they can't learn new things, but they simply don't see a need to. When a child is learning their first language, it's necessary to function in society, so they have to learn. For an older child or adult who is learning a second language, such as in a classroom, there isn't really a necessity to use it outside of that environment, so when they fail to retain what they've learned, if they see no reason to keep trying then they simply won't.

    1. Reviewer #1 (Public review):

      Summary:

      In the abstract and throughout the paper, the authors boldly claim that their evidence, from the largest set of data ever collected on inattentional blindness, supports the views that "inattentionally blind participants can successfully report the location, color, and shape of stimuli they deny noticing", "subjects retain awareness of stimuli they fail to report", and "these data...cast doubt on claims that awareness requires attention." If their results were to support these claims, this study would overturn 25+ years of research on inattentional blindness, resolve the rich vs. sparse debate in consciousness research, and critically challenge the current majority view in cognitive science that attention is necessary for awareness.

      Unfortunately, these extraordinary claims are not supported by extraordinary (or even moderately convincing) evidence. At best, the results support the more modest conclusion: If sub-optimal methods are used to collect retrospective reports, inattentional blindness rates will be overestimated by up to ~8% (details provided below in comment #1). This evidence-based conclusion means that the phenomenon of inattentional blindness is alive and well as it is even robust to experiments that were specifically aimed at falsifying it. Thankfully, improved methods already exist for correcting the ~8% overestimation of IB rates that this study successfully identified.

      Comments:

      (1) In experiment 1, data from 374 subjects were included in the analysis. As shown in figure 2b, 267 subjects reported noticing the critical stimulus and 107 subjects reported not noticing it. This translates to a 29% IB rate, if we were to only consider the "did you notice anything unusual Y/N" question. As reported in the results text (and figure 2c), when asked to report the location of the critical stimulus (left/right), 63.6% of the "non-noticer" group answered correctly. In other words, 68 subjects were correct about the location while 39 subjects were incorrect. Importantly, because the location judgment was a 2-alternative-forced-choice, the assumption was that if 50% (or at least not statistically different than 50%) of the subjects answered the location question correctly, everyone was purely guessing. Therefore, we can estimate that ~39 of the subjects who answered correctly were simply guessing (because 39 guessed incorrectly), leaving 29 subjects from the non-noticer group who may have indeed actually seen the location of the stimulus. If these 29 subjects are moved to the noticer group, the corrected rate of IB for experiment 1 is 21% instead of 29%. In other words, relying only on the "Y/N did you notice anything" question leads to an overestimate of IB rates by 8%. This modest level of inaccuracy in estimating IB rates is insufficient for concluding that "subjects retain awareness of stimuli they fail to report", i.e. that inattentional blindness does not exist.

      In addition, this 8% inaccuracy in IB rates only considers one side of the story. Given the data reported for experiment 1, one can also calculate the number of subjects who answered "yes, I did notice something unusual" but then reported the incorrect location of the critical stimulus. This turned out to be 8 subjects (or 3% of the "noticer" group). Some would argue that it's reasonable to consider these subjects as inattentionally blind, since they couldn't even report where the critical stimulus they apparently noticed was located. If we move these 8 subjects to the non-noticer group, the 8% overestimation of IB rates is reduced to 6%.

      The same exercise can and should be carried out on the other 4 experiments, however, the authors do not report the subject numbers for any of the other experiments, i.e., how many subjects answered Y/N to the noticing question and how many in each group correctly answered the stimulus feature question. From the limited data reported (only total subject numbers and d' values), the effect sizes in experiments 2-5 were all smaller than in experiment 1 (d' for the non-noticer group was lower in all of these follow-up experiments), so it can be safely assumed that the ~6-8% overestimation of IB rates was smaller in these other four experiments. In a revision, the authors should consider reporting these subject numbers for all 5 experiments.

      (2) Because classic IB paradigms involve only one critical trial per subject, the authors used a "super subject" approach to estimate sensitivity (d') and response criterion (c) according to signal detection theory (SDT). Some readers may have issues with this super subject approach, but my main concern is with the lack of precision used by the authors when interpreting the results from this super subject analysis.

      Only the super subject had above-chance sensitivity (and it was quite modest, with d' values between 0.07 and 0.51), but the authors over-interpret these results as applying to every subject. The methods and analyses cannot determine if any individual subject could report the features above-chance. Therefore, the following list of quotes should be revised for accuracy or removed from the paper as they are misleading and are not supported by the super subject analysis:

      "Altogether this approach reveals that subjects can report above-chance the features of stimuli (color, shape, and location) that they had claimed not to notice under traditional yes/no questioning" (p.6)

      "In other words, nearly two-thirds of subjects who had just claimed not to have noticed any additional stimulus were then able to correctly report its location." (p.6)

      "Even subjects who answer "no" under traditional questioning can still correctly report various features of the stimulus they just reported not having noticed, suggesting that they were at least partially aware of it after all." (p.8)

      "Why, if subjects could succeed at our forced-response questions, did they claim not to have noticed anything?" (p.8)

      "we found that observers could successfully report a variety of features of unattended stimuli, even when they claimed not to have noticed these stimuli." (p.14)

      "our results point to an alternative (and perhaps more straightforward) explanation: that inattentionally blind subjects consciously perceive these stimuli after all... they show sensitivity to IB stimuli because they can see them." (p.16)

      "In other words, the inattentionally blind can see after all." (p.17)

      (3) In addition to the d' values for the super subject being slightly above zero, the authors attempted an analysis of response bias to further question the existence of IB. By including in some of their experiments critical trials in which no critical stimulus was presented, but asking subjects the standard Y/N IB question anyway, the authors obtained false alarm and correct rejection rates. When these FA/CR rates are taken into account along with hit/miss rates when critical stimuli were presented, the authors could calculate c (response criterion) for the super subject. Here, the authors report that response criteria are biased towards saying "no, I didn't notice anything". However, the validity of applying SDT to classic Y/N IB questioning is questionable.

      For example, with the subject numbers provided in Box 1 (the 2x2 table of hits/misses/FA/CR), one can ask, 'how many subjects would have needed to answer "yes, I noticed something unusual" when nothing was presented on the screen in order to obtain a non-biased criterion estimate, i.e., c = 0?' The answer turns out to be 800 subjects (out of the 2761 total subjects in the stimulus-absent condition), or 29% of subjects in this condition.

      In the context of these IB paradigms, it is difficult to imagine 29% of subjects claiming to have seen something unusual when nothing was presented. Here, it seems that we may have reached the limits of extending SDT to IB paradigms, which are very different than what SDT was designed for. For example, in classic psychophysical paradigms, the subject is asked to report Y/N as to whether they think a threshold-level stimulus was presented on the screen, i.e., to detect a faint signal in the noise. Subjects complete many trials and know in advance that there will often be stimuli presented and the stimuli will be very difficult to see. In those cases, it seems more reasonable to incorrectly answer "yes" 29% of the time, as you are trying to detect something very subtle that is out there in the world of noise. In IB paradigms, the stimuli are intentionally designed to be highly salient (and unusual), such that with a tiny bit of attention they can be easily seen. When no stimulus is presented and subjects are asked about their own noticing (especially of something unusual), it seems highly unlikely that 29% of them would answer "yes", which is the rate of FAs that would be needed to support the null hypothesis here, i.e., of a non-biased criterion. For these reasons, the analysis of response bias in the current context is questionable and the results claiming to demonstrate a biased criterion do not provide convincing evidence against IB.

      (4) One of the strongest pieces of evidence presented in the entire paper is the single data point in Figure 3e showing that in Experiment 3, even the super subject group that rated their non-noticing as "highly confident" had a d' score significantly above zero. Asking for confidence ratings is certainly an improvement over simple Y/N questions about noticing, and if this result were to hold, it could provide a key challenge to IB. However, this result hinges on a single data point, it was not replicated in any of the other 4 experiments, and it can be explained by methodological limitations. I strongly encourage the authors (and other readers) to follow up on this result, in an in-person experiment, with improved questioning procedures.

      In the current Experiment 3, the authors asked the standard Y/N IB question, and then asked how confident subjects were in their answer. Asking back-to-back questions, the second one with a scale that pertains to the first one (including a tricky inversion, e.g., "yes, I am confident in my answer of no"), may be asking too much of some subjects, especially subjects paying half-attention in online experiments. This procedure is likely to introduce a sizeable degree of measurement error.

      An easy fix in a follow-up study would be to ask subjects to rate their confidence in having noticed something with a single question using an unambiguous scale:

      On the last trial, did you notice anything besides the cross?

      (1) I am highly confident I didn't notice anything else<br /> (2) I am confident I didn't notice anything else<br /> (3) I am somewhat confident I didn't notice anything else<br /> (4) I am unsure whether I noticed anything else<br /> (5) I am somewhat confident I noticed something else<br /> (6) I am confident I noticed something else<br /> (7) I am highly confident I noticed something else

      If we were to re-run this same experiment, in the lab where we can better control the stimuli and the questioning procedure, we would most likely find a d' of zero for subjects who were confident or highly confident (1-2 on the improved scale above) that they didn't notice anything. From there on, the d' values would gradually increase, tracking along with the confidence scale (from 3-7 on the scale). In other words, we would likely find a data pattern similar to that plotted in Figure 3e, but with the first data point on the left moving down to zero d'. In the current online study with the successive (and potentially confusing) retrospective questioning, a handful of subjects could have easily misinterpreted the confidence scale (e.g., inverting the scale) which would lead to a mixture of genuine high-confidence ratings and mistaken ratings, which would result in a super subject d' that falls between zero and the other extreme of the scale (which is exactly what the data in Fig 3e shows).

      One way to check on this potential measurement error using the existing dataset would be to conduct additional analyses that incorporate the confidence ratings from the 2AFC location judgment task. For example, were there any subjects who reported being confident or highly confident that they didn't see anything, but then reported being confident or highly confident in judging the location of the thing they didn't see? If so, how many? In other words, how internally (in)consistent were subjects' confidence ratings across the IB and location questions? Such an analysis could help screen-out subjects who made a mistake on the first question and corrected themselves on the second, as well as subjects who weren't reading the questions carefully enough. As far as I could tell, the confidence rating data from the 2AFC location task were not reported anywhere in the main paper or supplement.

      (5) In most (if not all) IB experiments in the literature, a partial attention and/or full attention trial (or set of trials) is administered after the critical trial. These control trials are very important for validating IB on the critical trial, as they must show that, when attended, the critical stimuli are very easy to see. If a subject cannot detect the critical stimulus on the control trial, one cannot conclude that they were inattentionally blind on the critical trial, e.g., perhaps the stimulus was just too difficult to see (e.g., too weak, too brief, too far in the periphery, too crowded by distractor stimuli, etc.), or perhaps they weren't paying enough attention overall or failed to follow instructions. In the aggregate data, rates of noticing the stimuli should increase substantially from the critical trial to the control trials. If noticing rates are equivalent on the critical and control trials one cannot conclude that attention was manipulated.

      It is puzzling why the authors decided not to include any control trials with partial or full attention in their five experiments, especially given their online data collection procedures where stimulus size, intensity, eccentricity, etc. were uncontrolled and variable across subjects. Including such trials could have actually helped them achieve their goal of challenging the IB hypothesis, e.g., excluding subjects who failed to see the stimulus on the control trials might have reduced the inattentional blindness rates further. This design decision should at least be acknowledged and justified (or noted as a limitation) in a revision of this paper.

      (6) In the discussion section, the authors devote a short paragraph to considering an alternative explanation of their non-zero d' results in their super subject analyses: perhaps the critical stimuli were processed unconsciously and left a trace such that when later forced to guess a feature of the stimuli, subjects were able to draw upon this unconscious trace to guide their 2AFC decision. In the subsequent paragraph, the authors relate these results to above-chance forced-choice guessing in blindsight subjects, but reject the analogy based on claims of parsimony.

      First, the authors dismiss the comparison of IB and blindsight too quickly. In particular, the results from experiment 3, in which some subjects adamantly (confidently) deny seeing the critical stimulus but guess a feature at above-chance levels (at least at the super subject level and assuming the online subjects interpreted and used the confidence scale correctly), seem highly analogous to blindsight. Importantly, the analogy is strengthened if the subjects who were confident in not seeing anything also reported not being confident in their forced-choice judgments, but as mentioned above this data was not reported.

      Second, the authors fail to mention an even more straightforward explanation of these results, which is that ~8% of subjects misinterpreted the "unusual" part of the standard IB question used in experiments 1-3. After all, colored lines and shapes are pretty "usual" for psychology experiments and were present in the distractor stimuli everyone attended to. It seems quite reasonable that some subjects answered this first question, "no, I didn't see anything unusual", but then when told that there was a critical stimulus and asked to judge one of its features, adjusted their response by reconsidering, "oh, ok, if that's the unusual thing you were asking about, of course I saw that extra line flash on the left of the screen". This seems like a more parsimonious alternative compared to either of the two interpretations considered by the authors: (1) IB does not exist, (2) super-subject d' is driven by unconscious processing. Why not also consider: (3) a small percentage of subjects misinterpreted the Y/N question about noticing something unusual. In experiments 4-5, they dropped the term "unusual" but do not analyze whether this made a difference nor do they report enough of the data (subject numbers for the Y/N question and 2AFC) for readers to determine if this helped reduce the ~8% overestimate of IB rates.

      (7) The authors use sub-optimal questioning procedures to challenge the existence of the phenomenon this questioning is intended to demonstrate. A more neutral interpretation of this study is that it is a critique on methods in IB research, not a critique on IB as a manipulation or phenomenon. The authors neglect to mention the dozens of modern IB experiments that have improved upon the simple Y/N IB questioning methods. For example, in Michael Cohen's IB experiments (e.g., Cohen et al., 2011; Cohen et al., 2020; Cohen et al., 2021), he uses a carefully crafted set of probing questions to conservatively ensure that subjects who happened to notice the critical stimuli have every possible opportunity to report seeing them. In other experiments (e.g., Hirschhorn et al., 2024; Pitts et al., 2012), researchers not only ask the Y/N question but then follow this up by presenting examples of the critical stimuli so subjects can see exactly what they are being asked about (recognition-style instead of free recall, which is more sensitive). These follow-up questions include foil stimuli that were never presented (similar to the stimulus-absent trials here), and ask for confidence ratings of all stimuli. Conservative, pre-defined exclusion criteria are employed to improve the accuracy of their IB-rate estimates. In these and other studies, researchers are very cautious about trusting what subjects report seeing, and in all cases, still find substantial IB rates, even to highly salient stimuli. The authors should consider at least mentioning these improved methods, and perhaps consider using some of them in their future experiments.

    1. Adam Grant said something along the lines of that your identity is a not what you believe but what you value. That makes a lot of sense. We can have values that influence how we believe things should be done. That doesn’t always mean that they need to be done in that way but it can help us see that deep down our values are what influence those things.

      I found it interesting when they talked about how a scientist is trying to find the truth, not spread it. In comparison to a pastor who has the truth and is trying to spread it.

      A healthy relationship is when people understand that great minds do NOT think alike. We are taught that great minds think alike but this challenges that thought. I think it’s true, when we are able to disagree we admit that there is more than one way to look at things.

      The more we invest in a relationship the more we build it.

      If we don’t challenge each other on the small things we will never be able to challenge the big things. It is all about learning how to disagree peacefully. We don’t have to change our minds, but if we are at least open to acknowledging that we may be wrong that will give us more intellectual freedom.

      When they discussed that parents who had more arguments raised more creative children I at first was confused. But, with an argument it opens the door to other perspectives and possibilities which would naturally increase the creativity. Again I think it depends on the way we argue, if we are doing it just to spite someone that probably won’t teach creativity or maybe it will. I’m still figuring out what this exactly looks like.

      Willpower is motivation not self-control

      People will attach to a group. They think that the group is a part of who they are. It is so crazy how attached we can get to groups, we think that they define us but they really don’t.

      I really liked when Adam Grant said something along the lines of, “I don’t need you to think I’m right, I just need you to recognize that you might be wrong.” That is such powerful thinking. We don’t always have to be right. Sometimes us recognizing that we might be wrong is the right thing for us to be able to become more open-minded.

      I also really liked when Adam Grant said “Character is not how you treat people when things are going your way, it’s how you show up on a hard day.” If everything were sunshine and rainbows in our lives then yes, obviously it’s going to be easier to be kind to someone but when we have a hard day but still choose to be kind that’s what really shows our character.

      I am going to ponder the last question they asked, “What do you do when your values are tested?” This is a really good question to ask myself especially before going into our big research paper.

    2. **Kaylie Jensen ** The world is constantly changing and you can either be a part of it or not. You should always be willing to change. There is good change, and bad change, but the reason for change is important. Who you are is not what you believe, but what you value. And we all have values that affect what we do and say. And we all have different views on particular things. Don’t let your ideas become your identity. It’s okay to disagree with people. It’s okay to say what you believe, but don’t do it in a mean way. There is always a right and wrong way to do things. Don’t be afraid to challenge people on the small things, because it leads up to the big things. Learn how to disagree. There isn’t one way to think. Don’t be afraid to question things. We are all a work in progress, we all have to work on ourselves. And if we don’t believe something personally we throw it out. Be open to different opinions. You don’t have to agree on everything, but just remember that they are human beings. The most important connections you will make are in the rifts, where the real friendships are made. True character is what you do when your values are tested.

    1. If you only see one half of a mustard bottle, then the instantaneous sensor readings simply don't contain enough information to plan a grasp; somehow we must infer something about what the back of the object looks like (aka "shape completion", though it need not be done explicitly). The reason that you would have a good guess at what the back half of the mustard bottle looks like is because you've interacted with mustard bottles before -- it is the statistics of the objects you've interacted with that provides the missing information. So learning isn't just a convenience here, it's fundamental. We'll discuss learning-based perception soon!

      The concept of "shape completion" mentioned in this section is very interesting, and it emphasizes the importance of machine learning in robot perception. Completing the blind spots of vision through learned experience not only reflects the practical application of artificial intelligence, but also reveals the complexity of robots solving incomplete perception problems in the real world.

    1. enter the classroom with the assumption that we must build "communi-ty" in order to create a climate of openness and intellectual rigor.

      I resonate with this idea because, as a teacher, I’ve also found that fostering a sense of community in the classroom is essential. When students feel connected and valued, it creates a space where they are more open to engaging in discussions and pushing their intellectual boundaries. For me, building community isn’t just about creating a safe environment—it’s about cultivating trust and shared commitment to learning, which enhances everyone’s experience and development.

    2. Students taught me, too, that it is necessary to practice com-passion in these new learning settings. I bave not forgotten the day a student came to class and told me: 'We take your class. We learn to look at the world from a critica! standpoint, one that considers race, sex, and class. And we can't enjoy life anymore." Looking out over the class, across race, sexual preference

      As a Sunday school teacher for kindergarten students, I've seen firsthand how important it is to create an environment where every child feels included and valued. When I teach, I make sure to use stories, examples, and activities that reflect the different backgrounds and experiences of the children in my class. It's not just about teaching religious lessons, but about helping them understand that everyone is unique and important. I've learned that even at a young age, kids notice when they feel left out or different, so it's crucial to make inclusivity a lived experience, not just something we talk about.

    3. The unwillingness to approach teaching from a standpoint that includes awareness o f race, sex, and class is often rooted in the fear that classrooms will be uncontrollable, that emotions and passions will not be contained. To some extent, we all know that whenever we address in the classroom subjects that stu-dents are passionate about there is always a possibility of con-frontation, forceful expression of ideas, or even conflict. In much of my writing about p

      Educational inequality has a ripple effect that goes far beyond the classroom, shaping the entire course of a student's life. The fact that success in today’s world is so closely tied to a college degree highlights just how deep this problem runs. It’s frustrating to think that a student's potential is often dictated by the resources their family can provide, rather than their talents or drive. Wealthier students have the advantage of tutors, better schools, extracurricular activities, and financial stability, while students from lower-income families may be just as capable but are held back by factors beyond their control.

  5. inst-fs-iad-prod.inscloudgate.net inst-fs-iad-prod.inscloudgate.net
    1. I completely agree with this statement. Public education shapes how we think, behave, and engage with society. It’s the foundation of how we learn to interact with others, understand societal norms, and participate in our communities. This role makes education so much more than just academics—it’s a tool for creating engaged, thoughtful citizens. It’s frustrating that this powerful mechanism isn’t used more effectively to promote equity and challenge the structures that perpetuate inequality.

    2. Investments in quality early childhood education not only has one of the highest yields-for every $1 spent on early education and care, $8 is saved on crime, public assistance, supplemental schooling, and so on-but is also one of the most important stages at which a child's educational trajectory is shaped (Nisbett, 2009).

      This statistic really makes me think about how investing in early education isn’t just good for children—it’s an investment in society as a whole. The long-term savings from reducing crime and reliance on public assistance are significant. It’s frustrating that more isn’t done to prioritize this, knowing that early education can have such a powerful impact. We’re not just helping individual kids; we’re creating a stronger, more equitable society for everyone.

    3. I often share with students that my sister's employer worked her 39 hours per week for years to avoid providing health insurance.

      This sentence really makes me reflect on the ways employers can exploit their workers, especially those in low-wage jobs. When I think about my sister’s experience, it frustrates me that companies can deliberately keep employees just under the threshold for benefits like health insurance. It’s a reminder of how systemic inequality isn’t just about education or wages but also about access to essential services like healthcare. These kinds of practices only deepen the struggles faced by working-class families.

    4. The middle grades are where the rubber meets the road. This is where college-bound freshmen and all the rest are separated like oil and water. Here the issue of school funding and the deleterious effects of how we fund publi~ education in this country becomes an obvious barrier to students' academic suc-cess and their ability to move upward in the social classes.

      Middle school is such a important time in education, and this passage makes me realize just how early the stratification between students begins. It's alarming to think that by middle school, students are already being sorted into paths that will determine their future access to higher education and social mobility. The lack of funding for public schools, particularly in lower-income areas, means that students in these schools are set up to fall behind their peers in wealthier districts. It’s frustrating to see how much potential is wasted simply because of unequal access to resources, qualified teachers, and support systems. This divide underscores the urgent need for systemic reform to ensure that all students, regardless of background, have an equal shot at success.

    5. Take a shot. Go for it. Take a risk. Get the education. Borrow money if you have to from your parents. Start a business." Just like that

      I don't think that it's as easy as he says it is. His family had the resources and means to back his business idea up. Many people may not have the same. I think enforcing that they should obtain an education is important, as that can open many opportunities up for growth in the workplace; however, starting a business seems to be more of a luxury that can only start after a couple of years of working for someone else (if you come from a low socioeconomic background).

    1. Welcome back.

      In this video, I want to talk in general about application layer firewalls, also known as layer 7 firewalls, named after the layer of the OSI model that they operate at.

      Now I want to keep this video pretty generic and talk about how AWS implement this within their product set in a separate video.

      So let's jump in and get started.

      Now before I talk about the high level architecture and features of layer 7 firewalls, let's quickly refresh our knowledge of layer 3, 4 and 5.

      So we start with a layer 3 and 4 firewall, which is helping to secure the Categorum application.

      Now this is accessed by millions of people globally because it's that amazing.

      Now because this is layer 3 and 4, the firewall sees packets and segments, IP addresses and ports.

      It sees two flows of communications, requests from the laptop to the server, and then responses from the server back to the laptop.

      Because this firewall is limited to layer 3 and 4 only, these are viewed as separate and unrelated.

      You need to think of these as different streams of data, request and response, even though they're part of the same communication from a human perspective.

      Now if we enhance the firewall, this time adding session capability, then the same communication between the laptop and server can be viewed as one.

      The firewall understands that the request and the response are part of the same session, and this small difference both reduces the admin overhead, so one rule instead of two, but this also lets you implement more contextual security, where you can think of response traffic in the context that it's response to an original request, and treat that differently than traffic in the same direction, which is not a response.

      Now this next point is really important.

      In both cases, these firewalls don't understand anything above the layer at which they operate.

      The top firewall operates layer 3 and 4, so it understands layers 1, 2, 3 and 4.

      The bottom firewall does this, plus layer 5.

      Now what this means is that both of them can see IP addresses, ports, flags, and the bottom one can do all this, and additionally, it can understand sessions.

      Neither of them though can understand the data which flows over the top of this.

      They have no visibility into layer 7, for example, HTTP.

      So they can't see headers or any of the other data that's been transferred over HTTP.

      To them, the layer 7 stuff is opaque.

      A cat image is the same as a dog image, is the same as some malware, and this is a significant limitation, and it exposes the things that we're protecting to a wide range of attacks.

      Now layer 7 firewalls fix many of these limitations, so let's take a look at how.

      Let's consider the same architecture where we have a client on the left, and then a server or application on the right that we're trying to protect.

      In the middle we have a layer 7 firewall, and so that you'll remember it's a layer 7 firewall, let's add a robot, a smarter robot.

      With this firewall, we still have the same flow of packets and segments, and a layer 7 firewall can understand all of the lower layers, but it adds additional capabilities.

      Let's consider this example where the Categorum application is connected using a HTTPS connection.

      So encrypted HTTP and HTTP is the layer 7 protocol.

      The first important thing to realize is that layer 7 firewalls understand various layer 7 protocols, and the example we're stepping through is HTTP.

      So they understand how that protocol transfers data, its architecture, headers, data, hosts, all the things which happen at layer 7 or below.

      It also means that it can identify normal or abnormal elements of a layer 7 connection, which means it can protect against various protocol specific attacks or weaknesses.

      In this example, so a HTTPS connection to the Categorum server, the HTTPS connection would be terminated on the layer 7 firewall.

      So while the client thinks that it's connecting to the server, the HTTPS tunnel would be stripped away, leaving just HTTP, which it could analyze as it transits through the firewall.

      So a new HTTPS connection would be created between the layer 7 firewall and the back end server.

      So from the server and client's perspective, this process is occurring transparently.

      The crucial part of this is that between the original HTTPS connection and the new HTTPS connection, the layer 7 firewall sees an un-imcripted HTTP connection.

      So this is plain text, and because the firewall understands the layer 7 protocol, it can see and understand everything about this protocol stream.

      Data at layer 7 can be inspected, blocked, replaced, or tagged, and this might be protecting against adult content, spam, off-topic content, or even malware.

      So in this example, you might be looking to protect the integrity of the Categorum application.

      You'll logically allow cat pictures, but might be less okay with doggoes.

      You might draw a line and not allow other animals.

      Sheik, for example, might be considered spam.

      Maybe you're pretty open and inclusive and only block truly dangerous content such as malware and other exploits.

      Because you can see and understand one or more application protocols, you can be very granular in how you allow or block content.

      You can even replace content.

      So if adult images flow through, these can be replaced with a nice kitten picture or other baby animals.

      You can even block specific applications such as Facebook and even block the flow of business data leaving the organization onto services such as Dropbox.

      The key thing to understand is that the layer 7 firewall keeps all of the layer 3, 4, and 5 features, but can react to the layer 7 elements.

      This includes things like DNS names which are used, the rates of flow for county connections per second, you can even react to content or headers, whatever elements are contained in that specific layer 7 protocol which the firewall understands.

      Now some layer 7 firewalls only understand HTTP, some understand SMTP which is the protocol used for email delivery.

      The limit is only based on what the firewall software supports.

      Now that's everything that I wanted to cover at a high level.

      Coming up in future videos, I'm going to be covering how AWS implements layer 7 firewall capability into its product set.

      For now though, this high level understanding is what I wanted to help with in this video.

      So go ahead and complete the video.

      Thanks for watching.

      I'm already, I look forward to you joining me in the next.

    1. Welcome back and in this lesson I want to talk in a little bit of detail about fiber optic cables.

      If you're involved with networking in any way, then you need to be comfortable with how they work, their characteristics and the differences between the various types.

      Now this matters for the real world and if you need to work with any physical networking services, including AWS Direct Connect.

      Now let's just jump in and get started.

      Fiber optic cables are an alternative way to transmit data versus copper cables.

      Where copper cables use changes in electrical signals to transmit data over a copper medium, fiber optic cables use a thin glass or plastic core surrounded by various protective layers.

      The core is about the diameter of a human hair.

      The cable that you can see and touch is that core surrounded by a lot of protection.

      If you just handle the core on its own, it would be pretty susceptible to damage.

      Now fiber optic cables, as the name suggests, transmit light over the glass or plastic medium, so light over glass or plastic versus electrical signals over copper.

      These unique elements mean that the cable can cover much larger distances and achieve much higher speeds versus copper.

      At the time of creating this lesson, this can be in the regions of terabits per second.

      Now fiber is also resistant to electromagnetic interference known as EMI and it's less prone to being impacted by water ingress into a space where the cables are being used.

      In general, fiber offers a more consistent experience versus copper cable and so in modern networks, specifically those which require higher speeds and or larger distances, fiber is often preferred versus copper.

      You're going to see over time fiber will gradually overtake copper in almost all wired networking situations as it becomes cheaper and easier to install.

      It's already used for many global networking, metro networking and even many local area networking applications.

      So that's important to understand.

      It's going to be used more and more in the future.

      Now in terms of physical makeup, this is what a typical fiber cable looks like externally.

      There are two different things that you need to think about and this is common with any form of networking cable or any form of cable in general.

      There's the cable choice which will influence the physical characteristics so how fast data can be transferred and over what distances.

      Then you have the cable connectors and these generally affect what the cable can be connected to so linked to physical ports on the networking equipment but they can also influence some of the physical characteristics in terms of distance ability and speeds.

      Now I'm not going to detail all the different fiber cable types in this lesson.

      Instead I've included a link attached to this lesson which gives you a good overview of the common cable and connector types within the industry.

      Now I want to spend a few minutes talking about the physical construction of fiber cables.

      I've talked about how the connectors are different but it's important that you understand the different physical makeups of the cable itself.

      Now when we're talking about fiber cable, you'll see it referred to using an X/Y notation.

      For example, 9/125.

      This defines two parts of the cable.

      The first part is the diameter of the core in microns and the second part is the diameter of the cladding.

      Now the first bit that surrounds the core.

      Both of these are in microns and there are a thousand microns in a millimeter.

      Now let's talk about the different components of a fiber cable and I'm mainly going to be covering the fiber core, the fiber cladding and the buffer.

      And don't worry, the functions of each of these will make sense in a second.

      Now we're going to start with the core and this is the part of the cable where the light is carried which allows for the transfer of data.

      This part on a 9/125 cable is tinier.

      It's only 9 microns across.

      So if you look at the right of the screen, you have the core, then you have the transmitter receive optics at each side and the light flows through the core along the length of the cable.

      I'll talk more about this in a moment but the light doesn't flow in a straight line.

      Now we're bouncing off the inside edges of the core which is why the size of the core matters.

      Now surrounding the core is the cladding and this is a material which has a lower refractive index versus the core.

      And this means that it acts as a container to keep the light bouncing around inside the core.

      Different types of fiber have different sizes of core and cladding and both of them radically impact the physical characteristics of the cable.

      And this is where we move on to the less important parts of the cable.

      The core and cladding were directly responsible for the physical transmission of data but now we're moving on to the protective balance.

      So next we have the buffer and the buffer is the thing which adds strength to the cable.

      The core and cladding are generally really good at helping to carry data but really bad at withstanding any physical shocks.

      The buffer is a combination of coating and strengthening materials such as fibers made out of other materials.

      Now don't confuse this type of fiber with fiber optic.

      This is just a length of material which is designed to absorb shocks and give physical protection.

      And this buffer is surrounded by the cable jacket which is the physical thing that you see when looking at the fiber cable.

      It generally has a defined color such as green, orange or blue and this generally gives some indication on the overall capabilities of the cable.

      Now I've included a link attached to this lesson which details the common colors and what they mean in terms of the fiber optic cable capabilities.

      Now one more thing that I want to cover before we finish this lesson and that's the difference between single mode and multi mode fiber.

      The difference might seem pretty nuanced but it's really important to understand.

      Let's start with single mode.

      Single mode generally has a really small core and it's often 8 to 9 microns in size.

      And it generally uses a yellow jacket but this isn't always the case.

      Now because of this tiny core, light generally follows a fairly single and straight path down at the core.

      There's generally very little bounce and so very little distortion.

      Single mode fiber generally uses lasers and so it's more expensive in terms of the optics versus multi mode.

      Single mode because of this lack of distortion is great for long distances and it can achieve excellent speeds over these long distances.

      Now it's not the fastest type of fiber cable but if you need a combination of high speeds and long distances then it's by far the best.

      Single mode fiber can reach kilometers and can do really high speeds at those distances.

      Generally in production usage this is 10 gig and above.

      Single mode fiber cable itself is generally cheaper than multi mode fiber but the transceivers are things which send and receive light are more expensive versus multi mode.

      But this is changing over time and this will probably mean more and more single mode usage within most business applications.

      Now multi mode cable generally has a much bigger core and often uses either an orange and aqua or other coloured jacket.

      The bigger core means that it can be used with a wider range of wavelengths of light generally at the same time.

      For simplicity think of this as different colours of light travelling down the same fiber cable so these different colours can be sent at the same time and don't interfere with each other.

      More light means more data so multi mode tends to be faster.

      But that comes with a trade off because this leads to more distortion over the light over longer distances.

      For that reason multi mode historically has been used for shorter cable runs where speed and cost effectiveness is required.

      Now multi mode generally has cheaper LED based optics rather than the more expensive laser optics used within single mode fiber.

      Multi mode fiber cable will generally use the prefix OM so OM2, OM3, OM4 and so on each improving the previous ones capabilities.

      And multi mode as I mentioned before has a larger core.

      At a high level the type of cable you decide on is determined by the distances that you need to transmit data and the speed.

      So single mode is just more sturdy, there's less distortion and it can do better speeds over higher distances.

      And as the optics prices come down I suspect more people will use single mode even for shorter distances.

      Now one final thing I want to cover before we finish up with this lesson and that's fiber optic transceivers.

      Now these are generally the things which you plug into networking equipment which allows the networking equipment to connect to fiber optic cables.

      They're known as SFP transceiver modules also known as SFP or mini gibix and this stands for single form factor pluggable.

      Now these are the things which generate and send or receives light to and from the fiber optic cable.

      So these plug into networking equipment, these have optics inside which generate the light or can detect the light and these are used to translate from data to light and from lights to data that networking equipment can use.

      Now these transceivers are either multi mode or single mode and they're optimised for a specific cable type.

      So you generally buy a transceiver that's designed to be used with a certain type of cable and the transceivers will need to be the same type on both sides or both ends of the fiber optic cable.

      Now when you're talking about the connector type and the cable you're generally going to see terms such as 1000 base LX, 10G base LR or 100G base LR4.

      And these are often specified by vendors such as AWS to give you an idea on the type of cable and the connector that you need to use to plug into their equipment.

      So in the case of AWS DirectConnect the supported types are 1000 base LX, 10G base LR and 100G base LR4.

      Now at this point that's everything I wanted to cover at a high level about fiber optic cables and transceivers and once again I've included some links attached to this lesson which go into a little bit more detail if you're interested.

      At this point that's everything I wanted to cover to go ahead and complete the video and when you're ready I'll look forward to you joining me in the next.

    1. Welcome back.

      In this lesson, I want to cover IPsec fundamentals.

      So I want to talk about what IPsec is, why it matters, and how IPsec works at a fundamental level.

      Now we have a lot of theory to cover, so let's jump in and get started.

      At a foundational level, IPsec is a group of protocols which work together.

      Their aim is to set up secure networking tunnels across insecure networks.

      For example, connecting two secure networks or more specifically, their routers, called peers, across the public internet.

      Now you might use this if you're a business with multiple sites, spread around geographically and want to connect them together, or if you have infrastructure in AWS or another cloud platform and want to connect to that infrastructure.

      IPsec provides authentication so that only peers which are known to each other and can authenticate with each other can connect.

      And any traffic which is carried by the IPsec protocols is encrypted, which means to one look at secure data which is being carried is ciphertext.

      It can't be viewed and it can't be altered without being detected.

      Now architecturally, it looks like this.

      We have the public internet which is an insecure network full of goblins looking to steal your data.

      Over this insecure network, we create IPsec tunnels between peers.

      Now these tunnels exist as they're required.

      Within IPsec VPNs, there's the concept of interesting traffic.

      Now interesting traffic is simply traffic which matches certain rules, and these could be based on network prefixes or match more complex traffic types.

      Regardless of the rules, if data matches any of those rules, it's classified as interesting traffic, and the VPN tunnel is created to carry traffic through to its destination.

      Now if there's no interesting traffic, then tunnels are eventually torn down only to be reestablished when the system next detects interesting traffic.

      The key thing to understand is that even though those tunnels use the public internet for transit, any data within the tunnels is encrypted while transiting over that insecure network.

      It's protected.

      Now to understand the nuance of what IPsec does, we need to refresh a few key pieces of knowledge.

      In my fundamental section, I talked about the different types of encryption.

      I mentioned symmetric and asymmetric encryption.

      Now symmetric encryption is fast.

      It's generally really easy to perform on any modern CPU and it has pretty low overhead.

      But exchanging keys is a challenge.

      The same keys are used to encrypt and decrypt.

      So how can you get the key from one entity to another securely?

      Do you transmit it in advance over a different medium, or do you encrypt it?

      If so, you run into a catch-22 situation.

      How do you securely transmit the encrypted key?

      That's why asymmetric encryption is really valuable.

      Now it's slower, so we don't want to be using it all the time, but it makes exchanging keys really simple because different keys are used for encryption and decryption.

      Now a public key is used to encrypt data, and only the corresponding private key can decrypt that data.

      And this means that you can safely exchange the public key while keeping the private key private.

      So the aim of most protocols which handle the encryption of data over the internet is to start with asymmetric encryption, use this to securely exchange symmetric keys, and then use those for ongoing encryption.

      Now I mentioned that because it will help you understand exactly how IPsec VPN works.

      So let's go through it.

      IPsec has two main phases.

      If you work with VPNs, you're going to hear a lot of talk about phase one or phase two.

      It's going to make sense why these are needed by the end of this lesson, but understand that there are two phases in setting up a given VPN connection.

      The first is known as Ike phase one.

      Ike or Internet Key Exchange, as the name suggests, is a protocol for how keys are exchanged in this context within a VPN.

      There are two versions, Ike version one and Ike version two.

      Version one logically is older, version two is newer and comes with more features.

      Now you don't need to know all the detail right now, just understand that the protocol is about exchanging keys.

      Ike phase one is the slow and heavy part of the process.

      It's where you initially authenticate using a pre-shared key, so a password of sorts or a certificate.

      It's where asymmetric encryption is used to agree on, create and share symmetric keys which are used in phase two.

      The end of this phase is what's known as an Ike phase one tunnel or a security association known as an SA.

      There's lots of jargon being thrown around, and I'll be showing you how this all works visually in just a moment.

      But at the end of phase one, you have a phase one tunnel, and the heavy work of moving towards symmetric keys which can be used for encryption has been completed.

      The next step is Ike phase two which is faster and much more agile because much of the heavy lifting has been done in phase one.

      Technically, the phase one keys are used as a starting point for phase two.

      Phase two is built on top of phase one and is concerned with agreeing encryption methods and the keys used for the bulk transfer of data.

      The end result is an IPsec security association, a phase two tunnel which runs over phase one.

      Now the reason why these different phases are split up is that it's possible for phase one to be established, then a phase two tunnel created, used and then torn down when no more interesting traffic occurs, but the phase one tunnel stays.

      It means that establishing a new phase two tunnel is much faster and less work.

      It's an elegant and well designed architecture, so let's look at how this all works together visually.

      So this is Ike phase one.

      The architecture is a simple one.

      Two business sites, site one on the left with the user Bob and site two on the right with the user Julie, and in the middle, the public internet.

      The very first step of this process is that the routers, the two peers at either side of this architecture need to authenticate.

      Essentially prove their identity which is done either using certificates or pre-shared keys.

      Now it's important to understand that this isn't yet about encryption, it's about proving identity.

      Proving that both sides agree that the other side should be part of this VPN.

      No keys are exchanged, it's just about identity.

      Once the identity has been confirmed, then we move on to the next stage of Ike phase one.

      In this stage we use a process called Diffie-Hellman Key Exchange.

      Now again, I'm sorry about the jargon, but try your best to remember Diffie-Hellman known as DH.

      What happens is that each side creates a Diffie-Hellman private key.

      This key is used to decrypt data and to sign things.

      You should remember this from the encryption fundamentals lesson.

      In addition, each side uses that private key and derives a corresponding public key.

      Now the public key can be used to encrypt data that only that private key can decrypt.

      So at this point, each side has a private key as well as a corresponding public key.

      At this point, these public keys are exchanged.

      So Bob has Julie's public key and Julie has Bob's public key.

      Remember, these public keys are not sensitive and can only be used normally to encrypt data for decryption by the corresponding private key.

      The next stage of the process is actually really complicated mathematics, but at a fundamental level, each side takes its own private key and the public key at the other side and uses this to derive what's known as the Diffie-Hellman key.

      This key is the same at both sides, but it's been independently generated.

      Now again, the maths is something that's well beyond this lesson, but it's at the core of how this phase of VPN works.

      And at this point, it's used to exchange other key material and agreements.

      This part you can think of as a negotiation.

      The result is that each side again independently uses this DH key plus the exchanged key material to generate a final phase one symmetrical key.

      This key is what's used to encrypt anything passing through a phase one tunnel known as the Ike Security Association.

      Now, if that process seems slow and heavy, that's because it is.

      It's both complex and in some ways simplistically elegant at the same time, but it means that both sides have the same symmetric key without that ever having to be passed between them.

      And the phase ends with this security association in place and this can be used at phase two.

      So let's talk about that next.

      So in phase two, we have a few things.

      First, a DH key on both sides and the same phase one symmetric key also on both sides.

      And then finally, the established phase one tunnel.

      During this phase, both of the peers are wanting to agree how the VPN itself will be constructed.

      The previous phase was about allowing this exchanging keys and allowing the peers to communicate.

      This phase, so Ike phase two, is about getting the VPN up and running, being in a position to encrypt data.

      So agreeing how, when and what.

      So the first part of this is that the symmetric key is used to encrypt and decrypt agreements and pass more key material between the peers.

      The idea is that one peer is informing the other about the range of cybersuits that it supports, basically encryption methods which it can perform.

      The other peer, in this example, the right one, will then pick the best shared one.

      So the best method which it also supports and it will let the left peer know.

      And this becomes the agreed method of communication.

      Next, the DH key and the key material exchanged above is used to create a new key, a symmetrical IP set key.

      This is a key which is designed for large-scale data transfer.

      It's an efficient and secure algorithm.

      And the specific one is based on the negotiation which happened above in steps one and two at this phase.

      So it's this key which is used for the encryption and decryption of interesting traffic across the VPN tunnel.

      Across each phase one tunnel, you actually have a pair of security associations.

      One from right to left and one from left to right.

      And these are the security associations which are used to transfer the data between networks at either side of a VPN.

      Now there are actually two different types of VPN which you need to understand.

      Policy-based VPNs and route-based VPNs.

      The difference is how they match interesting traffic.

      Remember, this is the traffic which gets sent over a VPN.

      So with policy-based VPNs, there are rules created which match traffic.

      And based on this rule, traffic is sent over a pair of security associations.

      One which is used for each direction of traffic.

      It means that you can have different rules for different types of traffic.

      Something which is great for more rigorous security environments.

      Now the other type of VPN are route-based VPNs.

      And these do target matching based on prefix.

      For example, send traffic for 192.168.0.0/24 over this VPN.

      With this type of VPN, you have a single pair of security associations for each network prefix.

      This means all traffic types between those networks use the same pair of security associations.

      Now this provides less functionality which is much simpler to set up.

      To illustrate the differences between route-based and policy-based VPNs, it's probably worth looking visually at the phase one and phase two architectures.

      Let's start with a simple route-based VPN.

      The phase one tunnel is established using a phase one tunnel key.

      Now assuming that we're using a route-based VPN, then a single pair of security associations is created.

      One in each direction using a single IPsec key.

      So this means that we have a pair of security associations, essentially a single phase two tunnel, running over the phase one tunnel.

      That phase two or IPsec tunnel, which is how we talk about the pair of security associations, can be dropped when there is no more interesting traffic and recreated again on top of the same phase one tunnel when new traffic is detected.

      But the key thing to understand is that there's one phase one tunnel running one phase two tunnel based on routes.

      Running a policy-based VPN is different.

      We still have the same phase one tunnel, but over the top of this, each policy match uses an SA pair with a unique IPsec key.

      And this allows us to have for the same network different security settings for different types of traffic.

      In this example, infrastructure at the top, CCTV in the middle and financial systems at the bottom.

      So policy-based VPNs are more difficult to configure, but do provide much more flexibility when it comes to using different security settings for different types of traffic.

      Now that, at a very high level, is how VPNs functions, so the security architecture, how everything interacts with everything else.

      But for now, that's everything that I wanted to cover.

      So go ahead and complete this video, and then when you're ready, I look forward to you joining me in the next.

    1. Welcome back in this video, I want to cover the differences between stateful and stateless firewalls.

      And to do that, I need to refresh your knowledge of how TCP and IP function.

      So let's just jump in and get started.

      In the networking fundamentals videos, I talk about how TCP and IP worked together.

      You might already know this if you have networking experience in the real world, but when you make a connection using TCP, what's actually happening is that each side is sending IP packets to each other.

      These IP packets have a source and destination IP, and are carried across local networks and the public internet.

      Now TCP is a layer 4 protocol which runs on top of IP.

      It adds error correction together with the idea of ports.

      So HTTP runs on TCP port 80 and HTTPS runs on TCP port 443 and so on.

      So keep that in mind as we continue talking about the state of connections.

      So let's say that we have a user here on the left, Bob, and he's connecting to the Categoram application running on a server on the right.

      What most people imagine in this scenario is a single connection between Bob's laptop and the server.

      So Bob's connecting to TCP port 443 on the server, and in doing so, he gets information back.

      In this case, many different cat images.

      Now you know that below the surface of layer 3, this single connection is handled by exchanging packets between the source and the destination.

      Conceptually though, you can imagine that each connection, in this case, is an outgoing connection from Bob's laptop to the server.

      Each one of these is actually made up of two different parts.

      First, we've got the request part where the client requests some information from the server, in this case on cat images, and then we have the response part where that data is returned to the client.

      Now these are both parts of the same interaction between the client and server, but strictly speaking, you can think of these as two different components.

      What actually happens as part of this connection setup is this.

      First, the client picks a temporary port, and this is known as an ephemeral port.

      Now typically this port has a value between 1024 and 65535, but this range is dependent on the operating system which Bob's laptop is using.

      Then once this ephemeral port is chosen, the client initiates a connection to the server using a well-known port number.

      Now a well-known port number is a port number which is typically associated with one specific popular application or protocol.

      In this case, TCP443 is HTTPS.

      So this is the request part of the connection.

      It's a stream of data to the server.

      You're asking for something, some cat pictures or a web page.

      Next, the server responds back with the actual data.

      The server connects back to the source IP of the request part, in this case Bob's laptop, and it connects to the source port of the request part, which is the ephemeral port which Bob's laptop has chosen.

      This part is known as the response.

      So the request is from Bob's laptop using an ephemeral port to a server using a well-known port.

      The response is from the server on that well-known port, but Bob's laptop on the ephemeral port.

      Now it's these values which uniquely identify a single connection.

      So that's a source port and source IP, and a destination IP, and a destination port.

      Now I hope that this makes sense so far.

      If not, then you need to repeat this first part of the video again, because this is really important to understand.

      If it does make sense, then let's carry on.

      Now let's look at this example in a little bit more detail.

      This is the same connection that we looked at on the previous screen.

      We have Bob's laptop on the left and a Caterpillar on the right.

      Obviously the left is the client and the right is the server.

      I also introduced the correct terms on the previous screen, so request and response.

      So the first part is the client talking to the server, asking for something, and that's the request, and the second part is the server responding, and that's the response.

      But what I want to get you used to is that the directionality depends on your perspective, and let me explain what I mean.

      So in this case, the client initiates the request, and I've added the IP addresses on here for both the client and the server.

      So what this means is the packets will be sent from the client to the server, and these will be flowing from left to right.

      These packets are going to have a source IP address of 119.18.36.73, which is the IP address of the client, so Bob's laptop, and they will have a destination IP of 1.3.3.7, which is the IP address of the server.

      Now the source port will be a temporary or ephemeral port chosen by the client, and the destination port will be a well-known port.

      In this case, we're using HTTPS, so TCP port 443.

      Now if I challenge you to take a quick guess, would you say that this request is outbound or inbound?

      If you had to pick, if you had to define a firewall rule right now, would you pick inbound or outbound?

      Well, this is actually a trick question, because it's both.

      From the client perspective, this request is an outbound connection.

      So if you're adding a firewall rule on the client, you would be looking to allow or deny an outbound connection.

      From the server perspective, though, it's an inbound connection, so you have to think about perspective when you're working with firewalls.

      But then we have the response part from the server through to the client.

      This will also be a collection of packets moving from right to left.

      This time, the source IP on those packets will be 1.3.3.7, which is the IP address of the server.

      The destination IP will be 119.18.36.73, which is the IP address of the client, so Bob's Laptop.

      The source port will be TCP port 443, which is the well-known port of HTTPS, and the destination port will be the ephemeral port chosen originally by the client.

      Now again, I want you to think about the directionality of this component of the communication.

      Is it outbound or inbound?

      Well, again, it depends on perspective.

      The server sees it as an outbound connection from the server to the client, and the client sees it as an inbound connection from the server to itself.

      Now, this is really important because there are two things to think about when dealing with firewall rules.

      The first is that each connection between a client and a server has two components, the request and the response.

      So the request is from a client to a server, and the response is from a server to a client.

      The response is always the inverse direction to the request.

      But the direction of the request isn't always outbound and isn't always inbound.

      It depends on what that data is together with your perspective.

      And that's what I want to talk about a bit more on the next screen.

      Let's look at this more complex example.

      We still have Bob and his laptop and the Catergram server, but now we have a software update server on the bottom left.

      Now, the Catergram server is inside a subnet which is protected by a firewall, and specifically, this is a stateless firewall.

      A stateless firewall means that it doesn't understand the state of connections.

      What this means is that it sees the request connection from Bob's laptop to Catergram, and the response of from a Catergram to Bob's laptop as two individual parts.

      You need to think about allowing or denying them as two parts.

      You need two rules.

      In this case, one inbound rule which is the request and one outbound rule for the response.

      This is obviously more management overhead.

      Two rules needed for each thing.

      Each thing which you as a human see as one connection.

      But it gets slightly more confusing than that.

      For connections to the Catergram server, so for example, when Bob's laptop is making a request, then that request is inbound to the Catergram server.

      The response, logically enough, is outbound, sending data back to Bob's laptop, but it's possible to have the inverse.

      Consider the situation where the Catergram server is performing software updates.

      Well, in this situation, the request will be from the Catergram server to the software update server, so outbound, and the response will be from the software update server to the Catergram server, so this is inbound.

      So when you're thinking about this, start with the request.

      Is the request coming to you or going to somewhere else?

      The response will always be in the reverse direction.

      So this situation also requires two firewall rules.

      One outbound for the request and one inbound for the response.

      Now, there are two really important points I want to make about stateless firewalls.

      First, for any servers where they accept connections and where they initiate connections, and this is common with web servers which need to accept connections from clients, but where they also need to do software updates.

      In this situation, you'll have to deal with two rules for each of these, and they will need to be the inverse of each other.

      So get used to thinking that outbound rules can be both the request and the response, and inbound rules can also be the request and the response.

      It's initially confusing, but just remember, start by determining the direction of the request, and then always keep in mind that with stateless firewalls, you're going to need an inverse rule for the response.

      Now, the second important thing is that the request component is always going to be to a well-known port.

      If you're managing the firewall for the Catergram application, you'll need to allow connections to TCP 443.

      The response, though, is always from the server to a client, but this always uses a random ephemeral port, because the firewall is stateless, it has no way of knowing which specific port is used for the response, so you'll often have to allow the full range of ephemeral ports to any destination.

      This makes security engineers uneasy, which is why stateful firewalls, which I'll be talking about next, are much better.

      Just focus on these two key elements that every connection has a request and a response, and together with those, keep in mind the fact that they can both be in either direction, so a request can be inbound or outbound, and a response will always be the inverse to the directionality of the request.

      Also, you'll need to keep in mind that any rules that you create for the response will need to often allow the full range of ephemeral ports.

      That's not a problem with stateful firewalls, which I want to cover next.

      So we're going to use the same architecture.

      We've got Bob's laptop on the top left, the Catergram server on the middle right, and the Software Update server on the bottom left.

      A stateful firewall is intelligent enough to identify the response for a given request, since the ports and IPs are the same, it can link one to the other, and this means that for a specific request to Catergram from Bob's laptop to the server, the firewall automatically knows which data is the response, and the same is true for software updates.

      For a given connection to a software update server, the request, the firewall is smart enough to be able to see the response or the return data from the software update server back to the Catergram server, and this means that with a stateful firewall, you'll generally only have to allow the request or not, and the response will be allowed or not automatically.

      This significantly reduces the admin overhead and the chance for mistakes, because you just have to think in terms of the directionality and the IPs and ports of the request, and it handles everything else.

      In addition, you don't need to allow the full ephemeral port range, because the firewall can identify which port is being used, and implicitly allow it, based on it being the response to a request that you allow.

      Okay, so that's how stateful and stateful firewalls work, and I know it's been a little bit abstract, but this has been intentional, because I want you to understand how they work, and sexually, before I go into more detail with regards to how AWS implements both of these different security firewall standards.

      Now, at this point, I've finished with the abstract descriptions, so go ahead and finish this video, and when you're ready, I'll look forward to you joining me in the next.

  6. inst-fs-iad-prod.inscloudgate.net inst-fs-iad-prod.inscloudgate.net
    1. We have a great national opportunity-to ensure that every child, in every school, is challenged by high standards, ... to build a culture of achievement that matches the optimism and aspirations of our country. -President George W

      Education really is the backbone of national development. When we set high standards and create a culture of achievement, we can change not just individual lives but also shape the future of our society. It’s exciting to think about how making quality education accessible to every child can help them reach their full potential, no matter where they come from. By aiming high and building a supportive environment, we can nurture a generation that’s not only ready for academic challenges but also has the skills and confidence to make a positive impact in their communities.

    2. Quality preschool, indi-vidual reading instruction, small classes in the early grades, and consistently challenging academic courses have been demonstrated to help disadvantaged children achieve, just as they enable middle-class children to achieve.

      From this statement, it definitely depends on the resources given to students, and that can predict their success. For those who don’t have access to these resources, it’s clear they might not do as well academically compared to those who do. In one of my education classes, we talked about how smaller classrooms with smaller student-to-teacher ratio can positively impact students' learning. Even now in college, when you have a class with 200 students to one professor, it’s so hard to actually engage with the professor or for them to even know who you are and understand your academic goals. This definitely emphasizes that can even come out to be the ratio of students compared to teachers.

    1. Louis XIV. Known as “the Sun King,” Louis XIV occupied the French throne for 72 years, from 1643 when he became emperor at age 4 after his father’s passing, to his death in 1715. By the 1680s, Louis had greatly improved France’s influence in the world and had increased the power of the monarchy

      It’s fascinating to think about how Louis XIV ruled for 72 years, especially since it’s so different from what we see today, where leaders don’t typically stay in power for that long. Starting at just 4 years old and still managing to strengthen France and the monarchy by the 1680s really shows how significant his reign was.

    1. Quote: "Ultimately, however, the role of sanctions and export controls now is to change the structure of Washington and its allies’ economic relationship with Russia, ensuring that whatever trade remains benefits the United States and Europe more than it benefits the Kremlin."

      Thoughts: I think in this part of the article the author is trying to finalize his piece by bringing us into his claim that the role of the counteractions done by the U.S. and EU on Russia is not neccesarily to escalate, deescalate, or make themselves stronger. It is just to make sure that when all the dust settles and all damage is done to both parties. Russia has suffered more relative to it's original place than the U.S. and EU have suffered relative to their original place. It's like a petty children's fight where they care more about how much they hurt the other one than how much they lost.

    2. "Sanctions and export controls can limit Russia’s ability to produce and develop advanced military equipment."

      Annotation #3: I never thought about how these sanctions can actually slow down Russia’s military development. It’s interesting because I always assumed sanctions just hurt the economy, but this could really change their ability to build weapons too. This gave me a new perspective on how economic moves like this can affect global military balance. It makes me think that over time, Russia’s military power could shrink, which ties back to our question about the long-term global effects.

    1. Old man with wrinkled female breasts

      Tiresias, who is supposed to transcend genders and signify absolute wisdom, still falls victim to a patriarchal order. In both The Metamorphoses of Ovid and Lempriere’s description, while Tiresias is both male and female, the readers get a sense that female is only his secondary sex. Despite his continuous switching between the two genders, the pronoun used for Tiresias never changes – it remains a “he.” In The Metamorphose of Ovid, even after Tiresias becomes a woman, the author states that “he” comes “upon the serpents.” Similarly, Lempriere describes Tiresias’s transformation as “he himself suddenly changed into a girl.” The use of both “he” and “himself” creates particular emphasis on his masculinity as his primary identity. It is further described as an “original sex,” suggesting an inherently secondary role of a female identity. Societal expectations force him into a binary framework and prioritize masculinity, reducing femininity to a secondary status.

      Eliot picks up on this binary notion and further builds off of it. He describes Tiresias as an “old man with wrinkled female breasts.” Tiresias’s male identity is absolute – he is a “man,” while his femininity becomes reduced to his “wrinkled female breasts” – a mere physical attribute. The use of “wrinkled” invokes a sense of a decay of and disdain for Tiresias’s femininity. While it does directly relate to aging and a sense of decay, wrinkles often appear by attempting to shrink or contract a substance. A symbol of Tiresias’s female identity, thus, becomes shrunken and diminished. Additionally, since wrinkles is a product of an external perception, the readers gain a sense that it is the patriarchal narrative that insists on prioritizing his masculine side. This description suggests that feminine identity is viewed as less valuable, condensed or even grotesque within the patriarchal lens.

      Furthermore, the shift from the more neutral term "breasts" to the more vulgar "dugs" in Eliot’s portrayal implies a degradation of femininity. According to Collins Dictionary, "dug" can be “used, vulgarly or contemptuously, of a woman's breast,” which reinforces the idea that Tiresias's feminine side is not only secondary but also viewed with disdain. Does Teresias feel a sense of contempt for his feminine side? Or, more likely, is it the external perception that belittles and disregards this femininity? In any case, Eliot uses this transition in terminology to underscore the tension between Tiresias’s dual identities.

      Eliot describes the existence of female identity within a patriarchal framework more directly when he describes a sexual assault of a female character, who, following the intercourse, thinks, “Well now that’s done and I am glad it’s over.” She resigns to these circumstances and the external influence makes her disregard her own agency. Just as Tiresias’s female identity becomes secondary and almost grotesque, the female character becomes a mere vessel of satisfaction for her partner. As a result of her submissiveness, her thoughts become detached. She is “hardly aware” of her lover’s departure, her thoughts are “half-formed” and her hand is “automatic.” These descriptions invoke an image of a dehumanized individual: she is stripped from the full consciousness and self-awareness of a human; instead, her movements and thoughts remind that of a lifeless robot. Within this binary system, both the feminine aspect of Tiresias and the female character's humanity are diminished under the weight of patriarchal dominance. Femininity and female identity become dismissed, dehumanized, and reduced to a mere tool for male satisfaction.

    1. bool __zone_watermark_ok(struct zone *z, unsigned int order, unsigned long mark, int highest_zoneidx, unsigned int alloc_flags, long free_pages) { long min = mark; int o; /* free_pages may go negative - that's OK */ free_pages -= __zone_watermark_unusable_free(z, order, alloc_flags); if (unlikely(alloc_flags & ALLOC_RESERVES)) { /* * __GFP_HIGH allows access to 50% of the min reserve as well * as OOM. */ if (alloc_flags & ALLOC_MIN_RESERVE) { min -= min / 2; /* * Non-blocking allocations (e.g. GFP_ATOMIC) can * access more reserves than just __GFP_HIGH. Other * non-blocking allocations requests such as GFP_NOWAIT * or (GFP_KERNEL & ~__GFP_DIRECT_RECLAIM) do not get * access to the min reserve. */ if (alloc_flags & ALLOC_NON_BLOCK) min -= min / 4; } /* * OOM victims can try even harder than the normal reserve * users on the grounds that it's definitely going to be in * the exit path shortly and free memory. Any allocation it * makes during the free path will be small and short-lived. */ if (alloc_flags & ALLOC_OOM) min -= min / 2; } /* * Check watermarks for an order-0 allocation request. If these * are not met, then a high-order request also cannot go ahead * even if a suitable page happened to be free. */ if (free_pages <= min + z->lowmem_reserve[highest_zoneidx]) return false; /* If this is an order-0 request then the watermark is fine */ if (!order) return true; /* For a high-order request, check at least one suitable page is free */ for (o = order; o < NR_PAGE_ORDERS; o++) { struct free_area *area = &z->free_area[o]; int mt; if (!area->nr_free) continue; for (mt = 0; mt < MIGRATE_PCPTYPES; mt++) { if (!free_area_empty(area, mt)) return true; } #ifdef CONFIG_CMA if ((alloc_flags & ALLOC_CMA) && !free_area_empty(area, MIGRATE_CMA)) { return true; } #endif if ((alloc_flags & (ALLOC_HIGHATOMIC|ALLOC_OOM)) && !free_area_empty(area, MIGRATE_HIGHATOMIC)) { return true; } } return false; }

      Algorithmic policy for memory allocation. Checks if there are enough free pages for an allocation request based on a watermark-based allocation policy criteria. Is is tone by checking the number of free pages in the zone to a threshold "mark".

    1. If someone is particular about the positions of items on a desk or in their home, it might just be that they’re meticulous, but it might also be that it’s a compulsion.
    1. As is wont to happen in culture, while we’re appropriately punishing the Cosby Show patriarch for his horrific misdeeds, the women around him are also being made to pay, this time literally.

      It is unfortunate that the act of an individual person can permanently taint the work of hundreds, directly affecting those around him who weren't even involved in the perpetrated crime. It is also unfortunate that in the process of trying to protect women, or any victims for a matter of fact, we unintentionally are harming them as well. In this case, it seems that the choice to pull the reruns of The Cosby Show was more of a publicity stunt instead of a legitimate attempt to protect the demographic most harmed by Bill Cosby's actions. They could have easily simply done something to his residual payments to prevent him from profiting off the work he worked in—not his work, he was simply just one of the many people that helped The Cosby Show become reality. This is why it's important to think thoroughly of the consequences an action may have on not just the perpetuator, but also the victims and other parties, directly or indirectly, involved.

    1. We can still recognise an artist’s work or achievements, but at the same time ensure they remain accountable for their actions. And we must not forget the survivors and their stories, which might also fall out of focus if an abuser is shunned and forgotten.

      I agree with this statement. The actions of the artist does not discredit the work that they have done, but they should still, and always be, held accountable for the harm they have done to others. Given the speed at which news changes nowadays, it’s common for individuals’ crimes to be overlooked and for them to regain their previous reputations. Violence is not excusable, no matter the individual and their identity, and it is important that we do not allow such actions to be 'normalized within the industry,' and if possible, not support such individuals directly.

    2. Protecting the reputation – and commercial value – of artists has been central to such tactics. Their success can be seen in the number of artists whose abuse has been described as an “open secret” continuing until the weight of evidence becomes overwhelming.

      The harm that has been done upon others, especially marginalized groups, is often overlooked if the products created from that harm produces profit. This is why it's important not to diminish anyone's story no matter how popular or reputable the other party is. This paragraph's last line also comments on the importance of power in groups, as the stories of other people allows for those with similar stories to be more confident and come out as well.

    3. sexual violence “sex”, or by blaming the victim for the violence they experienced

      The impact of language, especially in news articles, is blatantly clear. We get a lot of our information of the outside world from the news, and the first source of information we see and consume from these news articles are the headlines. These titles often introduce bias, either exaggerating or downplaying the content to attract readers and generate revenue, which is why it's important to also read the content of the article, and other articles, to fully grasp the situation the article is reporting on.

      This is particularly problematic in cases of sexual violence, where articles frequently minimize the severity of the crime and may even favor the abuser. The distinction between "sex" and "sexual violence" hinges on one important element: consent. This difference is significant. It's not uncommon for me to see articles that cover rape, not label what is rape as rape (a 'recent' case I could think of is the mass rape trial in France). The connotations of the words used shape our perceptions (e.g. words like dislike, hate, detest, loathe---we feel different things regarding each of these words even though they are often referred to as synonym of each other), influencing how we judge the seriousness of these incidents.

    1. Author response:

      The following is the authors’ response to the original reviews.

      Public Reviews:

      Reviewer #1 (Public Review):

      Summary:

      The overall analysis and discovery of the common motif are important and exciting. Very few human/primate ribozymes have been published and this manuscript presents a relatively detailed analysis of two of them. The minimized domains appear to be some of the smallest known self-cleaving ribozymes.

      Strengths:

      The manuscript is rooted in deep mutational analysis of the OR4K15 and LINE1 and subsequently in modeling of a huge active site based on the closely-related core of the TS ribozyme. The experiments support the HTS findings and provide convincing evidence that the ribozymes are structurally related to the core of the TS ribozyme, which has not been found in primates prior to this work.

      Weaknesses:

      (1) Given that these two ribozymes have not been described outside of a single figure in a Science Supplement, it is important to show their locations in the human genome, present their sequence and structure conservation among various species, particularly primates, and test and discuss the activity of variants found in non-human organisms. Furthermore, OR4K15 exists in three copies on three separate chromosomes in the human genome, with slight variations in the ribozyme sequence. All three of these variants should be tested experimentally and their activity should be presented. A similar analysis should be presented for the naturally-occurring variants of the LINE1 ribozyme. These data are a rich source for comparison with the deep mutagenesis presented here. Inserting a figure (1) that would show the genomic locations, directions, and conservation of these ribozymes and discussing them in light of this new presentation would greatly improve the manuscript. As for the biological roles of known self-cleaving ribozymes in humans, there is a bioRxiv manuscript on the role of the CPEB3 ribozyme in mammalian memory formation (doi.org/10.1101/2023.06.07.543953), and an analysis of the CPEB3 functional conservation throughout mammals (Bendixsen et al. MBE 2021). Furthermore, the authors missed two papers that presented the discovery of human hammerhead ribozymes that reside in introns (by de la PeÃ{plus minus}a and Breaker), which should also be cited. On the other hand, the Clec ribozyme was only found in rodents and not primates and is thus not a human ribozyme and should be noted as such.

      We thank this Reviewer for his/her input and acknowledgment of this work. To improve the manuscript, we have included the genomic locations in Figure 1A, Figure 6A and Figure 6C. And we have tested the activity of representative variants found in the human genome and discussed the activity of the variants in other primates. All suggested publications are now properly cited.

      Line 62-66: It has been shown that single nucleotide polymorphism (SNP) in CPEB3 ribozyme was associated with an enhanced self-cleavage activity along with a poorer episodic memory (14). Inhibition of the highly conserved CPEB3 ribozyme could strengthen hippocampal-dependent long-term memory (15, 16). However, little is known about the other human self-cleaving ribozymes.

      Line 474-501: Homology search of two TS-like ribozymes. To locate close homologs of the two TS-like ribozymes, we performed cmsearch based on a covariance model (38) built on the sequence and secondary structural profiles. In the human genome, we got 1154 and 4 homolog sequences for LINE-1-rbz and OR4K15-rbz, respectively. For OR4K15-rbz, there was an exact match located at the reverse strand of the exon of OR4K15 gene (Figure 6A). The other 3 homologs of OR4K15-rbz belongs to the same olfactory receptor family 4 subfamily K (Figure 6C). However, there was no exact match for LINE-1-rbz (Figure 6A). Interestingly, a total of 1154 LINE-1-rbz homologs were mapped to the LINE-1 retrotransposon according to the RepeatMasker (http://www.repeatmasker.org) annotation. Figure 6B showed the distribution of LINE-1-rbz homologs in different LINE-1 subfamilies in the human genome. Only three subfamilies L1PA7, L1PA8 and L1P3 (L1PA7-9) can be considered as abundant with LINE-1-rbz homologs (>100 homologs per family). The consensus sequences of all homologs obtained are shown in Figure 6D. In order to investigate the self-cleavage activity of these homologs, we mainly focused on the mismatches in the more conserved internal loops. The major differences between the 5 consensus sequences are the mismatches in the first internal loop. The widespread A12C substitution can be found in majority of LINE-1-rbz homologs, this substitution leads to a one-base pair extension of the second stem (P2) but almost no activity (RA’: 0.03) based on our deep mutational scanning result. Then we selected 3 homologs without A12C substitution for LINE-1-rbz for in vitro cleavage assay (Figure 6E). But we didn’t observe significant cleavage activity, this might be caused by GU substitutions in the stem region. For 3 homologs of OR4K15-rbz, we only found one homolog of OR4K15 with pronounced self-cleavage activity (Figure 6F). In addition, we performed similar bioinformatic search of the TS-like ribozymes in other primate genomes. Similarly, the majority (15 out of 18) of primate genomes have a large number of LINE-1 homologs (>500) and the remaining three have essentially none. However, there was no exact match. Only one homolog has a single mutation (U38C) in the genome assembly of Gibbon (Figure S15). The majority of these homologs have 3 or more mismatches (Figure S15). For OR4K15-rbz, all representative primate genomes contain at least one exact match of the OR4K15-rbz sequence.

      Line 598-602: According to the bioinformatic analysis result, there are some TS-like ribozymes (one LINE-1-rbz homolog in the Gibbon genome, and some OR4K15-rbz homologs) with in vitro cleavage activity in primate genomes. Unlike the more conserved CPEB3 ribozyme which has a clear function, the function of the TS-like ribozymes is not clear, as they are not conserved, belong to the pseudogene or located at the reverse strand.

      (2) The authors present the story as a discovery of a new RNA catalytic motif. This is unfounded. As the authors point out, the catalytic domain is very similar to the Twister Sister (or "TS") ribozyme. In fact, there is no appreciable difference between these and TS ribozymes, except for the missing peripheral domains. For example, the env33 sequence in the Weinberg et al. 2015 NCB paper shows the same sequences in the catalytic core as the LINE1 ribozyme, making the LINE1 ribozyme a TS-like ribozyme in every way, except for the missing peripheral domains. Thus these are not new ribozymes and should not have a new name. A more appropriate name should be TS-like or TS-min ribozymes. Renaming the ribozymes to lanterns is misleading.

      Although we observed some differences in mutational effects, we agree with the reviewer that it is more appropriate to call them TS-like ribozymes. We have replaced all “lantern ribozyme” with “TS-like ribozyme” as suggested.

      (3) In light of 2) the story should be refocused on the fact the authors discovered that the OR4K15 and LINE1 are both TS-like ribozymes. That is very exciting and is the real contribution of this work to the field.

      We thank this Reviewer for their acknowledgement of this work. To improve the manuscript, we have re-named the ribozymes as suggested.

      (4) Given the slow self-scission of the OR4K15 and LINE1 ribozymes, the discussion of the minimal domains should be focused on the role of peripheral domains in full-length TS ribozymes. Peripheral domains have been shown to greatly speed up hammerhead, HDV, and hairpin ribozymes. This is an opportunity to show that the TS ribozymes can do the same and the authors should discuss the contribution of peripheral domains to the ribozyme structure and activity. There is extensive literature on the contribution of a tertiary contact on the speed of self-scission in hammerhead ribozymes, in hairpin ribozyme it's centered on the 4-way junction vs 2-way junction structure, and in HDVs the contribution is through the stability of the J1/2 region, where the stability of the peripheral domain can be directly translated to the catalytic enhancement of the ribozymes.

      We appreciate your question and the valuable suggestions provided. We have included the citations and discussion about the peripheral domains in other ribozymes.

      Line 570-576: Thus, a more sophisticated structure along with long-range interactions involving the SL4 region in the twister sister ribozyme must have helped to stabilize the catalytic region for the improved catalytic activity. Similarly, previous studies have demonstrated that peripheral regions of hammerhead (49), hairpin (50) and HDV (51, 52) ribozymes could greatly increase their self-cleavage activity. Given the importance of the peripheral regions, absence of this tertiary interaction in the TS-like ribozyme may not be able to fully stabilize the structural form generated from homology modelling.

      (5) The argument that these are the smallest self-cleaving ribozymes is debatable. LÃ1/4nse et al (NAR 2017) found some very small hammerhead ribozymes that are smaller than those presented here, but the authors suggest only working as dimers. The human ribozymes described here should be analyzed for dimerization as well (e.g., by native gel analysis) particularly because the authors suggest that there are no peripheral domains that stabilize the fold. Furthermore, Riccitelli et al. (Biochemistry) minimized the HDV-like ribozymes and found some in metagenomic sequences that are about the same size as the ones presented here. Both of these papers should be cited and discussed.

      We apologize for any confusion caused by our previous statement. To clarify, we highlighted “35 and 31 nucleotides only” because 46 and 47 nt contain the variable hairpin loops which are not important for the catalytic activity. By comparing the conserved segments, the TS-like ribozyme discussed in this paper is the shortest with the simplest secondary structure. And we have replaced the terms “smallest” and “shortest” with “simplest” in our manuscript. The title has been changed to “Minimal twister sister (TS)-like self-cleaving ribozymes in the human genome revealed by deep mutational scanning”. All the publications mentioned have been cited and discussed. Regarding possible dimerization, we did not find any evidence but would defer it to future detailed structural analysis to be sure.  

      Line 605-608: Previous studies also have revealed some minimized forms of self-cleaving ribozymes, including hammerhead (19, 53) and HDV-like (54) ribozymes. However, when comparing the conserved segments, they (>= 36 nt) are not as short as the TS-like ribozymes (31 nt) found here.

      (6) The authors present homology modeling of the OR4K15 and LINE1 ribozymes based on the crystal structures of the TS ribozymes. This is another point that supports the fact that these are not new ribozyme motifs. Furthermore, the homology model should be carefully discussed as a model and not a structure. In many places in the text and the supplement, the models are presented as real structures. The wording should be changed to carefully state that these are models based on sequence similarity to TS ribozymes. Fig 3 would benefit from showing the corresponding structures of the TS ribozymes.

      We thank the reviewer for pointing these out and we have already fixed them. We have replaced all “lantern ribozyme” with “TS-like ribozyme” as suggested. The term “Modelled structures” were used for representing the homology model. And we have included the TS ribozyme structure in Fig 3.

      Reviewer #2 (Public Review):

      Summary:

      This manuscript applies a mutational scanning analysis to identify the secondary structure of two previously suggested self-cleaving ribozyme candidates in the human genome. Through this analysis, minimal structured and conserved regions with imminent importance for the ribozyme's activity are suggested and further biochemical evidence for cleavage activity are presented. Additionally, the study reveals a close resemblance of these human ribozyme candidates to the known self-cleaving ribozyme class of twister sister RNAs. Despite the high conservation of the catalytic core between these RNAs, it is suggested that the human ribozyme examples constitute a new ribozyme class. Evidence for this however is not conclusive.

      Strengths:

      The deep mutational scanning performed in this study allowed the elucidation of important regions within the proposed LINE-1 and OR4K15 ribozyme sequences. Part of the ribozyme sequences could be assigned a secondary structure supported by covariation and highly conserved nucleotides were uncovered. This enabled the identification of LINE-1 and OR4K15 core regions that are in essence identical to previously described twister sister self-cleaving RNAs.

      Weaknesses:

      I am skeptical of the claim that the described catalytic RNAs are indeed a new ribozyme class. The studied LINE-1 and OR4K15 ribozymes share striking features with the known twister sister ribozyme class (e.g. Figure 3A) and where there are differences they could be explained by having tested only a partial sequence of the full RNA motif. It appears plausible, that not the entire "functional region" was captured and experimentally assessed by the authors.

      We thank this Reviewer for his/her input and acknowledgment of this work. Because a similar question was raised by reviewer 1, we decided to name the ribozymes as TS-like ribozymes. Regarding the entire regions, we conducted mutational scanning experiments at the beginning of this study. The relative activity distributions (Figure 1B, 1C) have shown that only parts of the sequence contributes to the self-cleavage activity. That is the reason why we decided to focus on the parts of the sequence afterwards.

      They identify three twister sister ribozymes by pattern-based similarity searches using RNA-Bob. Also comparing the consensus sequence of the relevant region in twister sister and the two ribozymes in this paper underlines the striking similarity between these RNAs. Given that the authors only assessed partial sequences of LINE-1 and OR4K15, I find it highly plausible that further accessory sequences have been missed that would clearly reveal that "lantern ribozymes" actually belong to the twister sister ribozyme class. This is also the reason I do not find the modeled structural data and biochemical data results convincing, as the differences observed could always be due to some accessory sequences and parts of the ribozyme structure that are missing.

      We appreciate the reviewer for raising this question. As we explained in the last question, we now called the ribozymes as TS-like ribozymes. We also emphasize that the relative activity data of the original sequences have indicated that the other part did not make any contribution to the activity of the ribozyme. The original sequences provided in the Science paper (Salehi-Ashtiani et al. Science 2006) were generated from biochemical selection of the genomic library. It did not investigate the contribution of each position to the self-cleavage activity.

      Highly conserved nucleotides in the catalytic core, the need for direct contacts to divalent metal ions for catalysis, the preference of Mn2+ oder Mg2+ for cleavage, the plateau in observed rate constants at ~100mM Mg2+, are all characteristics that are identical between the proposed lantern ribozymes and the known twister sister class.

      The difference in cleavage speed between twister sister (~5 min-1) and proposed lantern ribozymes could be due to experimental set-up (true single-turnover kinetics?) or could be explained by testing LINE-1 or OR4K15 ribozymes without needed accessory sequences. In the case of the minimal hammerhead ribozyme, it has been previously observed that missing important tertiary contacts can lead to drastically reduced cleavage speeds.

      We thank the reviewer for this question. We now called the ribozymes as TS-like ribozymes. As we explained in the last question, the relative activity data of the original sequences have proven that the other part did not make any contribution to the activity of the ribozyme. Moreover, we have tested different enzyme to substrate ratios to achieve single turn-over kinetics (Figure S13). The difference in cleavage speed should be related to the absence of peripheral regions which do not exist in the original sequences of the LINE-1 and OR4K15 ribozyme. We have included the publications and discussion about the peripheral domains in other ribozymes.

      Line 458-463: The kobs of LINE-1-core was ~0.05 min-1 when measured in 10mM MgCl2 and 100mM KCl at pH 7.5 (Figure S13). Furthermore, the single-stranded ribozymes exhibited lower kobs (~0.03 min-1 for LINE-1-rbz) (Figure S14) when comparing with the bimolecular constructs. This confirms that the stem loop region SL2 does not contribute much to the cleavage activity of the TS-like ribozymes.

      Line 570-576: Thus, a more sophisticated structure along with long-range interactions involving the SL4 region in the twister sister ribozyme must have helped to stabilize the catalytic region for the improved catalytic activity. Similarly, previous studies have demonstrated that peripheral regions of hammerhead (49), hairpin (50) and HDV (51, 52) ribozymes could greatly increase their self-cleavage activity. Given the importance of the peripheral regions, absence of this tertiary interaction in the TS-like ribozyme may not be able to fully stabilize the structural form generated from homology modelling.

      Reviewer 2: ( Recommendations For The Authors):

      Major points

      It would have made it easier to connect the comments to text passages if the submitted manuscript had page numbers or even line numbers.

      We thank the reviewer for pointing this out and we have already fixed it.

      In the introduction: "...using the same technique, we located the functional and base-pairing regions of..." The use of the adjective functional is imprecise. Base-paired regions are also important for the function, so what type of region is meant here? Conserved nucleotides?

      We thank the reviewer for pointing this out. We were describing the regions which were essential for the ribozyme activity. And we have defined the use of “functional region” in introduction.

      Line 95: we located the regions essential for the catalytic activities (the functional regions) of LINE-1 and OR4K15 ribozymes in their original sequences.

      In their discussion, the authors mention the possible flaws in their 3D-modelling in the absence of Mg2+. Is it possible to include this divalent metal ion in the calculations?

      We thank the reviewer for this question. Currently, BriQ (Xiong et al. Nature Communications 2021) we used for modeling doesn’t include divalent metal ion in modeling.

      Xiong, Peng, Ruibo Wu, Jian Zhan, and Yaoqi Zhou. 2021. “Pairing a High-Resolution Statistical Potential with a Nucleobase-Centric Sampling Algorithm for Improving RNA Model Refinement.” Nature Communications 12: 2777. doi:10.1038/s41467-021-23100-4.

      Abstract:

      It is claimed that ribozyme regions of 46 and 47 nt described in the manuscript resemble the shortest known self-cleaving ribozymes. This is not correct. In 1988, hammerhead ribozymes in newts were first discovered that are only 40 nt long.

      We apologize for any confusion caused by our previous statement. To clarify, we highlighted “35 and 31 nucleotides only” as 46 and 47 nt contain the variable hairpin loops which are not important for the catalytic activity. By comparing the conserved segments, the TS-like ribozyme discussed in this paper is the shortest with the simplest secondary structure. And we have replaced the terms “smallest” and “shortest” with “simplest” in our manuscript. The title has been changed to “Minimal TS-like self-cleaving ribozyme revealed by deep mutational scanning”.

      The term "functional region" is, to my knowledge, not a set term when discussing ribozymes. Does it refer to the catalytic core, the cleavage site, the acid and base involved in cleavage, or all, or something else? Therefore, the term should be 1) defined upon its first use in the manuscript and 2) probably not be used in the abstract to avoid confusion to the reader.

      We apologize for any confusion caused by our previous statement. To clarify, we have changed the term “functional region” in abstract. And we have defined the use of “functional region” in introduction.

      Line 34-37: We found that the regions essential for ribozyme activities are made of two short segments, with a total of 35 and 31 nucleotides only. The discovery makes them the simplest known self-cleaving ribozymes. Moreover, the essential regions are circular permutated with two nearly identical catalytic internal loops, supported by two stems of different lengths.

      Line 95: we located the regions essential for the catalytic activities (the functional regions) of LINE-1 and OR4K15 ribozymes in their original sequences.

      The choice of the term "non-functional loop" in the abstract is a bit unfortunate. The loop might not be important for promoting ribozyme catalysis by directly providing, e.g. the acid or base, but it has important structural functions in the natural RNA as part of a hairpin structure.

      We thank the reviewer for pointing this out and we have re-phrased the sentences.

      Line 33-34: We found that the regions essential for ribozyme activities are made of two short segments, with a total of 35 and 31 nucleotides only.

      Line 283: Removing the peripheral loop regions (Figures 1B and 1C) allows us to recognize that the secondary structure of OR4K15-rbz is a circular permutated version of LINE-1-rbz.

      Results:

      Please briefly explain CODA and MC analysis when first mentioned in the results (Figure (1) The more detailed explanation of these terms for Figure 2 could be moved to this part of the results section (including explanations in the figure legend).

      We thank the reviewer for pointing this out and we included a brief explanation.

      Line 150-154: CODA employed Support Vector Regression (SVR) to establish an independent-mutation model and a naive Bayes classifier to separate bases paired from unpaired (26). Moreover, incorporating Monte-Carlo simulated annealing with an energy model and a CODA scoring term (CODA+MC) could further improve the coverage of the regions under-sampled by deep mutations.

      Please indicate the source of the human genomic DNA. Is it a patient sample, what type of tissue, or is it an immortalized cell line? It is not stated in the methods I believe.

      We thank the reviewer for pointing this out. According to the original Science paper (Salehi-Ashtiani et al. Science 2006), the human genomic DNA (isolated from whole blood) was purchased from Clontech (Cat. 6550-1). In our study, we directly employed the sequences provided in Figure S2 of the Science paper for gene synthesis. Thus, we think it is unnecessary to mention the source of genomic DNA in the methods section of our paper.  

      Please also refer to the methods section when the calculation of RA and RA' values is explained in the main text to avoid confusion.

      We thank the reviewer for pointing this out and we have fixed it.

      Line 207-208: Figure 2A shows the distribution of relative activity (RA’, measured in the second round of mutational scanning) (See Methods) of all single mutations

      For OR4K15 it is stated that the deep mutational scanning only revealed two short regions as important. However, there is another region between approx. 124-131 nt and possibly even at positions 47 and 52 (to ~55), that could contribute to effective RNA cleavage, especially given the library design flaws (see below) and the lower mutational coverage for OR4K15. A possible correlation of the mutations in these regions is even visible in the CODA+MC analysis shown in Figure 1D on the left. Why are these regions ignored in ongoing experiments?

      We thank the reviewer for this question. As shown in Table S1, although the double mutation coverage of OR4K15-ori was low (16.2 %), we got 97.6 % coverage of single mutations. The relative activity of these single mutations was enough to identify the conserved regions in this ribozyme. Mutations at the positions mentioned by the reviewer did not lead to large reductions in relative activity. Since the relative activity of the original sequence is 1, we presumed that only positions with average relative activity much lower than 1 might contribute to effective cleavage.

      Regarding the corresponding correlation of mutations in CODA+MC, they are considered as false positives generated from Monte Carlo simulated annealing (MC), because lack of support from the relative activity results.

      Have the authors performed experiments with their "functional regions" in comparison to the full-length RNA or partial truncations of the full-length RNA that included, in the case of OR4K15, nt 47-131? Also for LINE-1 another stem region was mentioned (positions 14-18 with 30-34) and two additional base pairs. Were they included in experiments not shown as part of this manuscript?

      We appreciate the reviewer for raising this question. We only compared the full-length or partial truncations of the LINE-1 ribozyme. Since the secondary structure predicted from OR4K15-ori data was almost the same as LINE-1, we didn’t perform deep mutagenesis on the partial truncation of the OR4K15. However, the secondary structure of OR4K15 was confirmed by further biochemical experiments.   

      Regarding the second question, the additional base pairs were generated by Monte Carlo simulated annealing (MC). They are considered as false positives because of low probabilities and lack of support from the deep mutational scanning results. The appearance of false positives is likely due to the imperfection of the experiment-based energy function employed in current MC simulated annealing. 

      Are there other examples in the literature, where error-prone PCR generates biases towards A/T nucleotides as observed here? Please cite!

      We thank the reviewer for pointing this out and we have included the corresponding citation.

      Line 161-162: The low mutation coverage for OR4K15-ori was due to the mutational bias (27, 28) of error-prone PCR (Supplementary Figures S1, S2, S3 and S4).

      Line 170-171: whose covariations are difficult to capture by error-prone PCR because of mutational biases (27, 28).

      The authors mention that their CODA analysis was based on the relative activities of 45,925 and 72,875 mutation variants. I cannot find these numbers in the supplementary tables. They are far fewer than the read numbers mentioned in Supplementary Table 2. How do these numbers (45,925 and 72,875) arise? Could the authors please briefly explain their selection process?

      We apologize for any confusion caused by our previous statement. Our CODA analysis only utilized variants with no more than 3 mutations. The number listed in the supplementary tables is the total number of the variants. To clarify, we have included a brief explanation for these numbers.

      Line 203-204: We performed the CODA analysis (26) based on the relative activities of 45,925 and 72,875 mutation variants (no more than 3 mutations) obtained for the original sequence and functional region of the LINE-1 ribozyme, respectively.

      What are the reasons the authors assume their findings from LINE-1 can be used to directly infer the structure for OR4K15? (Third section in results, last paragraph)

      We apologize for any confusion caused by our previous statement. We meant to say that the consistency between LINE-1-rbz and LINE-1-ori results suggested that our method for inferring ribozyme structure was reliable. Thus, we employed the same method to infer the structure of the functional region of OR4K15. To clarify, we have re-phrased the sentence.   

      Line 259-261: The consistent result between LINE-1-rbz and LINE-1-ori suggested that reliable ribozyme structures could be inferred by deep mutational scanning. This allowed us to use OR4K15-ori to directly infer the final inferred secondary structure for the functional region of OR4K15.

      There are several occasions where the authors use the differences between the proposed lantern ribozymes and twister sister data as reasons to declare LINE-1 and OR4K15 a new ribozyme class. As mentioned previously, I am not convinced these differences in structure and biochemical results could not simply result from testing incomplete LINE-1 and OR4K15 sequences.

      We apologize for any confusion caused by our previous statement. Despite we observed some differences in mutational effects, we agree with the reviewer that it is not convincing to claim them as a new ribozyme class. We have replaced all “lantern ribozyme” with “TS-like ribozyme” as the reviewer 1 suggested.

      The authors state, that "the result confirmed that the stem loop SL2 region in LINE-1 and OR4K15 did not participate in the catalytic activity". To draw such a conclusion a kinetic comparison between a construct that contains SL2 and does not contain SL2 would be necessary. The given data does not suffice to come to this conclusion.

      We appreciate the reviewer for raising this question. To address this, we performed gel-based kinetic analysis of these two ribozymes (Figure S14).

      Line 458-462: The kobs of LINE-1-core under single-turnover condition was ~0.05 min-1 when measured in 10mM MgCl2 and 100mM KCl at pH 7.5 (Figure S13). Only a slightly lower value of  kobs (~0.03 min-1) was observed for LINE-1-rbz (Figure S14). This confirms that the stem loop region SL2 does not contribute to the cleavage activity of the TS-like ribozymes.

      Construct/Library design:

      The last 31 bp in the OR4K15 ribozyme template sequence are duplicated (Supplementary Table 4). Therefore, there are 2 M13 fwd binding sites and several possible primer annealing sites present in this template. This could explain the lower yield for the mutational analysis experiments. Did the authors observe double bands in their PCR and subsequent analysis? The experiments should probably be repeated with a template that does not contain this duplication. Alternatively, the authors should explain, why this template design was chosen for OR4K15.

      We apologize for this mistake during writing. Our construct design for OR4K15 contains only one M13F binding site. We thank the reviewer for pointing this out and we have fixed the error.

      Figure 5B: Where are the bands for the OR4K15 dC-substrate? They are not visible on the gel, so one has to assume there was no substrate added, although the legend indicates otherwise.

      Also this figure, please indicate here or in the methods section what kind of marker was used. In panels A and B, please label the marker lanes.

      We apologize for this mistake and we have repeated the experiment. The marker lane was removed to avoid confusion caused by the inappropriate DNA marker. 

      The authors investigated ribozyme cleavage speeds by measuring the observed rate constants under single-turnover conditions. To achieve single-turnover conditions enzyme has to be used in excess over substrate. Usually, the ratios reported in the literature range between 20:1 (from the authors citation list e.g.: for twister sister (Roth et al 2014) and hatchet (Li et al. 2015)) or even ~100:1 (for pistol: Harris et al 2015, or others https://www.sciencedirect.com/science/article/pii/S0014579305002061). Can the authors please share their experimental evidence that only 5:1 excess of enzyme over the substrate as used in their experiments truly creates single-turnover conditions?

      We greatly appreciate the Reviewer for raising this question. To address this, we performed kinetic analysis using different enzyme to substrate ratios (Figure S13). There is not too much difference in kobs, except that kobs reach the highest value of 0.048 min-1 when using 100:1 excess of enzyme over the substrate. 

      Line 458-460: The kobs of LINE-1-core under single-turnover condition was ~0.05 min-1 when measured in 10mM MgCl2 and 100mM KCl at pH 7.5 (Figure S13).

      Citations:

      In the introduction citation number 12 (Roth et al 2014) is mentioned with the CPEB3 ribozyme introduction. This is the wrong citation. Please also insert citations for OR4K15 and IGF1R and LINE-1 ribozyme in this sentence.

      We thank the reviewer for pointing this out and we now have fixed it.

      Also in the introduction, a hammerhead ribozyme in the 3' UTR of Clec2 genes is mentioned and reference 16 (Cervera et al 2014) is given, I think it should be reference 9 (Martick et al 2008)

      We thank the reviewer for pointing this out and we now have fixed it.

      In the results section it is stated that, "original sequences were generated from a randomly fragmented human genomic DNA selection based biochemical experiment" citing reference 12. This is the wrong reference, as I could not find that Roth et al 2014 describe the use of such a technique. The same sentence occurs in the introduction almost verbatim (see also minor points).

      We thank the reviewer for pointing this out and we now have fixed it.

      Minor points

      Headline:

      Either use caps for all nouns in the headline or write "self-cleaving ribozyme" uncapitalized

      We thank the reviewer for pointing this out and we now have fixed it.

      Abstract:

      1st sentence: in "the" human genome

      "Moreover, the above functional regions are..." - the word "above" could be deleted here

      "named as lantern for their shape"- it should be "its shape"

      "in term of sequence and secondary structure"- "in terms"

      "the nucleotides at the cleavage sites" - use singular, each ribozyme of this class has only one cleavage site

      We thank the reviewer for pointing these out and we now have fixed them.

      Introduction:

      Change to "to have dominated early life forms"

      Change to "found in the human genome"

      Please write species names in italics (D. melanogaster, B. mori)

      Please delete "hosting" from "...are in noncoding regions of the hosting genome"

      Please delete the sentence fragment/or turn it into a meaningful sentence: "Selection-based biochemical experiments (12).

      Change to "in terms of sequence and secondary structure, suggesting a more"

      Please reword the last sentence in the introduction to make clear what is referred to by "its", e.g. probably the homology model of lantern ribozyme generated from twister sister ribozymes?

      Please refer to the appropriate methods section when explaining the calculation of RA and RA'.

      We thank the reviewer for pointing these out and we now have fixed them.

      The last sentence of the second paragraph in the second section of the results states that the authors confirmed functional regions for LINE-1 and OR4K15, however, until that point the section only presents data on LINE-1. Therefore, OR4K15 should not be mentioned at the end of this paragraph.

      In response to the reviewer's suggestions, we have removed OR4K15 from this paragraph.

      Line 225-228: The consistency between base pairs inferred from deep mutational scanning of the original sequences and that of the identified functional regions confirmed the correct identification of functional regions for LINE-1 ribozyme.

      Change to "Both ribozymes have two stems (P1, P2), to internal loops ..."

      We thank the reviewer for pointing this out and we now have fixed it.

      The section naming the "functional regions" of LINE-1 and OR4K15 lantern ribozymes should be moved after the section in which the circular permutation is shown and explained. Therefore, the headline of section three should read "Consensus sequence of LINE-1 and OR4K15 ribozymes" or something along these lines.

      We thank the reviewer for pointing this out and we now have fixed it.

      Line 308-309: Given the identical lantern-shaped regions of the LINE-1-rbz and OR4K15-rbz ribozyme, we named them twister sister-like (TS-like) ribozymes.

      The statement on the difference between C8 in OR4K15 and U38 in LINE-1 should be further classified. As U38 is only 95% conserved. Is it a C in those other instances or do all other nucleotide possibilities occur? Is the high conservation in OR4K15 an "artifact" of the low mutation rate for this RNA in the deep mutational scanning?

      We thank the reviewer for this question. Yes, the high conservation in OR4K15 an "artifact" of the low mutation rate for this RNA in the deep mutational scanning. That is why RA’ value is more appropriate to describe the conservation level of each position. We also mentioned this in the manuscript:

      Line 287-288: The only mismatch U38C in L1 has the RA’ of 0.6, suggesting that the mismatch is not disruptive to the functional structure of the ribozyme.

      Section five, first paragraph: instead of "two-stranded LINE-1 core" use the term "bimolecular", as it is more commonly used.

      We thank the reviewer for pointing this out and we now have changed it.

      Figure caption 3 headline states "Homology modelled 3D structure..."but it also shows the secondary structures of LINE1, OR4K15 and twister sister examples.

      We thank the reviewer for pointing this out and we now have removed “3D”.

      In Figure 3C, we see a nucleobase labeled G37, however in the secondary structure and sequence and 3D structural model there is a C37 at this position. Please correct the labeling.

      We thank the reviewer for pointing this out and we now have fixed it.

      Section 7 "To address the above question..." please just repeat the question you want to address to avoid any confusion to the reader.

      We thank the reviewer for pointing these out and we have re-phrased this sentence.

      Line 364: Considering the high similarity of the internal loops, we further investigated the mutational effects on the internal loop L1s.

      Please rephrase the sentence "By comparison, mutations of C62 (...) at the cleavage site did not make a major change on the cleavage activity...", e.g. "did not lead to a major change" etc.

      Section 8, first paragraph: This result further confirms that the RNA cleavage in lantern...", please delete "further"

      Change to "analogous RNAs that lacked the 2' oxygen atom in the -1 nucleotide"

      Methods

      Change to "We counted the number of reads of the cleaved and uncleaved..."

      Change to "...to produce enough DNA template for in vitro transcription."

      Change to "The DNA template used for transcription was used..." (delete while)

      We thank the reviewer for pointing these out and we now have fixed them.

      Supplement

      All supplementary figures could use more detailed Figure legends. They should be self-explanatory.

      Fig S1/S2: how is "mutation rate" defined/calculated?

      We thank the reviewer for pointing this out and we now have added a short explanation. The mutation rate was calculated as the proportion of mutations observed at each position for the DNA-seq library.

      Fig S3/S4: axis label "fraction", fraction of what? How calculated?

      We thank the reviewer for pointing this out and we now have added a short explanation. The Y axis “fraction” represents the ratio of each mutation type observed in all variants.

      Fig S5: RA and RA' are mentioned in the main text and methods, but should be briefly explained again here, or it should be clearly referred to the methods. Also, the axis label could be read as average RA' divided by average RA. I assume that is not the case. I assume I am looking at RA' values for LINE-1 rbz and RA values for LINE-1-ori? Also, mention that only part of the full LINE-1-ori sequence is shown...

      We thank the reviewer for pointing this out and we have now added a short explanation. The Y axis represents RA’ for LINE-1-rbz, or RA for LINE-1-ori. The part shown is the overlap region between LINE-1-rbz and LINE-1-ori. We apologize for any confusion caused by our previous statement.

      Fig S9 the magenta for coloring of the scissile phosphate is hard to see and immediately make out.

      We thank the reviewer for pointing this out and we now have added a label to the scissile phosphate.

      Fig S10: Why do the authors only show one product band here? Instead of both cleavage fragments as in Figure 5?

      We thank the reviewer for this question. We purposely used two fluorophores (5’ 6-FAM, 3’ TAMRA) to show the two product bands in Figure 5. In Fig S10, long-time incubation was used to distinguish catalysis based self-cleavage from RNA degradation. This figure was prepared before the purchasing of the substrate used in Figure 5. The substrate strand used in Fig S10 only have one fluorophore (5’ 6-FAM) modification. And the other product was too short to be visualized by SYBR Gold staining.

      Fig S13: please indicate meaning of colors in the legend (what is pink, blue, grey etc.)

      Please change to "RtcB ligase was used to capture the 3' fragment after cleavage...."

      We thank the reviewer for pointing this out and we now have fixed it.

    1. Nevertheless, I liked WandaVision. Through the first three episodes, the Marvel mythology recedes even as it provides enough stakes and structure to keep the old-timey sitcom riffs from having to shoulder the series. Over the years there have been all sorts of attempts to bring back the laugh-track sitcom, but WandaVision is more successful than most of them (I know, knock me over with a feather) because it’s all icing on the cake—the cake actually being the grim and complex Marvel mythology and backstory. Even as many of the show’s details are doing double duty as hints and feints—Kathryn Hahn’s nosy neighbor isn’t just a brash character cracking endless jokes at her husband’s expense, she’s probably someone else; the commercials that talk so much about being in and out of time are presumably hinting at some big themes—but it’s more interested in the sitcom as a sitcom than it has to be. Its sendup of the way sitcoms have historically hidden real pregnancies or the way they characterize Black neighbors are observations unto themselves, and just not there to further the master plot.

      The writer informs us of how the sitcom is structured. She proves here what makes the sitcom different from a traditional marvel. This information further supports her main idea.

    1. Reviewer #1 (Public review):

      Summary:

      Arman Angaji and his team delved into the intricate world of tumor growth and evolution, utilizing a blend of computer simulations and real patient data from liver cancer.

      Strengths:

      Their analysis of how mutations and clones are distributed within tumors revealed an interesting finding: tumors don't just spread from their edges as previously believed. Instead, they expand both from within and the edges simultaneously, suggesting a unique growth mode. This mode naturally indicates that external forces may play a role in cancer cells dispersion within the tumor. Moreover, their research hints at an intriguing phenomenon - the high death rate of progenitor cells and extremely slow pace in growth in the initial phase of tumor expansion. Understanding this dynamic could significantly impact our comprehension of cancer development.

      Weaknesses:

      It's important to note, however, that this study relies on specific computer models, metrics derived from inferred clones, and a limited number of patient data. While the insights gained are promising, further investigation is essential to validate these findings. Nonetheless, this work opens up exciting avenues for comprehending the evolution of cancers.

      Comments on revised submission:

      The authors have effectively addressed my concerns. This revision is excellent.

    2. Author response:

      The following is the authors’ response to the original reviews.

      Public reports:

      In the public reports there is only one point we would like to discuss. It concerns our use of a computational model to analyse spatial tumour growth. Citing from the eLife assessment, which reflects several comments of the referees:

      The paper uses published data and a proposed cell-based model to understand how growth and death mechanisms lead to the observed data. This work provides an important insight into the early stages of tumour development. From the work provided here, the results are solid, showing a thorough analysis. However, the work has not fully specified the model, which can lead to some questions around the model’s suitability.

      The observables we use to determine the (i) growth mode and the (ii) dispersion of cells are modelindependent. The method to determine the (iii) rate of cell death does not use a spatial model. Throughout, our computational model of spatial growth is not used to analyze data. Instead, it is used to check that the observables we use can actually discriminate between different growth modes given the limitations of the data. We have expanded the description of the computational model in the revised version, and have released our code on Github. However, the conclusions we reach do not rely on a computational model. Instead, where we estimate parameters, we use population dynamics as described in section S5. The other observables are parameter free and model-independent. We view this as a strength of our approach.

      Recommendations for the authors:

      Reviewer #1:

      (1.1) In Figure 1, the data presented by Ling et al. demonstrate a distinctive “comb” pattern. While this pattern diverges from the conventional observations associated with simulated surface growth, it also differs from the simulated volume growth pattern. Is this discrepancy attributable to insufficient data? Alternatively, could the emergence of such a comb-like structure be feasible in scenarios featuring multiple growth centers, wherein clones congregate into spatial clusters?

      We are unsure what you are referring to. One possibility is you refer to the honey-comb structure formed by the samples of the Ling et al. data shown in Fig. 1A of the main text. This is an artefact arising from the cutting of the histological cut into four quadrants, see Fig. S1 in the SI of Ling et al. The perceived horizontal and vertical “white lines” in our Fig. 1A stems from the lack of samples near the edges of these quadrants. We have added this information to the figure caption.

      An alternative is you are referring to the peaks in Fig 2A of the main text. The three of these peaks indeed stem from individual clones. We have placed additional figures in the SI (S2 B and S2 C) to disentangle the contribution from different clones. The peaks have a simple explanation: each clone contributes the same weight to the histogram. If a clone only has few offspring, this statistical weight is concentrated on a few angles only, see SI Figure S2 B.

      (1.2) I am not sure why there are two sections about “Methods” in the main text: Line 50 as well as Line 293. Furthermore, the methods outlined in the main paper lack the essential details necessary for readers to navigate through the critical aspects of their analysis. While these details are provided in the Supplementary Information, they are not adequately referenced within the methods section of the main text. I would recommend that the authors revise the method sections of the main text to include pertinent descriptions of key concepts or innovations, while also directing readers to the corresponding supplementary method section for further elucidation.

      We have merged the Section “Materials and Methods” at the end of the main text with the SI description of the data in SI 4.2 and placed a reference to this material in the main body.

      (1.3) The impact of the particular push method (proposed in the model) on the resultant spatial arrangement of clones remains unclear. For instance, it’s conceivable that employing a different pushing method (for example, with more strict constraints on direction) could yield a varied pattern of spatial diversity. Furthermore, there is ambiguity regarding the criteria for determining the sequence of the queue housing overlapping cells.

      Regarding the off-lattice dynamics we use, there are indeed many variants one could use. In nonexhaustive trials, we found that the details of the off-lattice dynamics did not affect the results. The reason may be that at each computational step, each cell only moves a very small amount, and differences in the dynamics tend to average out over time.

      We deliberately do not give constraints on the direction. Such constraints emerge in lattice-based models (when preferred directions arise from the lattice symmetry), but these are artifacts of the lattice.

      At cell division the offspring is placed in a random direction next to the parent regardless of whether this introduces an overlap. Cells then push each other along the axis connecting their two centers of mass – unlike in lattice based models a sequence of pushes does not propagate through the tumor straight away but sets off of a cascade of pushes. Equal pushing of two cells (i.e. two initial displacements as opposed to pushing one of the two) results in the same patterns of directed, low dispersion surface and undirected, high dispersion volume growth but is much harder computationally as it reintroduces overlaps that have been resolved in the previous step.

      We have rewritten the description of the pushing queue in the SI Section 1. The choice of the pushing sequence is somewhat arbitrary but we found that it also has no noticable effect on the growth mode. Maybe putting it in contrast to depth-first approaches helps to illustrate this: We tried two queueing schemes for iterating through overlapping cells, width-first and depth-first. In both cases, we begin by scanning a given cell’s (the root’s) neighborhood for overlaps and shuffle the list of overlapping neighbours. In a width-first approach we then add this list to the queue. Subsequent iterations append their lists of overlapping cells to the queue, such that we always resolve overlaps within the neighborhood of the root first. A depth-first approach follows a sequence of pushes by immediately checking a pushed cell’s neighborhood for new overlaps and adding these to the front of the queue (which works more like a stack then). This can be efficiently implemented by recursion but has no noticeable performance advantage and results in the same patterns of directed, low dispersion surface and undirected, high dispersion volume growth. In our opinion the width-first approach of first resolving overlaps in the immediate neighborhood is more intuitive, which is why we adopted it for our simulation model.

      (1.4) For the example presented in S5.1, how can the author identify from genomic data that mutation 3 does not replace its ancestral clade mutation 2? In other words, if mutation 2, 3 and 4 are linked meaning clone 4 survives but 2 and 3 dies, how does one know if clone 3 dies before clone 2? I understand that this is a conceptual example, but if one cannot identify this situation from the real data, how can the clade turnover be computed?

      Thank you for this comment, which points to an error of ours in the turnover example of the SI: Clade 3 does in fact replace 2 and contributes to the turnover! (The algorithm correctly annotated clade 3 as orphaned and computes a turnover of 3/15 for this example). We have corrected this.

      In this example, it does not matter for the clade turnover whether clone 3 dies before clone 2. As long as its ancestor (clone 2) becomes extinct it adds to the clade turnover. The term “replaces” applies to the clade of 3 which has a surviving subclone and thereby eventually replaces clade 2. The clade turnover its solely based on the presence of the mutations (which define their clade) and not on the individual clones.

      (1.5) After reviewing reference 24 (Li et al.), I noticed that the assertions made therein contradict the findings presented in S3 (Mutation Density on Rings). Specifically, Li et al. state that “peripheral regions not only accumulated more mutations, but also contained more changes in genes related to cell proliferation and cell cycle function” (Page 6) and “Phylogenetic trees show that branch lengths vary greatly with the long-branched subclones tending to occur in peripheral regions” (Page 4). However, upon re-analysis of their data, the authors demonstrated a decrease in mutation density near the surface. It is crucial to comprehend the underlying cause of such a disparity.

      The reason for this disparity is the way Li et al. labelled samples as belonging to peripheral or central regions of the tumour. We have added a new figure in the SI to show this: Fig. S14 shows the number of mutations found in samples of Li et al. against their distances from the centre, along with the classification of samples as center/periphery given in Li et al. In the case of tumor T1, the classification of a sample in reference Li et al. does not agree with the distance from the center: samples classified as core are often more distant from the center than those classified as peripheral. Furthermore, Lewinsohn et al. (see below) show in their Fig. 5 that samples classified as ‘center’ by Li all fall into a single clade, and we believe this affects all results derived from this classification. For this reason, we do not consider the classification in reference 24 (Li et al.) further. We now briefly discuss this in Section S3.3.

      (1.6) The authors consider coinciding mutations to occur when offspring clades align with an ancestral clade. Nevertheless, since multiple mutations can arise simultaneously in a single generation (such as kataegis), it becomes essential to discern its impact on clade turnover and, consequently, the estimation of d/b.

      The mutational signatures found here show no sign of kataegis. Also, the number of polymorphic sites in the whole-exome data is small and the mutations are uniformly spread across the exome. The point is well taken, however, the method requires single mutations per generation. In practice, this can be achieved by subsampling a random part of the genome or exome (see [45]). We tested this point by processing the data from only a fraction of the exome; this did not change the results. In particular, Figure S30 shows the turnover-based inference for different subsampling rates L of the Ling et al. data. Subsampling of sites reduces the exome-wide mutation rate, the inferred rate scales linearly with L, as expected.

      (1.7) I could not understand Step 2 in Section S2.1, an illustration may be helpful.

      We have added figure S2 explaining the directional angle algorithm to Section S2.1 in the supplementary information.

      (1.8) Figure S2, does a large rhoc lead to volume growth rather than surface growth, not the other way around?

      Thank you for catching this mix-up!

      Reviewer #2

      I do have a few minor comments/questions, but I am confident the authors will be able to address them appropriately.

      (2.1) Line 56: I am not sure what the units of “average read depth 74X” is in terms of SI units?

      This number gives the number of sequence reads covering a particular nucleotide and is dimensionless. We have added this information.

      (2.2) Lines 63 - 68: I am unsure what is meant by the terms “T1 of ca.” and “T2 of ca.”. Can these also be explained/defined please?

      These refer to the approximate (circa) diameters of tumor 1 and tumor 2 in the data by Li et al. We have expanded the abbreviations.

      (2.3) Line 69: I would like to see a more extensive description of the cell-based model here in the main text, such as how do the cells move. Moreover, do cells have a finite reach in space, do they have a volume/area?

      We have expanded the model description in the main body of the paper and placed information there that previously was only in the SI.

      (2.4) Line 76: You have said cells can “push” one another in your model. Do they also “pull” one another? Cell adhesion is know to contribute to tumour integrity - so this seems important for a model of this nature.

      We have not implemented adhesive forces between pairs of cells so far. This would cause a higher pressure under cell growth (which can have important physiological consequences). However, the hard potential enforcing a distance between adjacent cells would still lead to cells pushing each other apart under population growth, so we expect to see the dispersion effect we discuss even when there is adhesion.

      (2.5) Line 80-81: “due to lack of nutrient”. Is nutrient included in this work? It is my understanding it is not. No problem if so, it is just that this line makes it seem like it is and important. If it is not, the authors should mention this in the same sentence.

      Thank you for pointing out this source of misunderstanding, your understanding is correct and we have modified the text to remove the ambiguity.

      (2.6) Line 94-95: Since you are interested in tissue growth, recent work has indicated how the cell boundary (and therefore tissue boundary) description influences growth. Please also be sure to indicate this when you describe the model.

      We presume you refer to the recent paper by Lewinsohn et al. (Nature Ecology and Evolution, 2023), which reports a phylogenetic analysis based on the Li et al. data. Lewinsohn et al. find that cells near the tumour boundary grow significantly faster than those in the tumour’s core. This is at variance with what we find; we were not aware of this paper at the time of submission. We now refer to this paper in the main text, and also have included a new section S3.4 in the SI accounting for this discrepancy. If you refer to a different paper, please let us know.

      Briefly, we repeat the analysis of Lewinsohn et al., using their algorithm on artificial data generated by our model under volume growth. Samples were placed precisely like they were placed in the tumor analyzed by Li et al. We find that, even though the data was generated by volume growth, the algorithm of Lewinsohn et al. finds a signal of surface growth, in many cases even stronger compared to the signal which Lewinsohn et al. find in the empirical data. We have added subsection S3.4 with new figure S15 in the Supplementary Information.

      (2.7) Line 107: “thus no evidence for enhanced cell growth near the edge of the tumour”. It is unclear to me how this tells us information relative to the tumour edge. It seems to me this is an artifact that at the edge of the tumour, there are less cells to compare with? Could you please expand on this a bit?

      The direction angles tell us if new mutations arise predominantly radially outwards. With this observable, surface growth would lead to a non-uniform distribution of these angles even if we restrict the analysis to samples from the interior of the tumor (which, under surface growth, was once near the surface). So the effect is not linked to fewer cells for comparison. Also, we have checked the direction angles in simulations under different growth modes with the samples placed in the same way as in the data (see Figs. S3 and S4 right panels). We have expanded the text in the main text, section Results accordingly.

      (2.8) I really enjoyed the clear explanation between lines 119 and 122 regarding cell dispersion!

      Thank you!

      (2.9) Figure 2B: Since you are looking at a periodic feature in theta, I would have expected the distribution to be periodic too, and therefore equal at theta=-180=180. Can you explain why it is different, please? Interestingly, you simulated data does seem to obey this!

      The distribution of theta is periodic but the binning and midpoints of bins were chosen badly. We have replotted the diagram with bin boundaries that handle the edge-points -180/180 correctly. Thank you for pointing this out.

      (2.10) Figure 3B: This plot does not have a title. Also, what do the red vertical lines in plots 3B, 3C and 3D indicate?

      We have added the title. The red lines indicate the expectation values of the distributions.

      (2.11) Figure 4: I am unsure how to read the plot in 4B. Also, what does the y-axis represent in 4C and 4D?

      We have added explanations for 4B and have placed the labels for 4C and 4D in the correct position on the y-axes.

      (2.12) Lines 194-199: you discuss your inferred parameters here, but you do not indicate how you inferred these parameters. May you please briefly mention how you inferred these, please?

      These were inferred using the turnover method explained in the paragraph above, we have expanded the information. A full account is given in the SI Section S5.

      (2.13) Line 258-260: “... mutagen (aristolochic acid) found in herbal traditional Chinese medicine and thought to cause liver cancer.” I do not see what this sentence adds to the work. Could you please be clearer with the claim you are making here?

      Mutational signatures allow to infer underlying mutational processes. The strongest signature found in the data is associated with a mutagen that has in the past been used in traditional Chinese medicines. The patients from whom the tumours were biopsied were from China, so past exposure to this potent mutagen is possible. We are not making a big claim here, the mutational signature of aristolochic acid and its cancerogenic nature has been well studied and is referenced here. The result is interesting in our context because in one of the datasets (Li et al.) the signature is present in early (clonal) mutations but absent in later ones, allowing to make inferences from present data on the past. We have added the information that the patients were from China.

      (2.14) In your Supplementary Information, S1, I believe your summation should not be over i, as you state in the following it is over cells within 7 cell radii. Please fix this by possibly defining a set which are those within 7 cell radii.

      We have done this.

    1. There is a sentiment that thepast is the past and people just need to move on from it, butthis opinion is always heard from the most ensconced positionof comfort and power.

      Also reminds me of how some people stick so stubbornly to "tradition! rah it's my tradition it doesn't matter!", yet we should be careful to not continue to use outdated traditions that harm others.

    1. Author response:

      The following is the authors’ response to the original reviews.

      Public Reviews:

      Reviewer #1 (Public Review):

      Summary:

      This study provides an incremental advance to the scavenger receptor field by reporting the crystal structures of the domains of SCARF1 that bind modified LDL such as oxidized LDL and acylated LDL. The crystal packing reveals a new interface for the homodimerization of SCARF1. The authors characterize SCARF1 binding to modified LDL using flow cytometry, ELISA, and fluorescent microscopy. They identify a positively charged surface on the structure that they predict will bind the LDLs, and they support this hypothesis with a number of mutant constructs in binding experiments.

      Strengths:

      The authors have crystallized domains of an understudied scavenger receptor and used the structure to identify a putative binding site for modified LDL particles. An especially interesting set of experiments is the SCARF1 and SCARF2 chimeras, where they confer binding of modified LDLs to SCARF2, a related protein that does not bind modified LDLs, and use show that the key residues in SCARF1 are not conserved in SCARF2.

      Weaknesses:

      While the data largely support the conclusions, the figures describing the structure are cursory and do not provide enough detail to interpret the model or quality of the experimental X-ray structure data. Additionally, many of the flow cytometry experiments lack negative controls for non-specific LDL staining and controls for cell surface expression of the SCARF constructs. In several cases, the authors interpret single data points as increased or decreased affinity, but these statements need dose-response analysis to support them. These deficiencies should be readily addressable by the authors in the revision.

      The paper is a straightforward set of experiments that identify the likely binding site of modified LDL on SCARF1 but adds little in the way of explaining or predicting other binding interactions. That a positively charged surface on the protein could mediate binding to LDL particles is not particularly surprising. This paper would be of greater importance if the authors could explain the specificity of the binding of SCARF1 to the various lipoparticles that it does or does not bind. Incorporating these mutants into an assay for the biological role of SCARF1 would be powerful.

      Reviewer #2 (Public Review):

      Summary:

      The manuscript by Wang and colleagues provided mechanistic insights into SCARF1 and its interactions with the lipoprotein ligands. The authors reported two crystal structures of the N-terminal fragments of SCARF1 ectodomain (ECD). On the basis of the structural analysis, the authors further investigated the interactions between SCARF1 and modified LDLs using cell-based assays and biochemical experiments. Together with the two structures and supporting data, this work provided new insights into the diverse mechanisms of scavenger receptors and especially the crucial role of SCARF1 in lipid metabolism.

      Strengths:

      The authors started by determining the crystal structures of two fragments of SCARF1 ECD. The superposition of the two high-resolution structures, together with the predicted model by AlphaFold, revealed that the ECD of SCARF1 adopts a long-curved conformation with multiple EGF-like domains arranged in tandem. Non-crystallographic and crystallographic two-fold symmetries were observed in crystals of f1 and f2 respectively, indicating the formation of SCARF1 homodimers. Structural analysis identified critical residues involved in dimerization, which were validated through mutational experiments. In addition, the authors conducted flow cytometry and confocal experiments to characterize cellular interactions of SCARF1 with lipoproteins. The results revealed the vital role of the 133-221aa region in the binding between SCARF1 and modified LDLs. Moreover, four arginine residues were identified as crucial for modified LDL recognition, highlighting the contribution of charge interactions in SCARF1-lipoprotein binding. The lipoprotein binding region is further validated by designing SCARF1/SCARF2 chimeric molecules. Interestingly, the interaction between SCARF1 and modified LDLs could be inhibited by teichoic acid, indicating potential overlap in or sharing of binding sites on SCARF1 ECD.

      The author employed a nice collection of techniques, namely crystallographic, SEC, DLS, flow cytometry, ELISA, and confocal imaging. The experiments are technically sound and the results are clearly written, with a few concerns as outlined below. Overall, this research represents an advancement in the mechanistic investigation of SCARF1 and its interaction with ligands. The role of scavenger receptors is critical in lipid homeostasis, making this work of interest to the eLife readership.

      Reviewer #3 (Public Review):

      Summary:

      The manuscript by Wang et. al. described the crystal structures of the N-terminal fragments of Scavenger receptor class F member 1 (SCARF1) ectodomains. SCARF1 recognizes modified LDLs, including acetylated LDL and oxidized LDL, and it plays an important role in both innate and adaptive immune responses. They characterized the dimerization of SCARF1 and the interaction of SCARF1 with modified lipoproteins by mutational and biochemical studies. The authors identified the critical residues for dimerization and demonstrated that SCARF1 may function as homodimers. They further characterized the interaction between SCARF1 and LDLs and identified the lipoprotein ligand recognition sites, the highly positively charged areas. Their data suggested that the teichoic acid inhibitors may interact with SCARF1 in the same areas as LDLs.

      Strengths:

      The crystal structures of SCARF1 were high quality. The authors performed extensive site-specific mutagenesis studies using soluble proteins for ELISA assays and surface-expressed proteins for flow cytometry.

      Weaknesses:

      (1) The schematic drawing of human SCARF1 and SCARF2 in Fig 1A did not show the differences between them. It would be useful to have a sequence alignment showing the polymorphic regions.

      The schematic drawing in Fig.1A is to give a brief idea about the two molecules, the sequence alignment may take too much space in the figure. A careful alignment between SCARF1 and SCARF2 can be found in Ref. 24 (Ishii, et al., J Biol Chem, 2002. 277, 39696-702) an also mentioned in p.4.

      (2) The description of structure determination was confusing. The f1 crystal structure was determined by SAD with Pt derivatives. Why did they need molecular replacement with a native data set? The f2 crystal structure was solved by molecular replacement using the structure of the f1 fragment. Why did they need to use EGF-like fragments predicted by AlphaFold as search models?

      The crystal structure of f1 was first determined by SAD using Pt derivatives, but soaking of Pt reduced the resolution of the crystals, therefore we use this structure as a search model for a native data set that had higher resolution for further refinement. For the structural determination of f2, the molecular replacement using f1 structure was not able to show the initial density of the extra region in f2 (residues 133-209), which was missing in f1. Therefore, the EGF-like domains of SCARF1 modeled by AlphaFold were applied as search models for this region (p.18).

      (3) It's interesting to observe that SCARA1 binds modified LDLs in a Ca2+-independent manner. The authors performed the binding assays between SCARF1 and modified LDLs in the presence of Ca2+ or EDTA on Page 9. However, EDTA is not an efficient Ca2+ chelator. The authors should have performed the binding assays in the presence of EGTA instead.

      The binding assays in the presence of EGTA are included in the revised manuscript (Fig. S7) (p.9), which also suggest that SCARA1 binds OxLDL in a Ca2+-independent manner.

      (4) The authors claimed that SCARF1Δ353-415, the deletion of a C-terminal region of the ectodomain, might change the conformation of the molecule and generate hinderance for the C-terminal regions. Why didn't SCARF1Δ222-353 have a similar effect? Could the deletion change the interaction between SCARF1 and the membrane? Is SCARF1Δ353-415 region hydrophobic?

      The truncation mutants were constructed to roughly locate the binding region of lipoproteins on SCARF1, and the overall results showed that the sites might locate at the region of 133-221. Mutant Δ222-353 may also affect the conformation, but it still had binding with OxLDL like wild type, suggesting the binding sites were retained in this mutant. Mutant Δ353-415 showed a reduction of binding, implying that the binding sites might be retained but binding was affected, we think it might be due to the conformational change that could reduce the binding or accessibility of lipoproteins. Since this region locates closer to the membrane, it’s possible that it may change the interaction with the membrane. In the AF model, Δ353-415 region does not seem to be more hydrophobic than other regions (Fig. S2C).

      (5) What was the point of having Figure 8? Showing the SCARF1 homodimers could form two types of dimers on the membrane surface proposed? The authors didn't have any data to support that.

      Fig. 8 shows a potential model of the SCARF1 dimers on the cell surface by combining the structural information from crystals and AF predictions. The two dimers in the figure are identical but with different viewing angles. The lipoprotein binding sites are also indicated (Fig. 8).

      Recommendations for the authors:

      Reviewer #1 (Recommendations For The Authors):

      The authors need to show examples of the electron density for both structures.

      Electron density examples of the two structures are shown in Fig. S2A.

      Figure 1)

      The figure does not show enough details of the structure. The text mentions hydrogen-bond and disulfide bonds that stabilize the loops, these should be shown.

      Disulfide bonds of the two structures are shown in Fig. 1.

      Figure 2)

      D) The full gel should be shown.

      E) Rather than just relying on changes in gel filtration elution volumes, the authors do the appropriate experiment and measure the hydrodynamic radius of the WT and mutant ectodomains by DLS. However, they need to show plots of the size distribution, not just mean radial values, in order to show if the sample is monodisperse.

      The full gel and plots of DLS are shown in Fig. S3A-B.

      Figure 3)

      I have concerns about the rigor of the experiments in panels A-D. The authors include a non-transfected control but do not appear to have treated non-transfected cells with the lipoproteins to evaluate the specificity of binding. Every cell binding assay (flow  or confocal) must show the data from non-transfected cells treated with each lipoprotein, as each lipoprotein species could have a unique non-specific binding pattern. The authors show these controls in Figure 6, but these controls are necessary in every experiment.

      In Fig. 3A, since several lipoproteins were included in the figure, we use non-transfected cells without lipoprotein treatment as a negative control. The OxLDL or AcLDL treated non-transfected cells were also used as negative controls and shown in Fig. 3B-C. LDL, HDL or OxHDL may have their own non-specific binding patterns, the treatment of LDL, HDL or OxHDL with the transfected cells all gave negative results (Fig. 3A and D).

      Cell-surface of the SCARF1 variants is a major concern. The constructs the authors use are tagged with a GFP on the cytosolic side. However, the Methods to do indicate if they gate on GFP+ transfected cells for analytical flow. Such gating may have been used because the staining experiments in Figures 3 and 4 show uniform cell populations, whereas the staining done with an anti-SCARF1 Ab in S4 shows most of the cells not expressing the protein on the surface. Please clarify.

      Data for the anti-SCARF1 Ab assay is gated for GFP in the revised Fig. S4, and  the non-transfected cells are included as a control.

      The authors must demonstrate cell-surface staining with an epitope tag on the extracellular side and clarify if the analyzed cells are gated for surface expression. The anti-SCARF antibody used in S4 may not recognize the truncated or mutant SCARFs equally. Cell-surface expression in the flow experiments cannot be inferred from confocal experiments because the flow experiments have a larger quantitative range.

      Anti-SCARF1 antibody assay provides an estimation of the surface expression of the proteins. If the epitope of the antibody was mutated or removed in the mutants, most likely it would lose binding activity. Including an epitope tag on the ectodomain could be an option, but if truncation or mutation changes the conformation of the ectodomain, the accessibility of the epitope may also be affected, and addition of an extra sequence or domain, such as an epitope tag, may affect the surface expression of proteins sometimes.

      In several places, the authors infer increased or decreased affinity from mean fluorescent intensity values of a single concentration point without doing appropriate dose-curves. These experiments need to be done or else the mentions of changes in apparent affinities should be removed.

      We add a concentration for the WT interaction with OxLDL (Fig. S6, p.9) and the manuscript is also modified accordingly.

      Figure 7

      The concentration of teichoic acid used to inhibit modified LDL binding should be indicated and a dose-curve analysis should be done comparing teichoic acid to some non-inhibitory bacterial polymer.

      The concentration of teichoic acids used in the inhibition assays is 100 mg/ml (p.21). Unfortunately, we don’t have other bacterial polymers in the lab and not sure about the potential inhibitory effects.

      Reviewer #2 (Recommendations For The Authors):

      Major points:

      (1) The SCARF1 ECD contains three N-linked glycosylation sites (N289, N382, N393). It remains unclear whether these modifications are involved in SCARF1 binding to modified LDLs. Is it possible to design some experiments to investigate the effect of N-glycans on the recognition of modified LDLs? In particular, N382 and N393 are included in 353-415aa and the truncation mutant of SCARF1Δ353-415aa resulted in reduced binding with OxLDL in Fig.3G. Or whether the reduced binding is only due to the potential conformational changes caused by the deletion of the C-terminal region of the ECD?

      A previous study regarding the N-glycans (N289, N382, N393) of SCARF1 (ref.17) has shown that they may affect the proteolytic resistance, ligand-binding affinity and subcellular localization of SCARF1, which is not quite surprising as lipoproteins are large particles, the N-glycans on the surface of SCARF1 could affect accessibility or affinity for lipoproteins. But the exact roles of each glycan could be difficult to clarify as they might also be involved in protein folding and trafficking.

      The reduction of the binding of OxLDL for the mutant SCARF1 Δ353-415aa may be due to the conformational change or the loss of the glycans or both.

      (2) The authors speculated that the dimeric form of SCARF1 may be more efficient in recognizing lipoproteins on the cell surface. Please highlight the critical region/sites for ligand binding in Figure 8 and discuss the structural basis of dimerization improving the binding.

      The binding sites for lipoproteins on SCARF1 are indicated in Fig. 8. According to our data, it might be possible the conformation of the dimeric form of SCARF1 makes it more accessible to the ligands on the cell surface as implied by flow cytometry (p.14-15), but still needs further evidence on this.

      (3) Could the two salt bridges (D61-K71, R76-D98) observed in f1 crystals be found in f2 crystals? They seemed to be a little far from the defined dimeric interface (F82, S88, Y94) and how important are these to SCARF1 dimerization?

      The two salt bridges observed in f1 crystal are not found in f2 crystal (distances are larger than 5.0 Å), suggesting they are not required for dimerization (p. 7-8), but may be helpful in some cases.

      (4) The monomeric mutants (S88A/Y94A, F82A/S88A/Y94A) exhibited opposite affinity trends to OxLDL in ELISA and flow cytometry. The authors proposed steric hinderance of the dimers coated onto the plates as the potential explanation for this observation. However, the method of ELISA stated that OxLDLs, instead of SCARF1 ECD, were coated onto the plates. So what's the underlying reason for the inconsistency in different assays?

      Thanks. ELISA was done by coating OxLDLs on the plates as described in the Methods. But still, a dimeric form of SCARF1 may only bind one OxLDL coated on the plates due to steric hinderance. We correct this on p.12.

      Minor points:

      (1) Figure 2D and Figure S3 - please label the molecular weight marker on the SEC traces to indicate the native size of various purified proteins.

      The elution volume of SEC not only reflects the molecular weight, but it’s also affected by the conformation or shape of protein. The ectodomain of SCARF1 has a long curved conformation, the elution volumes of the monomeric or dimeric forms of SCARF1 do not align well with the standard molecular weight marker and elute much earlier in SEC. We include the standard molecular weight marker in Fig. S3C-D.

      (2) Could the authors provide SEC profiles of f1 and f2 that were used in crystallographic study?

      The SEC profiles of f1 and f2 for crystallization are shown in Fig. S5 (p.6).

      (3) The legend of Figure 3A states that the NC in flow cytometry assay represents the non-transfected cells, but please confirm whether the NC in Fig. 3A-C corresponds to non-transfected cells or no lipoprotein.

      NC in Fig. 3A represents the non-transfected cells, and no lipoproteins were added in this case as several lipoproteins are included in Fig. 3A. The lipoprotein (OxLDL or AcLDL) treated non-transfected cells (NC) were shown in Fig. 3B-C as negative controls.

    1. Philosophy is not fiction and philosophers are notoriously suspicious of it. Plato is often read as being one of the staunchest critics of the imaginative arts, in particular poetry, because they have the power to corrupt and mislead the soul

      We see our lives as non fiction, as real but we question that as there’s nothing o back that up. I really like how Plato speaks on these reading because it shows how easy it is to change someone’s belifs and perspective, wethers it’s religion or just general beliefs

    2. One answer to this question is pragmatic – philosophy teaches you to think and write logically and clearly. This, we tell our students, will be of use to them no matter what path they pursue

      This part talks about the practical side of philosophy. Sure, it teaches you how to think and write better, which is helpful for just about any job. But the writer points out that this view is a bit underwhelming. Philosophy isn’t just about being useful—it’s about shaking things up and helping you see the world differently. It’s kind of like saying philosophy isn’t just a tool; it’s a way of life.

    3. constructive imagination

      Constructive reimagination is a reminder to us that philosophy is not just about critque, it's about building a better world, helping one imagine a future that's more just and empowering.

  7. Sep 2024
    1. "Practical science...has been important from the first, and has continually increased in importance, until it has almost ousted theoretical science from men's thoughts...The triumph of science has been mainly due to its practical utility, and there has been an attempt to divorce this aspect from that of theory, thus making science more a technique, and less and less a doctrine as to the nature of the world....science as technique was building up in practical men a quite different outlook from any that was to be found among theoretical philosophers.  Technique confers a sense of power: man is much less at the mercy of his environment than he was in former times."

      This line is saying that people have started to care more about using science to do and create things, rather than just learning about science for it's own sake. There is a growing interest in the practical stuff science can do.

    1. Because communication is more than just language. It relies on context, body orientation, use of space, hand gestures, facial expressions, our relationship and history with those we are talking to, our cultural expectations, and more.

      I think that human language being comprised of not only verbal components but physical ones aswell is what makes people so intruiging. It makes me think about communication between animals, insects, and even fungi. I love that there are so many intricate ways one can communicate depending on who it's to, the time, place, and information being communicated. Language being multi-faceted is one of the things I feel helps people learn how to think critically when they're growing up. You learn to pick up on cues and the 'right' ways to respond to certain information and situations. As a kid, I remember blurting things out that, while true, had negative impacts on people around me at the time. I didn't understand why they were upset because, in my mind, I was just relaying information. Figuring out that there is a time and place for certain things is important, or better yet not saying anything at all.

    1. I was neither Living nor dead

      This vagueness of life vs. death feels similar to the vagueness of Hyacinth's gender from a few lines up. Historically, Hyacinthus was a male god beloved by Apollo who was tragically killed. A yearly festival called Hyacinthia was created in his honor. It's interesting that the festival was called Hyacinthia because the -a ending is normally more associated with femininity and female names. In the poem, Eliot uses the term "hyacinth," as if he's trying to assign no gender to what could have been Hyacinthus/ia. This intentional vagueness connects to the line "I was neither / Living nor dead" (Eliot, 39-40) because Hyacinth is neither male nor female just like the narrator was "neither living nor dead". Essentially, these things all cancel each other out.

      This idea differs from many of the lines presented in Mina Loy's poem "At the Door of the House". She refers to eyes being "riveted to the unrealisable" (Loy 1). The verb and noun here essentially cancel each other out with the impossibility of the situation. However, this differs to the idea presented in the first paragraph because these subjects aren't both rejected by the author. Hyacinth can't have a gender, the narrator can't be dead or alive, but the eyes are still "riveted to the unrealisable". The event presented here that inherently contradicts itself doesn't seem to be rejected, unlike how Eliot does it with life and death and with Hyacinth's gender.

    2. Musing upon the king my brother’s wreck And on the king my father’s death before him. White bodies naked on the low damp ground And bones cast in a little low dry garret, Rattled by the rat’s foot only, year to year. But at my back from time to time I hear The sound of horns and motors, which shall bring

      In “The Fire Sermon” one of Eliot’s passages poses an interesting contrast to a passage from one of his sources of inspiration “Towards Democracy” by John Heywood. This contrast exposes the deception of industrialist and nationalist hopes and the subsequent and melancholy reality of such progressions. On lines 191-197, Eliot states, “Musing upon the king my brother’s wreck//And on the king my father’s death before him//White bodies naked on the low damp ground//And bones cast in a little low dry garret//Rattled by the rat’s foot only, year to year//But at my back from time to time I hear//The sound of horns and motors”. The mention of brothers and fathers comments on nationalist sense of unity between men, however, in a negative sense, as Eliot mentions “wreck”, and “death” in relation to these familial figures. The “King” might also refer to the Fisher King, a mythological figure previously mentioned in the poem, whose incurable wounds have left him in a constant and repetitive state of fishing. Once tasked with noble duties such as guarding the holy grail, he is left with his wounds. What some might consider an inescapable fall from grace also plays into Eliot’s regretful reflection of his “brother” and “father”. Eliot describes bodies on the “low” ground, as well as bones in a garret. These dead things are only disturbed by the rats, which are often percieved as carries of disease and signifiers of abandonment and decay. Despite the narrator’s bleak description, they also regard the noises horns and motors in an opposite light, perhaps in search of some appreciation for industrialism. Also likely is that the narrator is falling into industrialist narratives of progress once again, forgetting the desolation they had just described. Heywood’s passage seems to align itself with these industrialist narratives and hopes for progress. He states, “I see a great land poised as in a dream Waiting for the word by which it may live again. I see the stretched sleeping figure waiting for the kiss and the re-awakening. I hear the bells pealing, and the crash of hammers, and see beautiful parks spread as in toy show. I see a great land waiting for its own people to come and take possession of it. Heywood’s description is not immediately positive- in fact, there seems to be anticipation and perhaps even a restlessness of waiting for the reclamation of the land. In this waiting state, Heywood describes the land as a dream, and something not living. The sleeping figures described by Heywood also evoke Eliot’s descriptions of the naked white bodies. Interestingly, Heywood’s description of noises of production as positive, describing sparks as beautiful, which relates to the narrator of “The Fire Sermon” appreciating the sounds of horns and motors”. However, perhaps Heywood compliments these noises in a mocking manner, as he describes them as a toy show. Heywood ends his passage calling for the reclamation of the land by the people who live on it, creating a relationship of dominance towards the land typical of industrialist ideas. Ultimately, Eliot’s and Heywood’s views of the land display the hopes and impatience of human progress and it’s later and sometimes devastating effects.

    3. 'Speak to me. Why do you never speak. Speak. 'What are you thinking of? What thinking? What?

      In the first part of The Game of Chess, the female character is isolated and defined by the lifeless objects surrounding her—perfumes, glass, candle flames, lacquer, and more. Only through these objects, do we get a chance to become acquainted with her. These inanimate items symbolize suffocation and entrapment in her loneliness. The readers can only speculate if it’s the notion of rape that Eliot continuoulsy references that led to this isolation. No matter the cause of it, however, the character strives to get herself out of this situation. She strives for human connection. Her plea, “Speak to me,” reflects this need, but the absence of a question mark in “Why do you never speak to me” suggests that the character already knows the answer. The reader, however, is left to speculate: does she see herself as undesirable because of her trauma? Or is it simply the years of a relationship that deteriorate this connection referencing Eliot’s own troubled marriage? In either case, this emotional disconnect is further demonstrated by the subsequent question, “What are you thinking of?” This time, the question is marked by a question mark, suggesting an actual attempt to break through this emotional barrier. These attempts, however, are ineffective, as the desperation rises and the questions shorten to “what thinking” and “what.” This fragmented monologue mirrors the fragmentation of her emotional state.

      In contrast, the second character suffers from the destructive excess of human connection. Shamed for her appearance, she faces the reality of her partner’s potential infidelity, reflected in the statement, “And if you don’t give it to him, there’s others.” The references to abortion intensify this degradation. She justifies her loss of beauty and confidence with the line, “It’s them pills I took, to bring it off.” Instead of finding fulfillment in connection, this character’s relationships strip her of her self-worth.

      In these two cases, Eliot presents women trapped at the opposite extremes of human connection: one suffers from its absence, the other from its destructive abundance. Yet, in both cases, external forces define and entrap them. The first woman is reduced to the objects around her, while the second is judged by an external voice—the pronoun “I” suggesting our, as readers, own judgment projected onto the character. We become not simply the judges, but also the victimes of this broken connection. The poem’s fragmented language, which severely affects our understanding of it, mirrors the emotional chaos, invoking feelings rather than rationality, similarly to Ophelia’s “mad” song in Hamlet.

      This pattern mirrors the nature of chess, where a single wrong move can drastically alter the entire game. Just as in chess, life’s unpredictability is highlighted in these women’s lives, as one extreme of human connection can quickly shift to another, with equally devastating outcomes. The title of the section, The Game of Chess, thus, reflects this instability —one wrong move leads to extremes of connection. In this case, these characters and we, as readers, are not simply entrapped in this game. Instead, we are playing with an unwinnable position from the very outset: each move only brings the inevitability of loss closer.

    4. HURRY UP PLEASE ITS TIME Goonight Bill. Goonight Lou. Goonight May. Goonight. 170 Ta ta. Goonight. Goonight.

      The first few times I read this passage, I glossed over the spelling of “Goonight”. It wasn’t until the indented Ophelia soliloquy “Good night, ladies, good night, sweet ladies, good night, / good night.” that I noticed that “Goonight” was missing a “d” and a space. I attributed this to the slurrish / slangy vernacular of the unnamed first person subject. The portmanteauing of the word evokes a sense of urgency, as if there isn’t enough time for the character to pronounce two full syllables separately and must combine the two into a breath. This aligns with the repeated phrases “HURRY UP PLEASE ITS TIME”, which as I am typing this, I realize is also missing punctuation “ ‘ “ that critically indicates that the word is a contraction. Again, a word is shortened, this time dropping even the apostrophe. “ITS” is also a particularly interesting case because “IT’S” represents contraction “IT IS”, which is grammatically correct and therefore what I assume the correct voice is, while just “ITS” is a possesive pronoun modifying who knows what. Whose time is it? Who does time belong to? Do we all belong to time?

      The imperative “HURRY UP ITS TIME” is repeated four times in under 40 lines, first spaced out, and then condensing to repeat back to back 4 lines before the end of the poem. This increasingly urgent demand phonetically (and emotionally) elicits the pressures of living. As a third person / exterior overhead voice in the scene between Lil and the first person subject consoling/incriminating her of her domestic shortcomings as a mother and wife, the phrase is an objective pace keeper, separate from the cast of characters and their woes. Every time Lil is about to answer an emotionally wrought question, (“What you get married for if you don’t want children?”), the phrase in all-caps becomes her saving grace, interrupting the accusatory line of questioning between one character (a condescending wife or a oatrarchy-upholding man?) and her truth. Outside the scene, the phrase is a speed sign for us readers as we parse through the different voices. The insertion reads like Ophelia’s “sings” cues in Hamlet, where the theatrical cue physically separates delivered lines from those sung. Both interpretations embody the accelerando of life. Lil, her snobby friend, the various ambiguous pronouns, me, you, we are all of us running out of time, being pursued, pursued.

    1. “The internet isn’t real life.”

      I believe this statement is very true just because of the fact that people pretend to be someone there not on social media. Apps like snapchat or instagram provide it's user with filters for pictures that can completely change the appearance of someone online. In reality they might not look as what they appear to be on the internet.

    1. However, if philosophy is to serve as an antidote to the resigned acceptance of injustice, a philosophical education must embrace the constructive imagination.

      This is the main idea of this entire article, it's to tell the audience that thinking with a philosophical mindset can lead the world to a better place where we don't accept injustices just because it's the way that things have always been, but rather to make the world a better place by replacing outdated ideologies with new ones for the next generations, but in order to do so we must be imaginative and accepting of one another and understanding of one another's situations in our shared reality.

    1. They remind us just how long it’s been clear there’s something wrong with what we’re doing as well as just how little progress we’ve made in acting on that realization.

      It is quite reassuring to have established texts that seem to empathize and understand a student's perspective, which is currently rare to find in many contexts.

    1. Welcome back in this video I want to talk about SSL and TLS.

      At a very high level they do the same thing.

      SSL stands for Secure Sockets Layer whereas TLS is Transcore Layer Security.

      TLS is just a newer and more secure version of SSL.

      Now we've got a lot to cover so let's jump in and get started.

      TLS and historically SSL provide privacy and data integrity between client and server.

      If you browse through this site to Netflix, to your bank and to almost any responsible internet business, TLS will be used for the communications between the client and the server.

      TLS performs a few main functions and while these are separate, they're usually performed together and referred to as TLS or SSL.

      First, TLS ensures privacy and it does this by ensuring communications made between a client and server are encrypted so that only the client and server have access to the unencrypted information.

      When using TLS the process starts with an asymmetric encryption architecture.

      If you've watched my encryption 101 video, you'll know that this means that a server can make its public key available to any clients so that clients can encrypt data that only that server can decrypt.

      Asymmetric encryption allows for this trustless encryption where you don't need to arrange for the transfer of keys over a different secure medium.

      As soon as possible though you should aim to move from asymmetric towards symmetric encryption and use symmetric encryption for any ongoing encryption requirements because computationally it's far easier to perform symmetric encryption.

      So part of the negotiation process which TLS performs is moving from asymmetric to symmetric encryption.

      Another function that TLS provides is identity verification.

      This is generally used so that the server that you think you're connecting to, for example Netflix.com, is in fact Netflix.com.

      TLS is actually capable of performing full two-way verification but generally for the vast majority of situations it's the client which is verifying the server and this is done using public key cryptography which I'll talk more about soon.

      Finally TLS ensures a reliable connection.

      This is a very simple way to do it.

      The client can detects against the alteration of data in transit.

      If data is altered then the protocol can detect this alteration.

      Now in order to understand TLS a little better let's have a look at the architecture visually.

      When a client initiates communications with a server and TLS is used there are three main phases to initiate secure communication.

      First Cypher suites are agreed, authentication happens and then keys are exchanged.

      These three phases start from the point that a TCP connection is active between the client and the server so this is layer four.

      And at the end of the three phases there's an encryption communication channel between a client and a server.

      This each stage is responsible for one very specific set of functions.

      The first stage focuses on Cypher suites.

      Now a Cypher suite is a set of protocols used by TLS.

      This includes a key exchange algorithm, a bulk encryption algorithm and a message authentication code algorithm or MAC.

      Now there are different algorithms and versions of algorithms for each of these and specific versions and types grouped together are known as a Cypher suite.

      So to communicate the client and server have to agree a Cypher suite to use.

      Now let's step through this visually.

      We have a client and a server and at this starting point we already have a TCP connection so TCP segments between the client and the server.

      The first step is that the client does a client hello and this contains the SSL or TLS version, a list of Cypher suites that the client supports and other things like a session ID and extensions.

      Hopefully at this point the server supports one of the Cypher suites that the client also supports.

      If not then the connection fails.

      If it does then it picks a specific one and it returns this as part of the server hello.

      Now included in this server hello is also the server certificate which includes the server's public key.

      Now this public key can be used to encrypt data which the client can send to the server which only the server can decrypt using its private key.

      But keep in mind that this is asymmetric encryption and it's really computationally heavy and we want to move away from this as soon as possible.

      Now at some point in the past the server has generated a private and public key pair and it's the public part of this which is sent back to the client.

      But and this is important part of TLS is ID validation.

      If the client just confirmed that the server it's communicating with is valid then you could exploit this.

      I could create a server which pretends to be Netflix.com without being Netflix.com and this is suboptimal.

      So it's important to understand and I'll talk more about this in a second that part of the functionality provided by TLS is to verify that the server that you're communicating with is the server that it claims to be.

      The next step of the TLS process is authentication.

      The client needs to be able to validate that the server certificate the server provides is valid, that its public key is valid and as such that the server itself is valid.

      To illustrate how this works let's rewind a little from a time perspective.

      So the server has a certificate.

      Now the certificate you can think of as a document, a piece of data which contains its public key, its DNS name and other pieces of organizational information.

      Now there's another entity involved here known as a public certificate authority or CA.

      Now there are a few of these run by independent companies and your operating system and browser trust many of these authorities and which ones is controlled by the operating system and browser vendors.

      Now at some point in the past our server and let's say this is for Categoram.io created a public and private key pair and in addition it generated a certificate signing request or CSR.

      It provided the CSR to one of the public certificate authorities and in return this CA delivered back a signed certificate.

      The CA signed a certificate which means that you can verify that the CA signed that certificate.

      If your operating system or browser trusts the certificate authority then it means your operating system or browser can verify that the CA that it trusts signed that cert.

      This means that your OS or browser trusts the certificate and now the Categoram.io server that we're using as an example has this certificate and that certificate has been provided to the client as part of the server hello in Stage 1 of the TLS negotiation.

      In Stage 2 of authentication our client which has the server certificate validates that the public certificate authority signed that certificate.

      It makes sure that it was signed by that specific CA, it makes sure that the certificate hasn't expired, it verifies that the certificate hasn't been revoked and it verifies that the DNS name that the browser is using in this case Categoram.io matches the name or the names on the certificate.

      This proves that the server ID is valid and it does this using this third party CA.

      Next the client attempts to encrypt some random data and send it to the server using the public key within the certificate and this makes sure that the server has the corresponding private key.

      This is the final stage of authentication.

      If we're at this point and everything is good, the client trusts the server, its ID has been validated and the client knows that the server can decrypt data which is being sent.

      It's at this point that we move on to the final phase which is the key exchange phase.

      This phase is where we move from asymmetric encryption to symmetric encryption.

      This means it's much easier computationally to encrypt and decrypt data at high speeds.

      We start this phase with a valid public key on the client and a matching private key on the server.

      The client generates what's known as a pre-master key and it encrypts this using the server's public key and sends it through to the server.

      The server decrypts this with its private key and so now both sides have the exact same pre-master key.

      Now based on the cipher suite that's being used, both sides now follow the same process to convert this pre-master key into what's known as a master secret.

      And because the same process is followed on the same pre-master key, both sides then have the same master secret.

      The master secret is used over the lifetime of the connection to create many session keys and it's these keys which are used to encrypt and decrypt data.

      So at this point both sides confirm the process and from this point onwards the connection between the client and server is encrypted using different session keys over time.

      So this is the process that's followed when using TLS.

      Essentially we verified the identity of the server that we're communicating with, we've negotiated an encryption method to use, we've exchanged asymmetric for symmetric encryption keys and we've initiated this secure communications channel.

      And this process happens each and every time that you communicate with the server using HTTPS.

      Now that's everything I wanted to cover within this video so go ahead and complete the video and when you're ready I'll look forward to you joining me in the next.

      Thank you.

    1. Welcome back, and in this fundamentals lesson, I want to step you through how to convert decimal numbers into binary and back again, specifically relating to IP version 4 addresses.

      Now, if this is something which is new to you, I really suggest taking this slowly and focusing on each step of the process.

      If you don't understand something, just pause, think about it, and if needed, restart the video.

      I promise, once you can do this process, it will really help you with networking.

      The process is easy once you've done it a few times, so I want to explain it as simply as I can at first, and then suggest that you get some practice.

      So let's jump in and get started.

      Before we start with the actual process, I want to set the scene as to why you need to understand it.

      When dealing with IP addresses as a human, you might see something which looks like this.

      133.33.33.7.

      This is an IP address represented in what's known as dotted decimal notation.

      Four decimal numbers ranging from 0 to 255 separated by periods.

      So that's what a human sees.

      A computer sees this, the same IP address put in binary.

      Now, this is actually a 32-bit binary number, specifically four sets of 8 bits.

      Now, 8 bits is known as a byte, each byte is also known as an octet, but crucially, it's the same number as the decimal version.

      To understand much of how the internet protocol works, so things like IP ranges, prefixes, subnet masks and routing, you have to be able to convert between the two, so decimal and binary.

      All of these things only make sense when viewing IP addresses in binary, so when it comes to networking, being able to convert between decimal and binary or vice versa really is a superpower, and that's what I want to teach you in this lesson.

      So let's move on.

      I want to start with the process of converting a decimal IP address into binary.

      This is actually the more complex direction.

      Decimal to binary is confusing at first, whereas binary to decimal is much easier.

      When you're just learning this process, I find that it's easier to tackle it in byte-sized pieces.

      Let's say that you want to convert this IP, so 133.33.33.7, into binary.

      Well, each decimal in between the dots, so 133, 33, 33 and 7 is a number between 0 to 255.

      So I find it easier, at least initially, to tackle each one of these numbers individually, working left to right.

      So that's what we're going to do in this lesson.

      I'm going to step through the maths involved to convert 133 and 33 into binary, and then I'm going to ask you to follow the same process for the last two numbers.

      Now, before I step through this process, let me introduce this table.

      This helps us with binary maths because it tells us what the decimal value is for each position in binary.

      Now, this table has eight positions, shown as 1 to 8 on the table, and so it works for 8-bit binary numbers.

      Remember, each part of an IP address, each number between the periods, is actually an 8-bit binary number.

      Now, each position in this table has a value, so 128, then 64, then 32, 16, 8, 4, 2 and finally 1.

      It means a binary 1 in that position has the associated value in decimal.

      So a 1 at position 1 is 128 in decimal, a 1 at position 4 is 16 in decimal, and a 1 at position 8 is 1 in decimal.

      We're going to use this table to help us convert decimal numbers into binary.

      We're going to move in the table from left to right, starting at position 1, moving through to position 8.

      At each position, we're going to follow a process.

      It's going to be the same process with a number of rules, and if you learn how to follow these rules, it makes the conversion really easy.

      So once again, for a given decimal part of the IP address, so in this case, the first one we're going to look at is 1, 3, 3.

      We're going to work through this table left to right, and as I mentioned earlier, I'm going to demonstrate the process for 1, 3, 3 and 33, and then you're going to follow the process for 33 and 7.

      So we start on the table in position 1, we compare our decimal numbers, so 133, to the value in the current position of the table, which is 128.

      Now, rule number one is that if our number is smaller than the corresponding binary position value, then you write 0 in that position at the table that you're in, in this case, position 1, and then you move on to the next position, starting processing using rule number one again.

      However, if our number is greater or equal to the binary position value, then rule 2 applies.

      Now, this is the case for us because 133 is more than 128.

      So what we do is we minus the binary position value, so 128, from our number, so that means 133 minus 128, this leaves us with 5.

      So 5 is the remaining decimal value that we have.

      And then we write 1 in this column and move on to position 2.

      A binary 1 in this position is equal to 128, so all that we've done is transfer 128 of the decimal value into the corresponding binary value.

      So we've added a binary 1 here and we've removed 128 from our decimal number, leaving 5.

      And now we can continue the process to convert this remaining 5 into binary.

      So now we reset the process, we move to position 2 in the table and start evaluating again using rule number 1.

      So we're comparing our remaining value, so we have 5 in decimal, against the binary position value in position 2, which is 64.

      So now we compare our number 5 to the value in the table, which is 64.

      So in our case, our decimal value of 5 is smaller than the binary value of position 2, and so we're using rule number 1.

      We add 0 into this column in the table and then we go right back to the start of the process.

      We move on to position 3 and we start evaluating against rule number 1.

      We repeat the same process for positions 3, 4 and 5.

      Our decimal value of 5 is less than all of those values, so 32, 16 and 8.

      So we add 0 in each of those columns and we move on.

      So we've evaluated all of those and they match rule number 1 and so we add 0 and we move on.

      We're just following the same basic rules.

      So now we're at position 6 in the table, we compare our remaining decimal number, so 5, against the value in position 6, which is 4.

      Now it's not smaller, so we move past rule 1, it is larger or equal and so we use rule number 2.

      We add a value of 1 in this binary position and minus this binary position value from our number, so 5 minus 4 equals 1.

      So we have 1 remaining in decimal.

      A binary value of 1 in position 6 is equal to 4 in decimal.

      So we've just added this to the binary number and removed it from the decimal number.

      What this process is doing, bit by bit, is removing value from the decimal value and adding it to the binary 1.

      First it was 128 of the decimal number and just now it was 4 of the decimal number.

      And next we move on to the next position in the table.

      So now we're looking at position 7.

      We're comparing our remaining decimal value of 1 with the binary position value.

      First we're evaluating against rule 1 and because our remaining value of 1 is less than the binary position value, we use a 0 in this column and we move on to the next position.

      So now we're on position 8.

      Again we do a comparison.

      Our decimal value is 1.

      The binary position value is 1 and so we evaluate this against rule 1.

      It's not less.

      We evaluate it against rule 2.

      It is equal or larger.

      And so we add a 1 in this column at the table and then we remove the binary position value from our decimal value.

      So 1 minus 1 is 0 and because we have 0, the process is finished.

      And this means that 133 in decimal is expressed as 1, 0, 0, 0, 1, 0, 1 in binary.

      Now this is one example, so this is converting one part of an IP address.

      Let's run this process through again with the next part of this IP address.

      So this time we're converting the second decimal part of the IP, so 33, into binary.

      We start again with our same process and our same table and we move through the table left to right.

      We start with position 1.

      We compare our decimal number, so 33, to position 1's value, which is 128.

      Is our number less than 128?

      Yes it is and so we use rule number 1.

      We add a 0 into this position at the table and then move on to position 2.

      We compare our decimal number to the value in position 2.

      Is our number less than 64?

      Yes it is and so we use rule number 1.

      We add a 0 into the table and move on to position 3.

      We compare our decimal number, so 33, to position 3's value, which is 32.

      Is our decimal number less than 32?

      No it's not, so we skip rule number 1 and move to rule number 2.

      We minus 32 from our decimal number 33, leaving us with 1's.

      So we've transferred 32 at the decimal value into the binary value and then we move on to position 4 in the table.

      Now hope at this point you start to feel more comfortable and we can speed up.

      At this point we're at position 4 and we can simply repeat the process.

      We compare values if our remaining decimal value is less than the value in the table for that position and we add 0.

      And this is the case for positions 4, 5, 6 and 7.

      So we add 0's into all of those positions.

      Then finally we have position number 8.

      And we compare our remaining decimal number, which is 1, with the value in position 8, which is also 1.

      Is our value less?

      No it's not, so rule number 1 isn't used.

      Is our value larger or equal?

      Yes it is, and so we use rule number 2.

      So we write down 1 in position number 8.

      We minus the binary position value, which is 1, from this number, leaving us 0, and that means we've finished the process.

      So the binary value for 33 is 0, 0, 1, 0, 0, 0, 0, 1.

      Now I want you to try and do this process on your own, on some paper, for the third value of 33, without looking at this lesson.

      This process is the same, but it will let you practice yourself.

      And once you've reached the same value as me, you can follow the same process for the fourth decimal value of 7.

      Once you've done them all, you'll have the full 32-digit binary number, which represents 133.33.33.7.

      So go ahead and pause the video and do the final two calculations yourself, and you can resume it once you've finished.

      Okay, so I hope that was pretty easy for you, and what you should have for the last decimal value of 7, is a binary value of 0, 0, 0, 0, 0, 1, 1, 1.

      If you did, awesome.

      That means you've completed it successfully.

      If not, don't worry, just watch the first part of this video again, and repeat the process.

      Now at this point I want to show you how this works in reverse, converting binary to decimal.

      This time let's say that you want to convert this binary IP address into decimal.

      So both of these are one and the same.

      To start with, we break the IP address into four sections, and this is the same for the binary and the dotted decimal versions.

      So each decimal part between the dots represents the corresponding 8-bit binary value.

      So I've colored these in red, blue, green, and yellow, so left, middle, left, middle, right, and right.

      So this is one and the same.

      They're the same IP address expressed in binary on the left and decimal on the right.

      Now just as before, the easiest way to tackle this is to work left to right, working on one octet, one by one.

      The process of converting this in this direction is much easier.

      We have the conversion table just as before.

      Each binary bit left to right has a value.

      One to eight on the left and one on the right, and we read them one by one.

      So we need to the 8-bit binary components, so each of the different colored squares we go through from left to right, and we look whether there's ones or zeros in each position.

      If there's a one, we take the corresponding number from the table at the bottom of the screen.

      So the first example, the one on the left represents 128.

      So we write that down.

      We write 128 and then a plus.

      If there's a zero, and this is the case for the following four bits, so zero, zero, zero, zero, then we add a zero in our equation.

      So we have one to eight, plus zero, plus zero, plus zero, plus zero.

      Then we have another one, so we look at the table at the bottom for the corresponding binary position value.

      In this case, the number four, so we add that.

      Then we have a zero, so we put zero.

      And then we have another one, so we again look for the corresponding value in the table, which is a one.

      And we add all of those together to get the result.

      In this case, 133.

      So this represents the first part of the IP address, and we follow the same process for all of the remaining parts.

      So zero, zero, one, zero, zero, zero, zero, one represents 33.

      We just take each of the ones in each of the components of the IP address and look up the corresponding binary position value in the table.

      So in the second component of the IP address, there's a one in position three, which is 32, and a one in position eight, which is one, and this represents 33.

      The same is true in the third component, and in the fourth component, there's a one in position six, seven, and eight, which represents four, two, and one.

      So we add four, two, and one together to get the result and value.

      So if you follow that process bit by bit for each eight-bit component of the binary IP address, then you will end up with the dotted decimal version of the IP address, which is exactly what we've done here.

      So why don't you go ahead and pick a random IP address and follow the same process through and see if you get the correct result.

      And then once you have the correct result, take that dotted decimal IP address and follow the previous process to convert it from decimal to binary, and you should end up with the same result that you started with.

      If you do, that means you understand the end-to-end process of binary to decimal and decimal to binary, and I promise you this does represent a superpower, so it's really important that you understand.

      At this point, I'll let everything I want to cover, so go ahead and complete the video, and when you're ready, I'll look forward to you joining me in the next.

    1. Welcome back and in this lesson I want to cover a few really important topics which will be super useful as you progress your general IT career, but especially so for anyone who is working with traditional or hybrid networking.

      Now I want to start by covering what a VLAN is and why you need them, then talk a little bit about Trump connections and finally cover a more advanced version of VLANs called Q in Q.

      Now I've got a lot to cover so let's just jump in and get started straight away.

      Let's start with what I've talked about in my technical fundamentals lesson so far.

      This is a physical network segment.

      It has a total of eight devices, all connected to a single, layer 2 capable device, a switch.

      Each LAN, as I talked about before, is a shared broadcast domain.

      Any frames which are addressed to all Fs will be broadcast on all ports of the switch and reach all devices.

      Now this might be fine with eight devices but it doesn't scale very well.

      Every additional device creates yet more broadcast traffic.

      Because we're using a switch, each port is a different collision domain and so by using a switch rather than a layer 1 hub we do improve performance.

      Now this local network also has three distinct groups of users.

      We've got the game testers in orange, we've got sales in blue and finance in green.

      Now ideally we want to separate the different groups of devices from one another.

      In larger businesses you might have a requirement for different segments of the network from normal devices, for servers and for other infrastructure.

      Different segments for security systems and CCTV and maybe different ones for IoT devices and IP telephony.

      Now if we only had access to physical networks this would be a challenge.

      Let's have a look at why.

      Let's say that we talk each of the three groups and split them into either different floors or even different buildings.

      On the left finance, in the middle game testers and on the right sales.

      Each of these buildings would then have its own switch and the switches in those buildings would be connected to devices also in those buildings.

      Which for now is all the finance, all the game tester and all the sales teams and machines.

      Now these switches aren't connected and because of that each one is its own broadcast domain.

      This would be how things would look in the real world if we only had access to physical networking.

      And this is fine if different groups don't need to communicate with us so we don't require cross domain communication.

      The issue right now is that none of these switches are connected so the switches have no layer 2 communications between them.

      If we wanted to do cross building or cross domain communications then we could connect the switches.

      But this creates one larger broadcast domain which moves us back to the architecture on the previous screen.

      What's perhaps more of a problem in this entirely physical networking world is what happens if a staff member changes role but not building.

      In this case moving from sales to game tester.

      In this case you need to physically run a new cable from the middle switch to the building on the right.

      If this happens often it doesn't scale very well and that is why some form of virtual local area networking is required.

      And that's why VLANs are invaluable.

      Let's have a look at how we support VLANs using layer 2 as the OSI 7-Line model.

      This is a normal Ethernet frame.

      In the context of this lesson what's important is that it has a source and destination MAC address fields together with a payload.

      Now the payload carries the data.

      The source MAC address is the MAC address of the device which is creating and sending the frame.

      The destination MAC address can contain a specific MAC address which means that it's a unique S-frame to a frame that's destined for one other device.

      Or it can contain all F's which is known as a broadcast.

      And it means that all of the devices on the same layer 2 network will see that frame.

      What a standard frame doesn't offer us is any way to isolate devices into different parts, different networks.

      And that's where a new standard comes in handy which is known as 802.1Q, also known as .1Q. .1Q changes the frame format of the standard Ethernet frame by adding a new field, a 32-bit field in the middle in Scion.

      The maximum size of the frame as a result can be larger to accommodate this new data. 12 bits of this 32-bit field can be used to store values from 0 through to 4095.

      This represents a total of 4096 values.

      This is used for the VLAN ID or VID.

      A 0 in this 12-bit value signifies no VLAN and 1 is generally used to signify the management VLAN.

      The others can be used as desired by the local network admin.

      What this means is that any .1Q frames can be a member of over 4,000 VLANs.

      And this means that you can create separate virtual LANs or VLANs in the same layer 2 physical network.

      A broadcast frame so anything that's destined to all PEPs would only reach all the devices which are in the same VLAN.

      Essentially, it creates over 4,000 different broadcast domains in the same physical network.

      You might have a VLAN for CCTV, a VLAN for servers, a VLAN for game testing, a VLAN for guests and many more.

      Anything that you can think of and can architect can be supported from a networking perspective using VLANs.

      But I want you to imagine even bigger.

      Think about a scenario where you as a business have multiple sites and each site is in a different area of the country.

      Now each site has the same set of VLANs.

      You could connect them using a dedicated wide area network and carry all of those different company specific VLANs and that would be fine.

      But what if you wanted to use a comms provider, a service provider who could provide you with this wide area network capability?

      What if the comms provider also uses VLANs to distinguish between their different clients?

      Well, you might face a situation where you use VLAN 1337 and another client of the comms provider also uses VLAN 1337.

      Now to help with this scenario, another standard comes to the rescue, 802.1AD.

      And this is known as Q in Q, also known as provider bridging or stacked VLANs.

      This adds another space in the frame for another VLAN field.

      So now instead of just the one field for 802.1Q VLANs, now you have two.

      You keep the same customer VLAN field and this is known as the C tag or customer tag.

      But you add another VLAN field called the service tag or the S tag.

      This means that the service provider can use VLANs to isolate their customer traffic while allowing each customer to also use VLANs internally.

      As the customer, you can tag frames with your VLANs and then when those frames move onto the service provider network, they can tag with the VLAN ID which represents you as a customer.

      Once the frame reaches another of your sites over the service provider network, then the S tag is removed and the frame is passed back to you as a standard .1Q frame with your customer VLAN still tagged.

      Q in Q tends to be used for larger, more complex networks and .1Q is used in smaller networks as well as cloud platforms such as AWS.

      For the remainder of this lesson, I'm going to focus on .1Q though if you're taking an advanced networking course of mine, I will be returning to the Q in Q topic in much more detail.

      For now though, let's move on and look visually at how .1Q works.

      This is a cut down version of the previous physical network I talked about, only this time instead of the three groups of devices we have two.

      So on the left we have the finance building and on the right we have game testers.

      Inside these networks we have switches and connected to these switches are two groups of machines.

      These switches have been configured to use 802.1Q and ports have been configured in a very specific way which I'm going to talk about now.

      So what makes .1Q really cool is that I've shown these different device types as separate buildings but they don't have to be.

      Different groupings of devices can operate on the same layer to switch and I'll show you how that works in a second.

      With 802.1Q ports and switches are defined as either access ports or trunk ports and access ports generally has one specific VLAN ID or vid associated with it.

      A trunk conceptually has all VLAN IDs associated with it.

      So let's say that we allocate the finance team devices to VLAN 20 and the game tester devices to VLAN 10.

      We could easily hit any other numbers, remember we have over 4,000 to choose from, but for this example let's keep it simple and keep 10 and 20.

      Now right now these buildings are separate broadcast domains because they have separate switches which are not connected and they have devices within them.

      Two laptops connected to switch number one for the finance team and two laptops connected to switch number two for the game tester team.

      Now I mentioned earlier that we have two types of switch ports in a VLAN cable network.

      The first are access ports and the ports which the orange laptops on the right are connected to are examples of access ports.

      Access ports communicate with devices using standard Ethernet which means no VLAN tags are applied to the frames.

      So in this case the laptop at the top right sends a frame to the switch and let's say that this frame is a broadcast frame.

      When the frame exits an access port it's tagged with a VLAN that the access port is assigned to.

      In this case VLAN 10 which is the orange VLAN.

      Now because this is a broadcast frame the switch now has to decide what to do with the frame and the default behaviour for switches is to forward the broadcast out of all ports except the one that it was received on.

      For switches using VLANs this is slightly different.

      First it forwards to any other access ports on the same VLAN but the tagging will be removed.

      This is important because devices connected to access ports won't always understand 802.1Q so they expect normal untagged frames.

      In addition the switch will fold frames over any trunk ports.

      A trunk port in this context is a port between two switches for example this one between switch two and switch one.

      Now a trunk port is a connection between two dot 1Q capable devices.

      It forwards all frames and it includes the VLAN tagging.

      So in this case the frame will also be forwarded over to switch one tagged as VLAN 10 which is the gain tester VLAN.

      So tagged dot 1Q frames they only get forwarded to other access ports with the same VLAN but they have the tag stripped or they get forwarded across trunk ports with the VLAN tagging intact.

      And this is how broadcast frames work.

      For unicast ones which go to a specific single MAC address well these will be either forwarded to an access port in the same VLAN that the specific device is on or if the switch isn't aware of the MAC address of that device in the same VLAN then it will do a broadcast.

      Now let's say that we have a device on the finance VLAN connected to switch two.

      And let's say that the bottom left laptop sends a broadcast frame on the finance VLAN.

      Can you see what happens to this frame now?

      Well first it will go to any other devices in the same VLAN using access ports meaning the top left laptop and in that case the VLAN tag will be removed.

      It will also be forwarded out of any trunk ports tagged with VLAN 20 so the green finance VLAN.

      It will arrive at switch two with the VLAN tag still there and then it will be forwarded to any access ports on the same VLAN so VLAN 20 on that switch but the VLAN tagging will be removed.

      Using virtual LANs in this way allows you to create multiple virtual LANs or VLANs.

      With this visual you have two different networks.

      The finance network in green so the two laptops on the left and the one at this middle bottom and then you have the gain testing network so VLAN 10 meaning the orange one on the right.

      Both of these are isolated.

      Devices cannot communicate between VLANs which are led to networks without a device operating between them such as a layer 3 router.

      Both of these virtual networks operate over the top of the physical network and it means that now we can configure this network in using virtual configuration software which can be configured on the switches.

      Now VLANs are how certain things within AWS such as public and private vifs on direct connect works so keep this lesson in mind when I'm talking about direct connect.

      A few summary points though that I do want to cover before I finish up with this lesson.

      First VLANs allow you to create separate layer 2 network segments and these provide isolation so traffic is isolated within these VLANs.

      If you don't configure and deploy a router between different VLANs then frames cannot leave that VLAN boundary so they're virtual networks and these are ideal if you want to configure different virtual networks for different customers or if you want to access different networks for example when you're using direct connect to access VPCs.

      VLANs offer separate broadcast domains and this is important.

      They create completely separate virtual network segments so any broadcast frames within a VLAN won't leave that VLAN boundary.

      If you see any mention of 802.1Q then you know that means VLANs.

      If you see any mention of VLANs stacking or provide a bridging or 802.1AD or Q in Q this means nested VLANs.

      So having a customer tag and a service tag allowing you to have VLANs in VLANs and these are really useful if you want to use VLANs on your internal business network and then use a service provider to provide wide area network connectivity who also uses VLANs and if you are doing any networking exams then you will need to understand Q in Q as well as 802.1Q.

      So with that being said that's everything I wanted to cover.

      Go ahead and complete this video and when you're ready I'll look forward to you joining me in the next.

    1. Welcome back and in this video I want to step through the architecture and challenges of distributed denial of service attacks known as DDoS attacks.

      Now we've got a lot to cover, so let's get started.

      Distributed denial of service attacks come in many forms, a few different ways of achieving the same end goal, which is to overload websites or other internet-based services.

      The idea is to generate some kind of traffic which competes against legitimate connections and overloads the hardware or software providing the service.

      Imagine trying to get into an Apple Store on the day when a new iPhone is released.

      How hard is it to get into the store and get service?

      What if you added 100,000 random people who just want to queue for no reason and waste the time of the Apple Store staff?

      That's the physical equivalent of a DDoS attack.

      The challenge when dealing with DDoS attacks comes from the distributed nature of those attacks.

      It's hard to identify and block traffic because there can be millions of IP addresses involved with larger internet-scale attacks.

      Dealing with DDoS attacks requires specific hardware or software protections.

      We won't be covering those in this video, I'm limiting this to just discussing how DDoS attacks work, so the architecture of all the different types of DDoS attacks.

      Now DDoS attacks themselves generally fit into one of three categories.

      First, application layer attacks such as HTTP floods, and these take advantage of the imbalance of processing between client and server.

      It's easy for you to request a web page, but it's often very complex for a server to deliver that same page.

      If you multiply that load difference by a billion, it's easy for you to request a web page, but it's often very complex for a server to deliver that same page.

      If you multiply that load difference by a billion, then you can have a potentially devastating attack.

      Next, we've got protocol-based attacks such as SYNFLUDS, and SYNFLUDS takes advantage of the connection-based nature of requests.

      Normally, a connection is initiated via a three-stage handshake, which I detailed in a separate video of this series.

      While SYNFLUDS spoof a source ID address and initiate the connection attempt with a server, the server tries to perform step-to-other handshake, but it can't contact the source address because it's spoofed.

      In general, it hangs here waiting for a specified duration, and this consumes network resources.

      And again, if you multiply this effect by a billion, this can have significant impact on your ability to provide a service.

      Lastly, we have volumetric attacks such as DNS amplification, and this relies on how certain protocols such as DNS only take small amounts of data to make the request such as a DNS resolution request, but in response to that, they can deliver a large amount of data.

      So one example is an attack of this nature might make requests to DNS servers with a large number of independent requests, where the source address is spoofed to be the actual IP address of our website.

      And their servers, potentially hundreds or thousands of them, respond to what they see as legitimate requests and overwhelm a service.

      D-dot attacks are often orchestrated by one or a small number of people who are in control of huge botnets, and botnets are constructed of machines such as your laptop or your desktop infected with malware.

      Most attacks come from these botnets which are constructed from infected hosts, and the owners of these hosts don't even realize that they're part of the attack.

      Now let's look at how these attacks work visually, but before we do that, it's worth reviewing what a valid application architecture should look like.

      When a website is working as intended, it looks something like this.

      First, we have a number of servers which provide the website functionality, in this case, Categoram.io.

      These servers are normally provisioned either based on normal load plus a bit of extra as a buffer, or they're built to autoscale, which means adding more servers when loading creases and removing servers as load decreases.

      Now these servers run within a hosting environment which is connected to the public internet via a data connection, which, depending on the speed of this connection, has a limited amount of data that it can transfer and a limit on the number of connections it can handle.

      Then our application has users who are using a mobile application to upload their latest captures using TCP port 443.

      Now this is HTTPS, and these connections move across our data connection and arrive at the application servers.

      Now in normal circumstances, the vast majority of these connections will be from legitimate users of the application.

      So this is how it should work.

      We have an application, the servers are sized appropriately, we have an appropriate data connection, and our users are accessing the application using this infrastructure.

      Now let's step through what happens with the various different forms of DDoT attack.

      The first type of DDoT attack is the application layer attack.

      Architecturally, behind the scenes we have an attacker who is controlling a network of compromise machines known as a botnet.

      This botnet, or more specifically, the machines which form the botnet, are distributed geographically.

      [Pause] [Pause] In most circumstances, the real owners of these machines have no knowledge that they've been compromised.

      An application-led DDoT attack, as I mentioned at the start of this video, uses the computational imbalance of client-server communications as an attack method.

      It's easy, for instance, for the botnets to make simple requests to the application.

      In this case, a HTTP GET of a page called reallycomplex.php.

      The botnet floats hundreds of thousands, or even tens of thousands of these requests, each of them directed towards the Catergram servers.

      This would mean millions or more of these really simple requests, which are all requesting, are reallycomplex.php page.

      The issue is that while making these requests is simple, responding to these requests can be computationally expensive, and this can have disastrous effects on the servers.

      It's like throwing hand grenades.

      They're easy to throw, but they're much more difficult to deal with at the receiving end.

      The effect is that our servers, or the data connection, won't have the capacity required to deal with the requests in total.

      The fake attack-based requests will prevent the legitimate requests reaching the servers in a timely way, and this can cause performance issues or failures, essentially a general decrease in service levels.

      Now, as I mentioned earlier in this video, you can't simply block traffic from individual machines, because there can be millions of them, and the data they're sending can in many ways look exactly the same as legitimate traffic, and this is why you have to handle DDoS attacks in a very specific way.

      Now, at this point, let's move on and take a look at another type of DDoS attack.

      This time, it's a protocol-based attack.

      So, with a protocol-based attack, we follow the same basic architecture, where a single or a small group of attackers is controlling a large botnet, and this botnet is constructed of compromised hosts.

      Now, with a protocol attack such as a SYN flood, essentially what happens is a botnet generates a huge number of spoofed SYNs, and SYNs are the initial part of this three-way connection handshake.

      So, essentially, all of these individual machines attempt to initiate a connection with the Catergram.io infrastructure, but crucially, they're using a spoofed IP address.

      In normal circumstances, if these were real connections, what should happen is our server infrastructure would respond back with SYN acts, which are the second part of the three-way handshake.

      Normally, these connection attempts would be from real IP addresses, so IP addresses which are expecting to receive this second part of the three-way handshake.

      But because our botnet has initiated these connections with spoofed IP addresses, there won't be anything on the receiving end for our servers to communicate with, and so, in this case, these requests will simply be ignored.

      Because they're being ignored, it means the connections will stay in this hung state.

      The network resources which would otherwise be used for legitimate connections are waiting for this second part of the three-way handshake, and because the botnet is providing millions and millions of these fake connections, it can mean that network resources are completely consumed with these fake connections, and that means that our legitimate connections won't be able to connect into our infrastructure.

      Essentially, by generating this protocol-based attack, this SYN flood, we're preventing the network resources being used for legitimate requests, and so we're essentially significantly impacting the network capability of this application infrastructure.

      So, because this three-way handshake is designed to work with slower or less reliable connections, our Catergram.io infrastructure will wait.

      It will attempt to connect to these fake source IP addresses.

      And while these connections are waiting for the second part of the three-way handshake, these resources can't be used for legitimate connections.

      And so, if the botnet is large enough, if it contains a sufficient number of compromised hosts, then it can, in theory, completely take down the service provided by the Catergram.io infrastructure.

      Now, let's move on to the third type of attack which I want to cover in this video, and that's known as a volumetric or amplification-based attack.

      Now, this type of attack is still orchestrated by a single person or a small group of people, but with this type of attack, the size of the botnet can be much smaller, because an amplification attack exploits a protocol data imbalance.

      So, a situation where only a small amount of data is required to initiate a request, but the response to that request is much larger.

      In this case, our smaller botnet makes a large number of requests to a large number of DNS servers.

      The requests can be made to a large number of DNS servers and be done frequently, because the amount of data that it takes to make the request is relatively small.

      Now, the botnet will use a spoofed IP address, and it will use the IP address of our application infrastructure.

      So, rather than the DNS servers responding to the botnet, the DNS servers will all respond to our application servers.

      Now, the volume of data in each of those responses is much larger than the volume of data making the initial query to DNS.

      Because of this, the application servers will be quickly overwhelmed.

      This will generally affect the data connection to our application infrastructure, rather than the application server itself, and this will mean that legitimate application users experience degraded levels of performance, because they're competing to use the same total capacity of the application data connection with these fake responses coming in from all of these DNS servers.

      So, this type of attack does impact...

      Our application's ability to provide service, because the amount of data that our connection provides is consumed, but it's done so in a way which uses amplification.

      So, rather than the botnet being required to consume the same amount of bandwidth as our application needs to tolerate, this type of attack can use a tiny amount of bandwidth to initiate the attack, but consume a large amount of bandwidth on the application side, and this makes this type of attack ideally suited to take down larger websites or applications.

      So, these are three different common types of DDoS attacks, which you might come across as a solutions architect, an engineer, or a developer.

      The important thing to understand about all types of DDoS attack is they can't be combated with normal network protection.

      So, because of the distributed nature of the attacks, it's not practical to implement single IP address blocks.

      If you're going to block an entire botnet, then you need to block potentially thousands, tens of thousands, hundreds of thousands, or even millions of IP addresses.

      What's more, if you use a volumetric or amplification style attack, then the actual machines performing the attack might not even be malicious.

      In this case, if you're taking advantage of DNS servers using a DNS amplification attack, then these servers, from their perspective, are doing nothing malicious.

      They're just responding to requests.

      And so, you have to be really careful that in order to mitigate a DDoS attack, you're not actually blocking legitimate traffic or impacting your application's ability to provide a service.

      If you block all DNS servers, then potentially you can have other issues with your application.

      Now, AWS and other cloud environments do provide products and services which are specifically designed to help you combat DDoS attacks.

      And now that you're aware of the architecture and how these attacks can impact your application, it's going to be much easier for you to understand these different products and services.

      Now, with that being said, that's everything that I wanted to cover in this video.

      So, go ahead and complete the video.

      And when you're ready, I'll look forward to you joining me in the next.

    1. Welcome back.

      This is part two of this lesson.

      We're going to continue immediately from the end of part one.

      So let's get started.

      Subnetting is the process of breaking networks up into smaller and smaller pieces.

      I've just talked about the class A, B, C, D, and E ranges.

      Now, historically, you couldn't break them down.

      You were allocated one and that was it.

      Classless into domain routing or SIDA, let's just take networks and break them down.

      It defines a way of expressing the size of a network.

      And this is called a prefix.

      An example of this is this /16 network.

      So 10.16.0.0/16.

      In this case, 16 is the prefix.

      Now, you might spot that this is actually inside of the class A network space.

      So class A is between 0.anything and 127.anything.

      And you might also spot that it's in the private class A address space.

      So 10.anything is a private set of addresses.

      But this is only actually a subset of this wider network.

      10.0.0.0/8 would be the full 10.anything range.

      So /8 is the same as a class A network.

      The first octet is the network and the rest is available for hosts or subnetting.

      This is a /16, which means that the first two octets are the network, so 10.16, and the rest is available for hosts or subnetting.

      So this /16 is a smaller network within the 10.0.0.0/8, bigger class A network.

      The larger the prefix value, the smaller the network.

      And that's a useful one to remember.

      Subnetting is a pretty complex process to do well, but you can learn the basics easily enough.

      Take this network as an example.

      10.16.0.0/16.

      If you watched my network fundamental series of videos, you'll know that 10.16.0.0/16 is a range which starts at 10.16.0.0 and ends at 10.16.255.255. /16 tells us that the network part is the first two octets, so 10 and 16.

      The network range, therefore, is 0.0 to 255.255 in the hosts part of the IP address.

      Now, let's say that we were allocated this range within our organization, but we needed to break it down into multiple networks.

      So rather than one large network, let's say, for example, we needed four smaller networks.

      But what we can do is to subnet this network.

      We can break it down.

      All we do is that we break this network into two.

      The single /16 becomes two /17 networks.

      The first network starts at the starting point of the original network and ends at the halfway point, the point at which the second network starts.

      So the first subnetwork is 10.16.0.0 through to 10.16.127.255, so the halfway point.

      And the second network starts at 10.16.128.0 and goes through to 10.16.255.255.

      So one /16 network is the same as two /17 networks.

      But now we can use these two networks for different things within our organization.

      Now, we could follow the same process again if we needed more subnets.

      For now, we could keep the first /17 network at the top in red, but break the bottom one in green into two networks, so two /18 networks.

      The method would be the same, so the first subnetwork, so bottom left, would start at the starting point of the original bottom network, so 10.16.128.0.

      The second smaller network, so bottom right, would start at the midway point of the original network.

      So these two networks are both /18, which are half the size of the original /17.

      And this gives us three subnets, a /17 at the top and two smaller /18s at the bottom.

      We could follow the same process again.

      Remember, our target here is for subnets, so we can break down the top /17 network into two /18 networks.

      The upper left /18 network starts at the starting point of the previous /17 network, and it ends at the halfway point.

      The upper right /18 network starts at the midpoint and goes through to the end.

      So this is how subnetting and side-up works.

      The entire internet is a /0 network.

      That's why 0.0.0.0, which you'll see as a default route, matches the entire internet.

      All the way through to a /8, which is a class A network, /16, which is a class B network, and /24, which is a class C network.

      And then all the way through to /32, which represents a single IP address.

      Now this process will become much clearer once you start using this in lab or production environments.

      Generally, when you perform subnetting, you'll be breaking down a larger network into two, four, eight, or more smaller networks, always breaking into two and then into two again.

      But while it is unusual, it is possible to have odd numbers.

      You can break a network into two and then break only one half of that into two more, and this gives you three subnets.

      And this is the example at the top right of the screen.

      Now this is unusual, but it doesn't break any rules.

      Subnetting is the process of taking a larger network and breaking it down into more smaller networks, each of which has a higher prefix, which means a smaller network.

      So now that you know the high-level process, I've gone through it graphically.

      Let's take a look at this in a little bit more detail before we finish.

      We don't use the same example.

      And plus before, only now with more detail.

      So we start with a /16 network, 10.16.0.0.

      Assuming we need four smaller networks, the starting point is to calculate the start and end of this network range.

      In this case, 10.16.0.0/16 starts at 10.16.0.0, and finishes at 10.16.255.255.

      So we know that any /17 networks will be half of this size.

      So step two is to split the original range into two.

      The first /17 network starts at the starting point of the original network, so 10.16.0.0, and ends halfway through at the original range, so 10.16.127.255.

      So 10.16.0.0/17 means 10.16.0.0 through to 10.16.127.255.

      The second smaller network starts at the midpoint, so 10.16.128.0/17, so this starts at 10.16.128.0, and ends at 10.16.255.255.

      You've split the original /16 into two.

      You've created two smaller /17 networks, each of which occupies half of the original address space.

      Now, further splits follow the same process.

      Each smaller network has a higher prefix value, and is half the size of the parent's network range.

      Its first smaller network starts at the same starting address and finishes halfway, and the second one starts at the halfway point and finishes at the end.

      In this case, we have 10.16.128.0/18, and 10.16.192.0/18.

      Both of these are within the larger /17 range of 10.16.128.0/17.

      If you just think about this process as splitting the network range in half, you're going to create two smaller networks, one which uses the first half and one which uses the second half.

      And we can do the same process with the upper subnet, so 10.16.0.0/17, so the network in red.

      We can split that range in half, creating two smaller networks.

      We've got 10.16.0.0/18, and 10.16.64.0/18.

      Now, becoming proficient with this process just takes time.

      You need to understand how to calculate IP addresses, how subnet masks and prefixes work, and then you can just follow this process step by step to break down large networks into more and more smaller subnets.

      Eventually, you won't even need to calculate it at all.

      It will just become instinctive.

      I know at this point it might seem like a fair distance off, but I promise it will happen.

      Now, at this point, that's everything I wanted to cover in this lesson.

      I know it's been a lot of theory.

      Go ahead and finish the video.

      I'm on your ready.

      I look forward to you joining me in the next video.

    1. IP Address Space & Subnetting - PART1

      Welcome back and welcome to another video of this Network Fundamental series where I'll be discussing IP addressing and IP subnetting.

      Now we've got a lot to cover, so let's jump in and get started.

      IP version 4 addressing has been around since the early days of the internet.

      In fact, it was standardized in 1981 via the RFC 791 document, which is attached to this lesson if you want to take a look.

      Now it's still the most popular network layer protocol in use on the internet.

      IP version 4 addresses occupy a range from 0.0.0.0 to 255.255.255.255.

      And this is just under 4.3 billion IP addresses.

      Now that sounds like a lot, but with a current world population around the 8 billion mark, that's less than one IP version 4 address per person.

      Now the address space was originally fully managed by an organization called IANA, which is the internet assigned numbers authority.

      More recently though, parts of the address space have been delegated to regional authorities such as RIPE, ARIN and APNIC.

      Now the key thing to understand is that with a few exceptions, IP version 4 addressing is allocated, and that means that you have to be allocated public IP version 4 addresses in order to use them.

      You can't simply pick a random address and expect it to work on the public internet without significant issues.

      Now there is part of the address space which is private, and that's the addresses which are generally used within home networks, business networks and cloud platforms such as AWS or Azure.

      The private address space can be used and reused freely.

      So now you know there are 4.294 billion IP version 4 addresses.

      You know they start at 0.0.0.0 and end at 255.255.255.255.

      Now historically, this range was divided into multiple smaller ranges which are allocated for specific functions.

      First, the class A address space which starts at 0.0.0.0 and ends at 127.255.255.255.

      Now this range contains 128 networks, each of which has 16.7 million addresses.

      So these networks are 0.anything which is reserved 1.anything, 2.anything, all the way up to 127.anything.

      The first octet denotes the network with the remaining octets available for hosts or for subnetting as we'll cover later in this video.

      So this class of IP addresses, so class A, these were generally used for huge networks and historically these were allocated to huge businesses or organisations which had an internet presence in the early days of the internet.

      So businesses like Apple, the Ford Motor Company, the US Postal Service or various parts of the US military.

      Many of those organisations have since given up those ranges and these are now allocated to the regional managers of the IP address space for allocation to users in that region.

      Now next we have the class B address space and this starts at 128.0.0.0 and it ends at 191.255.255.255.

      Now this part of the IP address space offers a total of 16,384 networks, each of them containing 65,536 IP addresses.

      So this space was typically used for larger businesses which didn't need a class A allocation.

      Like with addresses in the class A space, these are now generally allocated to the regional authorities and they manage them and allocate them out to any organisation who requests and can justify addresses in this range.

      Now these networks take the format of 128.0.anything, 128.1.anything, 128.2.anything and then all the way through to 191.253.anything, 191.254.anything and then finally 191.255.anything.

      Now with this range of IP addresses so class B, the first two octets are for the network and the last two are for the organisation to assign to devices or to subnet into smaller networks and we'll be talking about that later in this video.

      Next we have the class C range which starts at 192.0.0.0 and ends at 223.255.255.255.

      Now this range provides over 2 million networks, each containing 256 IP addresses.

      So examples of this range include 192.0.1.anything and 192.0.2.anything.

      With class C networks, the first three octets denote the network and the remaining is available for hosts or for subnetting.

      Class C networks are historically used for smaller businesses who required an IP version 4 presence but weren't large enough for class B or class A addressing and these two are generally now allocated and controlled by regional authorities.

      Now there are two more classes, class B and class E, but these are beyond the scope of what this video covers.

      Class B is used for multicast and class E is reserved, so I'll cover those at another time.

      Now within this public IP version 4 space, certain networks are reserved for private use and this means you can use them however you want, but they aren't roundable across the public IP version 4 internet so these can only be used for private networks or cloud platforms such as AWS who often use them for private networking.

      So let's take a look at those.

      Private IP addresses are defined within a standards document called RFC1918 and this document defines three ranges of IP version 4 addresses which you're free to use internally.

      Now these can't be routed across the internet, but you can use them as you choose internally and as often as required and this is one reason why network address translation is needed to translate these private addresses into publicly roundable addresses so they can communicate with the internet and I cover network address translation in a separate video.

      The first private range is a single class A network which starts at 10.0.0.0 and ends at 10.255.255.255 and it provides a total of 16.7 million IP version 4 addresses.

      Now this private range is often used within cloud environments and it's generally chopped up into smaller subnetworks which I'll be covering later on in this video.

      The next private range is from 172.16.0.0 through to 172.31.255.255.

      Now this is a collection of class B networks, 16 of them to be precise so you have 172.16.anything, 172.17.anything, 172.18.anything and so on all the way through to 172.31.anything.

      Now each of these networks contains 65,536 addresses and in AWS one of these private ranges 172.31 is used for the default VPC and again these networks are generally broken into smaller subnetworks when used.

      Lastly we have 192.168.0.0 to 192.168.255.255 and this range is 256 class C networks so that means 192.168.0.anything, 192.168.1.anything, 192.168.2.anything and so on all the way through to 192.168.255.anything so it provides 256 networks each containing 256 addresses and this range is generally used within home and small office networks so my home network for example uses one of these ranges for all of my devices and my router provides NAT or network address translation services in order to allow them to access the public internet.

      Now with any of these ranges you can use them however you want, you can reuse them you can break them up into smaller networks but in all cases you should try and avoid using the same one multiple times.

      If you ever need to connect private networks together and they use the same network addressing even if it's private you will have trouble configuring that communication.

      Where possible you should always aim to allocate non-overlapping ranges to all of your networks.

      So now let's move on to talk about IP version 6 and the differences between it and IP version 4.

      So to fully understand the need for IP version 6 and the differences it's useful to start with a representation of the IP version 4 address space.

      So we know now that this historically has been broken up into three common classes of IP addresses I've just talked about those.

      All of these IP addresses except for a few exceptions are publicly routable meaning if you have one of them configured on a device then you can communicate with another device which is also using a public IP version 4 address.

      Now I've also just talked about how part of this IP address space is dedicated for use for private networking but this in its entirety is the IP version 4 address space and in total there are 4,294,967,296 IP addresses so this is the total number of IP version 4 addresses available for use.

      Now this might sound like a lot but that's less than one person alive on the planet today and how many of us have a mobile phone and the computer so we have multiple devices already.

      What about providers like AWS who have huge public IP addressing requirements?

      Well IP version 6 was designed to solve this problem.

      The problem that we have far too few IP version 4 addresses and at this point we've essentially exhausted the supply.

      With IP version 6 we have more IP addresses to use and to fully appreciate this I want to change the perspective.

      This doesn't even do the scale justice but any smaller and you won't be able to see the blue square which now represents the total IP version 4 address space.

      Imagine the blue square is actually several thousand times smaller than it is now and with that in mind this is how the IP version 6 address space looks in comparison.

      The entire IP version 4 address space available on the public IP version 4 internet is just over 4 billion IP version 4 addresses.

      With IP version 6 the entire address space is 340 trillion trillion trillion addresses.

      Now humans are bad with large numbers but to put this into perspective it means that there are 670 quadrillion IP version 6 IP addresses per square millimeter of the Earth's surface or to put it another way 50 octillion IP addresses per human alive today or 79 octillion IP version 4 internet's worth of addressing within the IP version 6 address space.

      Now think about that for a moment it's enough to give you a headache there are 79 octillion sets of 4.3 billion IP addresses in the IP version 6 address space.

      That is an incredibly large number.

      Now I don't expect you to remember all of these numbers.

      What I want to do is make you comfortable with just how many IP version 6 addresses are available for use.

      With IP version 6 the concept of IP addresses as a valuable commodity just goes away.

      There are so many of them that you essentially don't require detailed IP management anymore it's just not a scarce resource.

      So that's IP version 6.

      Next I want to talk about subnetting from an IP version 4 perspective because this is a really useful skill that you should have when you start using a cloud environment.

      Okay so this is the end of part one of this lesson.

      It was getting a little bit on the long side and so I wanted to add a break.

      It's an opportunity just to take a rest or grab a coffee.

      Part 2 will be continuing immediately from the end of part one.

      So go ahead complete the video and when you're ready join me in part two.

    1. Author response:

      The following is the authors’ response to the original reviews.

      eLife Assessment 

      This study is a detailed investigation of how chromatin structure influences replication origin function in yeast ribosomal DNA, with focus on the role of the histone deacetylase Sir2 and the chromatin remodeler Fun30. Convincing evidence shows that Sir2 does not affect origin licensing but rather affects local transcription and nucleosome positioning which correlates with increased origin firing. However, the evidence remains incomplete as the methods employed do not rigorously establish a key aspect of the mechanism, fully address some alternative models, or sufficiently relate to prior results. Overall, this is a valuable advance for the field that could be improved to establish a more robust paradigm. 

      We have added extensive new results to the manuscript that, we believe, address all three criticisms above, namely that the methods employed do not (1) rigorously establish a key aspect of the mechanism; (2) fully address some alternative models; or (3) sufficiently relate to prior results.

      Public Reviews: 

      Reviewer #1 (Public Review): 

      Summary: 

      This paper presents a mechanistic study of rDNA origin regulation in yeast by SIR2. Each of the ~180 tandemly repeated rDNA gene copies contains a potential replication origin. Earlyefficient initiation of these origins is suppressed by Sir2, reducing competition with origins distributed throughout the genome for rate-limiting initiation factors. Previous studies by these authors showed that SIR2 deletion advances replication timing of rDNA origins by a complex mechanism of transcriptional de-repression of a local PolII promoter causing licensed origin proteins (MCMcomplexes) to re-localize (slide along the DNA) to a different (and altered) chromatin environment. In this study, they identify a chromatin remodeler, FUN30, that suppresses the sir2∆ effect, and remarkably, results in a contraction of the rDNA to about onequarter it's normal length/number of repeats, implicating replication defects of the rDNA. Through examination of replication timing, MCM occupancy and nucleosome occupancy on the chromatin in sir2, fun30, and double mutants, they propose a model where nucleosome position relative to the licensed origin (MCM complexes) intrinsically determines origin timing/efficiency. While their interpretations of the data are largely reasonable and can be interpreted to support their model, a key weakness is the connection between Mcm ChEC signal disappearance and origin firing.  

      Criticism: The reviewer expressed concern about the connection between Mcm ChEC signal disappearance and origin firing.

      To further support our claim that the disappearance of the MCM signal in our ChEC datasets reflects origin firing, we now present additional data using the well-established method of MCM Chromatin IP (ChIP).

      (1) New Supporting Evidence:  ChIP at genome-wide origins. In Figure 5 figure supplement 2, we demonstrate that the Mcm2 ChIP signal in cells released into hydroxyurea (HU) is significantly reduced at early origins compared to late origins, which mirrors the pattern observed with the MCM2 ChEC signal. This reduction in the ChIP signal at early origins supports the interpretation that the MCM signal disappearance is associated with origin firing.

      (2) New supporting based evidence:  ChIP at rDNA Origins. Our ChIP analysis also shows that the disappearance of the MCM signal at rDNA origins in sir2Δ cells released into HU is accompanied by signal accumulation at the replication fork barrier (RFB), indicative of stalled replication forks at this location (Figure 5 figure supplement 3). This pattern is consistent with the initiation of replication at these origins and fork stalling at the RFB.

      (3) New supporting evidence:  2D gels with quantification. Furthermore, additional 2D gel electrophoresis results provide ample independent evidence of rDNA origin firing in HU in sir2Δ mutants and suppression of origin firing in sir2 fun30 cells. These new data include 1) quantification of 2D gels in Figure 4D and 2) new 2D gels presented in Figure 4C as described below in greater detail. Collectively, these results demonstrate that rDNA origins fire prematurely in HU in sir2 cells and that firing is suppressed by FUN30 deletion. These additional data reinforce our model and support the association between MCM signal disappearance and replication initiation.

      While the cyclical chromatin association-dissociation of MCM proteins with potential origin sequences may be generally interpreted as licensing followed by firing, dissociation may also result from passive replication and as shown here, displacement by transcription and/or chromatin remodeling.

      The reviewer raised a concern that the cyclical chromatin association-dissociation of MCM proteins could be interpreted as licensing followed by firing, but might also result from passive replication or displacement by transcription and chromatin remodeling.

      Addressing Alternative Explanations:

      (1) Selective Disappearance of MCM Complexes: While transcription and passive replication can indeed cause the MCM-ChEC signal to disappear, these processes cannot selectively cause the disappearance of the displaced MCM complex without also affecting the non-displaced MCM complex. Specifically, RNA polymerase transcribing C-pro would first need to dislodge the normally positioned MCM complex before reaching the displaced complex, which is not observed in our data.

      (2) Role of FUN30 Deletion:  FUN30 deletion results in increased C-pro transcription and reduced disappearance of the displaced MCM complex. This observation supports our model, as transcription alone would not selectively affect the displaced MCM complex while leaving the normally positioned MCM complex unaffected.

      (3) Licensing Restrictions: It is crucial to note that continuous replenishment of displaced MCMs with newly loaded MCMs is not possible in our experimental conditions, as the cells are in S phase and licensing is restricted to G1. This temporal restriction further supports our interpretation that the disappearance of the MCM signal reflects origin firing rather than alternative processes.

      In summary, while alternative explanations such as transcription and passive replication could potentially account for MCM signal disappearance, our data indicate that these processes cannot selectively affect the displaced MCM complex without impacting the non-displaced complex. The selective disappearance observed in our experiments, along with the effects of FUN30 deletion and the temporal constraints on MCM loading, strongly support our interpretation that the disappearance of the MCM signal reflects origin firing.

      Moreover, linking its disappearance from chromatin in the ChEC method with such precise resolution needs to be validated against an independent method to determine the initiation site(s). Differences in rDNA copy number and relative transcription levels also are not directly accounted for, obscuring a clearer interpretation of the results. 

      The reviewer raised concerns about the need to validate the disappearance of MCM from chromatin observed using the ChEC method against an independent method to determine initiation sites. Additionally, they pointed out that differences in rDNA copy number and relative transcription levels are not directly accounted for, which may obscure the interpretation of the results.

      (1) Reduced rDNA Copy Number promotes Early Replication: Copy number reduction of the magnitude caused by deletion of both SIR2 and FUN30 is not expected to suppress early rDNA replication in sir2, but rather to exacerbate it. Specifically, deletion of SIR2 and FUN30 causes the rDNA to shrink to approximately 35 copies. Kwan et al., 2023 (PMID: 36842087) have shown that a reduction in rDNA copy number to 35 copies results in a dramatic acceleration of rDNA replication in a SIR2+ strain. Therefore, the effect of rDNA size on replication timing reinforces our conclusion that deletion of FUN30 suppresses rDNA replication.

      (2) New 2D Gels in sir2 and sir2 fun30 strains with equal number of rDNA repeats: To directly address the concern regarding differences in the number of rDNA repeats, we have included new 2D gel analyses in the revised manuscript. By using a fob1

      background, we were able to equalize the repeat number between the sir2 and sir2 fun30 strains (Figure 4E). The 2D gels conclusively show that the suppression of rDNA origin firing upon FUN30 deletion is independent of both rDNA size and FOB1.

      Nevertheless, this paper makes a valuable advance with the finding of Fun30 involvement, which substantially reduces rDNA repeat number in sir2∆ background. The model they develop is compelling and I am inclined to agree, but I think the evidence on this specific point is purely correlative and a better method is needed to address the initiation site question. The authors deserve credit for their efforts to elucidate our obscure understanding of the intricacies of chromatin regulation. At a minimum, I suggest their conclusions on these points of concern should be softened and caveats discussed. Statistical analysis is lacking for some claims. 

      Strengths are the identification of FUN30 as suppressor, examination of specific mutants of FUN30 to distinguish likely functional involvement. Use of multiple methods to analyze replication and protein occupancies on chromatin. Development of a coherent model. 

      Weaknesses are failure to address copy number as a variable; insufficient validation of ChEC method relationship to exact initiation locus; lack of statistical analysis in some cases. 

      With regard to "insufficient validation of ChEC method relationship to exact initiation locus":  The two potential initiation sites that one would monitor (non-displaced and displaced) are separated by less than 150 base pairs, and other techniques simply do not have the resolution necessary to distinguish such differences. Indeed, our new ChIP results presented in Figure 5 figure supplement 3 clearly demonstrate that while the resolution of ChIP is adequate to detect the reduction of MCM signal at the replication initiation site and its relocation to the RFB ( ~2 kb away), it lacks the resolution required to differentiate closely spaced MCM complexes.

      Furthermore, as we suggest in the manuscript, our results are consistent with a model in which it is only the displaced MCM complex that is activated, whether in sir2 or WT.  If no genotypedependent difference in initiation sites is even expected, it would be hard to interpret even the most precise replication-based assays.  

      We appreciate the reviewer pointing out that some statistical analyses were lacking: we have added statistical analysis for 2D gels (Figures 4D and 4E),  EdU incorporation experiments in Figure 4F and disappearance of MCM ChEC and ChIP signal upon release of cells into HU (Figure 5 supplement 1 and Supplement 2).  

      Additional background and discussion for public review: 

      This paper broadly addresses the mechanism(s) that regulate replication origin firing in different chromatin contexts. The rDNA origin is present in each of ~180 tandem repeats of the rDNA sequence, representing a high potential origin density per length of DNA (9.1kb repeat unit). However, the average origin efficiency of rDNA origins is relatively low (~20% in wild-type cells), which reduces the replication load on the overall genome by reducing competition with origins throughout the genome for limiting replication initiation factors. Deletion of histone deacetylase SIR2, which silences PolII transcription within the rDNA, results in increased early activation or the rDNA origins (and reduced rate of overall genome replication). Previous work by the authors showed that MCM complexes loaded onto the rDNA origins (origin licensing) were laterally displaced (sliding) along the rDNA, away from a well-positioned nucleosome on one side. The authors' major hypothesis throughout this work is that the new MCM location(s) are intrinsically more efficient configurations for origin firing. The authors identify a chromatin remodeling enzyme, FUN30, whose deletion appears to suppress the earlier activation of rDNA origins in sir2∆ cells. Indeed, it appears that the reduction of rDNA origin activity in sir2∆ fun30∆ cells is severe enough to results in a substantial reduction in the rDNA array repeat length (number of repeats); the reduced rDNA length presumably facilitates it's more stable replication and maintenance. 

      Analysis of replication by 2D gels is marginally convincing, using 2D gels for this purpose is very challenging and tricky to quantify. 

      We address this criticism by carefuly quantifying 2 D gel results using single rARS signal for normalizing bubble arc as discussed below.

      The more quantitative analysis by EdU incorporation is more convincing of the suppression of the earlier replication caused by SIR2 deletion. 

      We have also added quantification of EdU results to strengthen our arguments.  

      To address the mechanism of suppression, they analyze MCM positioning using ChEC, which in G1 cells shows partial displacement of MCM from normal position A to positions B and C in sir2∆ cells and similar but more complete displacement away from A to positions B and C in sir2fun30 cells. During S-phase in the presence of hydroxyurea, which slows replication progression considerably (and blocks later origin firing) MCM signals redistribute, which is interpreted to represent origin firing and bidirectional movement of MCMs (only one direction is shown), some of which accumulate near the replication fork barrier, consistent with their interpretation. They observe that MCMs displaced (in G1) to sites B or C in sir2∆ cells, disappear more rapidly during S-phase, whereas the similar dynamic is not observed in sir2∆fun30∆. This is the main basis for their conclusion that the B and C sites are more permissive than A. While this may be the simplest interpretation, there are limitations with this assay that undermine a rigorous conclusion (additional points below). The main problem is that we know the MCM complexes are mobile so disappearance may reflect displacement by other means including transcription which is high is the sir2∆ background. Indeed, the double mutant has greater level of transcription per repeat unit which might explain more displaced from A in G1. Thus, displacement might not always represent origin firing. Because the sir2 background profoundly changes transcription, and the double mutant has a much smaller array length associated with higher transcription, how can we rule out greater accessibility at site A, for example in sir2∆, leading to more firing, which is suppressed in sir2 fun30 due to greater MCM displacement away from A? 

      I think the critical missing data to solidly support their conclusions is a definitive determination of the site(s) of initiation using a more direct method, such as strand specific sequencing of EdU or nascent strand analysis. More direct comparisons of the strains with lower copy number to rule out this facet. As discussed in detail below, copy number reduction is known to suppress at least part of the sir2∆ effect so this looms over the interpretations. I think they are probably correct in their overall model based on the simplest interpretation of the data but I think it remains to be rigorously established. I think they should soften their conclusions in this respect. 

      Please see discussion below about these issues.

      Reviewer #2 (Public Review): 

      Summary: 

      In this manuscript, the authors follow up on their previous work showing that in the absence of the Sir2 deacetylase the MCM replicative helicase at the rDNA spacer region is repositioned to a region of low nucleosome occupancy. Here they show that the repositioned displaced MCMs have increased firing propensity relative to non-displaced MCMs. In addition, they show that activation of the repositioned MCMs and low nucleosome occupancy in the adjacent region depend on the chromatin remodeling activity of Fun30. 

      Strengths: 

      The paper provides new information on the role of a conserved chromatin remodeling protein in the regulation of origin firing and in addition provides evidence that not all loaded MCMs fire and that origin firing is regulated at a step downstream of MCM loading. 

      Weaknesses: 

      The relationship between the author's results and prior work on the role of Sir2 (and Fob1) in regulation of rDNA recombination and copy number maintenance is not explored, making it difficult to place the results in a broader context. Sir2 has previously been shown to be recruited by Fob1, which is also required for DSB formation and recombination-mediated changes in rDNA copy number. Are the changes that the authors observe specifically in fun30 sir2 cells related to this pathway? Is Fob1 required for the reduced rDNA copy number in fun30 sir2 double mutant cells? 

      We have conducted additional studies in the fob1 background to address how FOB1 and the replication fork barrier (RFB) influence the kinetics of rDNA size reduction upon FUN30 deletion (Figure 2 - figure supplement 2), rDNA replication timing (Figure 2 - figure supplement 3), and rDNA origin firing using 2D gels (Figure 4C).

      Strains lacking SIR2 exhibit unstable rDNA size, and FOB1 deletion stabilizes rDNA size in a sir2 background (and otherwise). Similarly, we found that FOB1 deletion influences the kinetics of rDNA size reduction in sir2 fun30 cells. Specifically, we were able to generate a fob1 sir2 fun30 strain with more than 150 copies. Nonetheless, and consistent with our model, this strain still exhibited delayed rDNA replication timing (Figure 2 - figure supplement 3), and its rDNA still shrank upon continuous culture (Figure 2 figure supplement 2). These results demonstrate that, although FOB1 affects the kinetics of rDNA size reduction in sir2 fun30 strains, the reduced rDNA array size or delayed replication timing upon FUN30 deletion size does not depend on FOB1.

      The use of the fob1 background allowed us to compare the activation of rDNA origins in sir2 and sir2 fun30 strains with equally short rDNA sizes. 2D gels demonstrate robust and reproducible suppression of rDNA origin activity upon deletion of FUN30 in sir2 fob1 strains with 35 rDNA copies (Figure 4C). These results indicate that the main effect we are interested in—FUN30-induced reduction in origin firing—is independent of both FOB1 and rDNA size.

      Our additional studies conclusively show that the FUN30-induced reduction in rDNA origin firing is independent of both FOB1 and rDNA size. These findings provide important insights into the mechanisms regulating rDNA copy number maintenance, placing our results within the broader context of existing knowledge on Sir2 and Fob1 functions.

      Reviewer #3 (Public Review): 

      Summary: 

      Heterochromatin is characterized by low transcription activity and late replication timing, both dependent on the NAD-dependent protein deacetylase Sir2, the founding member of the sirtuins. This manuscript addresses the mechanism by which Sir2 delays replication timing at the rDNA in budding yeast. Previous work from the same laboratory (Foss et al. PLoS Genetics 15, e1008138) showed that Sir2 represses transcription-dependent displacement of the Mcm helicase in the rDNA. In this manuscript, the authors show convincingly that the repositioned Mcms fire earlier and that this early firing partly depends on the ATPase activity of the nucleosome remodeler Fun30. Using read-depth analysis of sorted G1/S cells, fun30 was the only chromatin remodeler mutant that somewhat delayed replication timing in sir2 mutants, while nhp10, chd1, isw1, htl1, swr1, isw2, and irc3 had not effect. The conclusion was corroborated with orthogonal assays including two-dimensional gel electrophoresis and analysis of EdU incorporation at early origins. Using an insightful analysis with an Mcm-MNase fusion (Mcm-ChEC), the authors show that the repositioned Mcms in sir2 mutants fire earlier than the Mcm at the normal position in wild type. This early firing at the repositioned Mcms is partially suppressed by Fun30. In addition, the authors show Fun30 affects nucleosome occupancy at the sites of the repositioned Mcm, providing a plausible mechanism for the effect of Fun30 on Mcm firing at that position. However, the results from the MNAse-seq and ChEC-seq assays are not fully congruent for the fun30 single mutant. Overall, the results support the conclusions providing a much better mechanistic understanding how Sir2 affects replication timing at rDNA, 

      The observation that the MNase-seq plot in fun30 mutant shows a large signal at the +3 nucleosome and somewhat smaller at position +2, while the ChEC-seq plot exhibits negligible signals, is indeed an important point of consideration. This discrepancy arises because most of the MCM in fun30 mutant remains at its original site where it abuts +1 nucleosome. As a result, the MCM-MNase fusion protein fails to reach and “light up” the +3 nucleosome, which is, nonetheless, well-visualized with exogenous MNase.  The paucity of displaced MCMs, which is responsible for cutting +2 nucleosome, explains the discrepancy in the +2 nucleosome signal between exogenous MNase and CheC datasets in the fun30 mutant.  

      Despite this apparent discrepancy, the overall results support our conclusions and provide a much better mechanistic understanding of how Sir2 affects replication timing at rDNA. The MNaseseq data reflect nucleosome positioning and chromatin structure, while the ChEC-seq data specifically highlights the locations where MCM is bound and active.  

      Strengths 

      (1) The data clearly show that the repositioned Mcm helicase fires earlier than the Mcm in the wild type position. 

      (2) The study identifies a specific role for Fun30 in replication timing and an effect on nucleosome occupancy around the newly positioned Mcm helicase in sir2 cells. 

      Weaknesses 

      (1) It is unclear which strains were used in each experiment. 

      (2) The relevance of the fun30 phospho-site mutant (S20AS28A) is unclear. 

      We appreciate the reviewer pointing out places in which our manuscript omitted key pieces of information (items 1 and 3), we have included the strain numbers in our revision.  With regard to point 2, we had written:  

      Fun30 is also known to play a role in the DNA damage response; specifically, phosphorylation of Fun30 on S20 and S28 by CDK1 targets Fun30 to sites of DNA damage, where it promotes DNA resection (Chen et al. 2016; Bantele et al. 2017). To determine whether the replication phenotype that we observed might be a consequence of Fun30's role in the DNA damage response, we tested non-phosphorylatable mutants for the ability to suppress early replication of the rDNA in sir2; these mutations had no effect on the replication phenotype (Figure 2B), arguing against a primary role for Fun30 in DNA damage repair that somehow manifests itself in replication. 

      (3) For some experiments (Figs. 3, 4, 6) it is unclear whether the data are reproducible and the differences significant. Information about the number of independent experiments and quantitation is lacking. This affects the interpretation, as fun30 seems to affect the +3 nucleosome much more than let on in the description. 

      We have provided replicas and quantitation for the results in these figures.

      (Replica ChEC Southern blot with quantification (Figure 3 figure supplement 1), quantification and replicas for 2D gels in Figure 4 and replicas for nucleosome occupancy (Figure 6 supplement 1).

      Recommendations for the authors:

      Reviewer #1 (Recommendations For The Authors): 

      Fig. 3-Examination of MCM occupancy at the rDNA ARS region using a variation of ChEC.

      Presumably these are these G1-arrested cells but does not seem to be stated. Please confirm. 

      The 2D gels results are not very convincing of their conclusions. We are asked to compare bubble to fork arcs at 30 minutes, but this is not feasible. It is the author's job to quantify the data from multiple replicates, but none is given. After much careful examination, comparing the relative intensities of ascending bubble and Y-arcs, I think I can accept that 4A shows highest early efficiency for sir2 over WT and fun30, which are similar to each other, and lowest for sir2 fun30, at 60 and 90 min. 

      In the revision we provide a careful quantification of the 2D gels in Figure 4. For assessing rDNA origin activity, we normalized the bubble arc during the HU time course to a single rARS signal, that appears as large 24.4kb Nhe1I fragment originating from the  rightmost rDNA repeat (see Figures 4A and 4B). The description of the quantification in the text is provided below. 

      “Prior to separation on 2D gels, DNA was digested with NheI, which releases a 4.7 kb rARScontaining linear DNA fragment at the internal rDNA repeats (1N) and a much larger, 24.5 kb single-rARS-containing fragment originating from the rightmost repeat. In 2D gels, active origins generate replication bubble arc signals, whereas passive replication of an origin appears as a y-arc. Having a signal emanating from a single ARS-containing fragment simplifies the comparison of rDNA origin activity in strains with different numbers of rDNA repeats, such as in sir2 vs sir2 fun30 mutants. Origin activity is expressed as a ratio of the bubble to the single-ARS signal, effectively measuring the number of active rDNA origins per cell at a given time point. 

      As seen previously (Foss et al. 2019), deletion of SIR2 increased the number of activated rDNA origins, while deletion of FUN30 suppressed this effect. When analyzed in aggregate at 20, 30, 60 and 90 minutes following release into HU, the average number of activated rDNA origin activity in sir2 mutant was increased 6.3-fold compared to those in WT (5.0±2.3 in sir2 vs 0.8±0.4 in wt, p<0.05 by 2 tailed t-test), and the increased number was reduced upon FUN30 deletion (1.3±0.7 in sir2 fun30, p<0.05 by 2 tailed t-test vs sir2, NS for comparison to WT).”

      However, for part 4B, they state (p. 11) that deletion of FUN30 in a SIR2 background had no perceptible effect (on ARS305) but I think the data appear otherwise: the FUN30 cells show more Y-arc than WT.

      We now provide the assessment of ARS305 activity in HU cells as a ratio of bubble-arc to 1N signal. The reviewer is right that FUN30 has a more robust bubble arc signal compared to WT.

      However, after normalization to 1N this difference did not appear significant (3.7 vs 5.1). Overall the analysis of activity or ARS305 origins demonstrates a reciprocity with the activity of rDNA origins in each of the four genotypes.  Furthermore, this observation is confirmed in our EdU-based analysis of 111 genomic origins, with statistical analysis showing a very high level of significance (see below).  

      Ultimately, analysis of unsynchronized cells would give unambiguous results about origin efficiency. In this regard I note that analysis of rDNA origin firing by 2D gels with HU versus asynchronous gives different results in WT versus sir2∆, with no difference in unsynchronized cells (He et al. 2022). It would be interesting to test the strains here unsynchronized, though copy number size would still be a variable to address.

      Origin activity in log cultures is typically assessed by comparing replication initiation within an origin, presenting as a bubble arc, to passively replicated DNA (Y-arc). However, such an analysis at tandemly arrayed origins, such as rDNA, is not feasible, as both active and passive replication are the result of activation of the same origins. This explains the lack of difference between WT and sir2 cells previously reported (He et al. 2022), which we have also observed. Differences in activation of rDNA origins in WT vs sir2 cells is clearly reflected in HU experiments, as was the case in the earlier report (He et al. 2022). 

      To address the issue of differences in copy number between sir2 and sir2 fun30 cells we have now done experiments in a fob1 background where we can equalize the copy number among the two genotypes. These 2D gels are presented in Figure 4C. We address this issue in the revised manuscript as follows:

      “The overall impact of FUN30 deletion on rDNA origin activity in a sir2 background is expected to be a composite of two opposing effects: a suppression of rDNA origin activation and increased rDNA origin activation due to reduced rDNA size (Kwan et al. 2023). To evaluate the effect FUN30 on rDNA origin activation independently of rDNA size, we generated an isogenic set of strains in a fob1 background, all of which contain 35 copies of the rDNA repeat.  (Deletion of FOB1 is necessary to stabilize rDNA copy number.)  Comparing rDNA origin activity in sir2 versus sir2 fun30 genotypes, we observed a robust and reproducible reduction in rDNA origin activity upon FUN30 deletion. This finding confirms that the FUN30 suppresses rDNA origin firing in sir2 background independently of both rDNA size and FOB1 status.”

      -EdU analysis is more convincing regarding relative effects on genome versus rDNA, however, again, the effect of reduced rDNA array size in the sir2 fun30 cells may also be the proximal cause of the reduced effect on genome (early origins) replication rather than a direct effect on origin efficiency. No statistic provided to support that fun30 suppresses sir2 for rDNA activity. 

      This comment raises three distinct, but related, issues: 

      First, the reviewer is asking whether the reduced rDNA size, of the magnitude we observed in sir2 fun30 cells, could by itself be responsible for increased origin activity elsewhere in the genome, just because there is less rDNA that needs to be replicated. As noted earlier (Kwan et al. 2023), Kwan et al. examined the effect of rDNA size reduction and observed: 1) marked increased in rDNA origin activity and 2) reciprocal reduction in origin activity elsewhere in the genome. This counterintuitive finding suggests that a smaller rDNA size exerts more competition for limited replication resources compared to a larger rDNA size. In light of this, our findings with FUN30 deletion become even more compelling. The suppression of rDNA firing upon FUN30 deletion is so significant that it overrides the expected effects of rDNA size reduction.

      Second, the reviewer points out our lack of statistical analysis to support our contention that fun30 suppresses sir2 with regard to rDNA origin activity. We have now addressed this issue as well, by quantifying 2D gel signals, as described above in the text that begins with "Prior to separation on 2D gels, DNA was digested with NheI ...". 

      Third, we have now provided a statistical analysis to support our conclusion that EdU-based analysis of activity of 111 early origins shows suppression upon deletion of SIR2 that is largely reversed by additional deletion of FUN30. 

      "Deletion of FUN30 in a sir2 background partially restored EdU incorporation at early origins, concomitant with reduced EdU incorporation at rDNA origins. In particular, the median value of log10 of read depths at 111 early origins, as the data are shown in Figure 4F, dropped from 6.5 for wild type to 6.2 for sir2 but then returned almost to wild type levels (6.4) in sir2 fun30.  The p value obtained by Student's t test, comparing the drop in 111 origins from wild type to sir2 with that from wild type to sir2 fun30 was highly significant (<< 10-16)  In contrast, FUN30 deletion in the WT background did not reduce EdU incorporation at genomic origins (median 6.6). These findings highlight that FUN30 deletion-induced suppression of rDNA origins in sir2 is accompanied by the activation of genomic origins."

      Use loss of Mcm-ChEC signal as proxy for origin firing. Reasonably convincing that decrease correlates with origin firing on a one-to-one basis (Fig. 5B), though no statistic given. 

      We provide the statistical analysis in Figure 5-figure supplement 1.

      However, there is no demonstration of ability to observe this correlation with fine resolution as needed for the claims here. It seems equally possible that sir2 deletion causes more firing by repositioning MCMs to a better location or that the prior location, which still contains substantial MCM, becomes more permissive. The MCM signal appears to be mobile, so perhaps the role of FUN30 is to prevent to mobility of MCM away from the original site in WT cells; note that significantly less Mcm signal is at the original position in sir2 fun30. No accumulation of MCM occurs near the RFB in WT (and fun30) cells. I understand that origin firing is lower in WT but raises concerns about sensitivity and dynamic range of this assay and that MCM positions may reflect transcription versus replication. 

      Please see the section above labeled "Addressing Alternative Explanations".  

      Is Fig 6A Y-axis correctly labeled? I understand this figure to represent MNase-seq reads; is there any Mcm2-ChEC-seq in part A? 

      We have corrected the labeling. 6A represent MNase-seq reads. Thank you for pointing this out.

      I understand part B to represent nucleosome-sized fragments released by Mcm2-ChEC interpreted to be nucleosomes. But could they be large fragments potentially containing adjacent MCM-double hexamers?  

      Our representation of ChEC-seq data in Figure 1 supplement 1, where we can see the entire spectrum of fragment sizes, demonstrates two distinct populations of fragments: nucleosome size and MCM-size fragments.

      Reviewer #2 (Recommendations For The Authors): 

      Suggestions for the authors to consider: 

      (1) The authors make a good case for the importance of replication balance between rDNA and euchromatin in ensuring that the genome is replicated in a timely fashion. This seems to be clearly regulated by Sir2. However, Sir2 also affects rDNA copy number and suppresses unequal cross over events, which are stimulates by Fob1. Does Fun30 suppress Fob1-dependent recombination events in sir2D cells? 

      It is unclear why FUN30 only affects rDNA repeat copy number in sir2 cells. Why doesn't Fun30 reduce copy number in wild-type cells? 

      Deletion of SIR2 causes rightward repositioning of MCMs to a position where they are more prone to fire, as shown by our HU ChEC datasets in which we show that the repositioned MCMs are more prone to activation than the non-repositioned ones. FUN30 deletion suppresses activation of these, activation-prone repositioned MCMs, as shown by HU ChEC. This suppression of rDNA origin activation in sir2 cells causes rDNA to shrink. In fun30 single mutants, due to the paucity of non-repositioned MCMs, we do not observe significant suppression of rDNA origin firing, and consequently, there is no reduction in rDNA size in fun30 cells.

      (2) The authors use Mcm-MNase to map the location of the MCM helicase. Can these results be confirmed using the more standard and direct ChIP assay to examine changes in MCM localization

      We carried out suggested MCM ChIP experiments and present these results in Figure 5 supplement 2 and supplement 3. These ChIP data demonstrate that: 

      (1) MCM signal disappears preferentially at early origins compared to late origins, as seen in our ChEC results.

      (2) The disappearance of ChEC signal at rDNA origins in sir2 mutant is accompanied by the signal accumulation at the RFB, consistent with fork stalling at the RFB mirroring the results we obtained by ChEC. While these results indicate that that ChIP has adequate resolution to detect MCM repositioning at 2 kb, scale, its resolution was insufficient for fine scale discrimination of repositioned and non-repositioned MCMs.

      In this regard, the specific role of Fun30 in regulation of MCM firing at rDNA is interesting. 

      Does Fun30 localize to the ARS region of rDNA? How is Fun30 specifically recruited to rDNA?  

      We carried out ChIP for Fun30 and observed, similarly to previous reports (Durand-Dubief et al. 2012), a wide distribution of Fun30 throughout the genome and at rDNA. We have elected not to include these results in the current manuscript.

      (3) The 2D gels in Figure 4 are difficult to interpret. The bubble to arc ratios in fun30D seem different from both wild-type and sir2D. It may be helpful to the reader to quantify the bubble to arc ratios. fun30D also seems to be affecting ARS305 by itself.

      We provide quantification of 2 D gels in Figure 4.

      (4) Figure 5. 

      (4.1) For examining origin firing based on the disappearance of the Mcm-MNase reads, is HU arrest necessary? HU may be causing indirect effects due to replication fork stalling. In principle, the authors should be able to perform this analysis without HU, since their cells are released from synchronized arrest in G1 (and at least for the first cell cycle should proceed synchronously on to S phase). In addition, validation of Mcm-ChEC results using ChIP for one of the subunits of the MCM complex would increase confidence in the results. 

      The HU arrest allows us to examine early events in DNA replication at much finer spatial and temporal resolution than it would be possible without it.

      We have now used Mcm2 ChIP to confirm that the signal disappears at the MCM loading site in HU in sir2 cells as discussed above (Figure 5 figure supplement 3). However, the resolution is inadequate to discriminate non-repositioned vs repositioned MCMs.

      (4.2) The non-displaced Mcm-ChEC signal in sir2D seems like it's decreasing more than in wildtype cells. Explain. It would be helpful to quantify these results by integrating the area under each peek (or based on read numbers). It looks like one of the displaced Mcm signals (the one more distal from the non-displaced) is changing at a similar rate to the non-displaced.  

      Integrating the area under each Mcm-ChEC peak or using read numbers is superfluous for the following reasons:  (1) The rectangular appearance of the peaks in Figure 5 clearly reflects signal intensity, making additional numerical integration redundant. (2) The visual differences between wild-type and sir2D cells are distinct and sufficient for drawing conclusions without further quantification.  (3) Keeping the analysis straightforward avoids unnecessary complexity and maintains clarity.

      (4.3) Can the authors explain why fun30D seems to be suppressing only one of the 2 displaced Mcms from firing? 

      We speculate that the local environment is more conductive for firing one of two displaced MCMs, but we do not understand why.

      (5) Figure 6. Why would the deletion of SIR2, a silencing factor, results in increased nucleosome occupancy at rDNA? 

      If we understand correctly, the reviewer is referring to a small increase in +2 and +3 signal in sir2 compared to the WT. In WT G1 cells, there is a single MCM between +1 and +3 nucleosome. This space cannot accommodate a +2 nucleosome in G1 cells because MCM is loaded at that position in most cells (in G2 cells however, this space is occupied by a nucleosome (Foss et al., 2019). MCM repositioning in sir2 mutant would displace MCM from this location making it possible for this space to be now occupied by a nucleosome.

      The changes in nuc density seem modest. Also, nucleosome density is similarly increased in sir2D and fun30D cells, but sir2 has a dramatic effect on origin firing but fun30D does not. Explain. 

      We believe that the FUN30 status makes most of the difference for firing of displaced MCMs.

      Since there are few displaced MCMs in SIR2 cells, there is not large impact on origin firing. Furthermore, the rDNA already fires late in WT cells, so our ability to detect further delay upon  FUN30 deletion could be more difficult.

      (6) Discussion. At rDNA Sir2 may simply act by deacetylating nucleosomes and decreasing their mobility. This is unrelated to compaction which is usually only invoked regarding the activities of the full SIR complex (Sir2/3/4) at telomeres and the mating type locus. The arguments regarding polymerase size, compaction etc may not be relevant to the main point since although the budding yeast Sir2 participates in heterochromatin formation at the mating type loci and telomeres, at rDNA it may act locally near its recruitment site at the RFB. 

      This is a valid point. We have added this sentence in the discussion to highlight the differences between silencing at rDNA and those at the silent mating loci and telomeres that SIR-complex dependent.

      “Steric arguments such as these are even less compelling when made for rDNA than for the silent mating type loci and telomeres, because chromatin compaction has been studied mostly in the context of the complete Sir complex (Sir1-4). In contrast, Sir1, 3, and 4 are not present at the rDNA.”

      Minor 

      It would be interesting to see if deletion of any histone acetyltranferases acts in a similar way to Fun30 to reduce rDNA copy number in sir2D cells. 

      Thank you for this suggestion.

      Reviewer #3 (Recommendations For The Authors): 

      (1) The design of Figure 3 could be improved. A scheme could help understand the assay without flipping back to Figure 1. The numbers below the gel bands need definition. 

      We have included the scheme describing the restriction and MCM-MNase cut sites and the location of the probe for the Southern blot.

      (2) The design of Figure 4 could be improved by adding a scheme to help interpret the 2d gel picture. The figure also lacks quantitation. Are the results reproducible and the differences significant? 

      We have added the scheme, quantification and statistics in Figure 4.

      (3) Please list in each figure legend the exact strains from Table S1 which were used. 

      We have included the strain numbers in the Figure legend.

      Durand-Dubief M, Will WR, Petrini E, Theodorou D, Harris RR, Crawford MR, Paszkiewicz K, Krueger F, Correra RM, Vetter AT et al. 2012. SWI/SNF-like chromatin remodeling factor Fun30 supports point centromere function in S. cerevisiae. PLoS Genet 8: e1002974.

      Foss EJ, Gatbonton-Schwager T, Thiesen AH, Taylor E, Soriano R, Lao U, MacAlpine DM, Bedalov A. 2019. Sir2 suppresses transcription-mediated displacement of Mcm2-7 replicative helicases at the ribosomal DNA repeats. PLoS Genet 15: e1008138.

      He Y, Petrie MV, Zhang H, Peace JM, Aparicio OM. 2022. Rpd3 regulates single-copy origins independently of the rDNA array by opposing Fkh1-mediated origin stimulation. Proc Natl Acad Sci U S A 119: e2212134119.

      Kwan EX, Alvino GM, Lynch KL, Levan PF, Amemiya HM, Wang XS, Johnson SA, Sanchez JC, Miller MA, Croy M et al. 2023. Ribosomal DNA replication time coordinates completion of genome replication and anaphase in yeast. Cell Rep 42: 112161.

    1. Yet the extent to which the internet has changed the very nature of fandom is debatable. According to leading media scholar Henry Jenkins, whose 1992 book Textual Poachers is considered the founding text of fan studies, it has merely “increased the scope and scale of the fan community, allowed for ongoing interactions amongst fans, and made the entertainment industry more aware of the kind of fan responses which have been occurring all along”.

      The writer explains here that fandom isn't new, It's just amplified with the internet. If fans have always had a voice in the creative process, why is it an issue now?

    1. They each call on us, in their own way, to remember that there is no alternative to continuing to struggle, if we hope to cancel the apocalypse.

      It all comes to the decision of people and whether or not they want to collaborate and accept the changes for a prosper future than the ones writers write and a change in the political system since they have the authority to change and make laws that will lead their community to a better future. All of this novels mentioned in this article they aren't just there to scare people of a terrifying future, but to make us realize the time we are living in and this is not a fixed future and it can change if people are willing to change and act now before it's too late.

    2. This is intended as a broad overview of the field rather than as a deep critical dive into any particular work; the ambition of this piece is to use science fiction as a tool to help us better read and understand the modalities of the Anthropocene itself.

      From my own understanding when it comes to the term Anthropocene it is mostly overlooked and under discussed by people who don't seem to care or fully understand the concept of it and the causes of it. When the term is included in science fiction novel is not just to overcomplicate or confuse the audience, but see it as a useful tool to fabricate a story that relies on the term Anthropocene so that people who aren't aware of this concept and can understand all of the meanings that surrounds Anthropocene. In other words I think it's a gateway to gather more eyes into an issue that is not just only occurring in the novel, but in the real world and be aware that their voices matter to help and diminish an issue that will harm every single living biospheric species because it was not viewed by people.

    1. Author response:

      The following is the authors’ response to the original reviews.

      We would like to thank the reviewers for their positive and constructive comments on the manuscript.

      We committed in our original rebuttal letter to implement the following revisions to both DGRPool and the corresponding manuscript to address the reviewers’ comments:

      (1) We agree with reviewer #1 that normalizing the data could potentially improve the GWAS results. Thus, for computing the GWAS results, we are now using these two additional options in PLINK2: “--quantile-normalize --variance-standardize”. We assessed the impact of these options on the overall results, which revealed only minor improvements of the results, globally being a bit more stringent. In this direction, we also now filter the top results with a nominal p-value of 0.001 instead of 0.01, also because it provided better results for the new gene set enrichment step.

      (2) We added a KRUSKAL test next to the ANOVA test for assessing the links between the phenotypes and the 6 known covariates, as well as a Shapiro-Wilk test of normality.

      (3) We agree with both reviewers that gene expression information is of interest. As mentioned before, adding gene expression data to the portal would have required extensive work, beyond the current scope of this paper, which primarily focuses on phenotypes and genotype-phenotype associations. Nonetheless, we included more gene-level outlinks to Flybase. Additionally, we now link variants and genes to Flybase's online genome browser, JBrowse. By following the reviewers' suggestions, we aim to guide DGRPool users to potentially informative genes.

      (4) Consistent with the latter point, and in agreement with reviewer #2, we acknowledge that additional tools could enhance DGRPool's functionality and facilitate meta- analyses for users. Therefore, we developed a gene-centric tool that now allows users to query the database based on gene names. Moreover, we integrated ortholog databases into the GWAS results. This feature will enable users to extend Drosophila gene associations to other species if necessary.

      (5) We amended the manuscript to describe all the new tools and features that were developed and implemented. In short, the new features include a new gene-centric page with diverse links (Phenotypes, Genome Browser JBrowse, Orthologs …), a variant-centric page (variant details, and PheWAS), an API for programmatic access to the database, and other statistical outputs and filtering options.

      We will detail these advances in the point-by-point response below and in the revised manuscript.

      Reviewer #1 (Public Review):

      This is a technically sound paper focused on a useful resource around the DRGP phenotypes which the authors have curated, pooled, and provided a user-friendly website. This is aimed to be a crowd-sourced resource for this in the future.

      The authors should make sure they coordinate as well as possible with the NC datasets and community and broader fly community. It looks reasonable to me but I am not from that community.

      We thank the reviewer for the positive comments. We will leverage our connections to the fly and DGRP communities to make the resource as valuable as possible. DGRPool in fact already reflects the input of many potential users and was also inspired by key tools on the DGRP2 website. Furthermore, it also rationalizes why we are bridging our results with other resources, such as linking out to Flybase, which is the main resource for the Drosophila community at large.

      I have only one major concern which in a more traditional review setting I would be flagging to the editor to insist the authors did on resubmission. I also have some scene setting and coordination suggestions and some minor textual / analysis considerations.

      The major concern is that the authors do not comment on the distribution of the phenotypes; it is assumed it is a continuous metric and well-behaved - broad gaussian. This is likely to be more true of means and medians per line than individual measurements, but not guaranteed, and there could easily be categorical data in the future. The application of ANOVA tests (of the "covariates") is for example fragile for this.

      The simplest recommendation is in the interface to ensure there is an inverse normalisation (rank and then project on a gaussian) function, and also to comment on this for the existing phenotypes in the analysis (presumably the authors are happy). An alternative is to offer a kruskal test (almost the same thing) on covariates, but note PLINK will also work most robustly on a normalised dataset.

      We thank the reviewer for raising this interesting point. Indeed, we did not comment on the distribution of individual phenotypes due to the underlying variability from one phenotype to another, as suggested by the reviewer. Some distributions appear normal, while others are clearly not normally distributed. This information is 'visible' to users by clicking on any phenotype; DGRPool automatically displays its global distribution if the values are continuous/quantitative. Now, we also provide a Shapiro-Wilk test to assess the normality of the distribution.

      We acknowledge the reviewer's concerns regarding the use of ANOVA tests. However, we want to point out that the ANOVA test is solely conducted to assess whether any of the well- established inversions or symbiont infection status (that, for simplification, we call “covariates” or “known covariates”) are associated with the phenotype of interest. This is merely informational, to help the user understand if their phenotype of interest is associated with a known covariate. But all of these known covariates are put in the model in any case, so PLINK2 will automatically correct for them, whatever is the output of the ANOVA test.

      Still, we amended the manuscript to better explain this, and we added a Kruskal-Wallis test (in addition to the ANOVA test) in the results, so the users can have a better overview of potentially associated known covariates. We added this text on p. 10 of the revised manuscript:

      “The tool further runs a gene set enrichment analysis of the results filtered at p<0.001 to enrich the associated genes to gene ontology terms, and Flybase phenotypes. We also provide an ANOVA and a Kruskal-Wallis test between the phenotype and the six known covariates to uncover potential confounder effects (prior correction), which is displayed as a “warning” table to inform the user about potential associations of the phenotype and any of the six known covariates. It is important to note that these ANOVA and Kruskal tests are conducted for informational purposes only, to assess potential associations between well-established inversions or symbiont infection status and the phenotype of interest. However, all known covariates are included in the model regardless, and PLINK2 will automatically correct for them, irrespective of the results from the ANOVA or Kruskal tests. “

      We also acknowledge in the manuscript (Methods section) that the Kruskal-Wallis test is used for a single factor (independent variables) at a time. This is unlike the ANOVA test that we initially performed, which was handling multiple factors simultaneously (given that it was performed in a multifactorial design). For a more direct comparison with our ANOVA model, we ran separate Kruskal-Wallis tests for each factor, but then we acknowledged its potential limitations compared to our multifactorial ANOVA, since each of these tests treats the factor in question as the only source of variation, not considering other factors. But since the test is not intended for interactions or combined effects of these factors, we deem it to be sufficient.

      Nevertheless, we concur with the reviewer that normalizing the data could potentially enhance GWAS results. Consequently, we have rerun the GWAS analyses using the PLINK2 --quantile- normalize and --variance-standardize options. We have updated all results on the website and also updated the plots in the manuscript, accordingly.

      Minor points:

      On the introduction, I think the authors would find the extensive set of human GWAS/PheWAS resources useful; widespread examples include the GWAS Catalog, Open Targets PheWAS, MR-base, and the FinnGen portal. The GWAS Catalog also has summary statistics submission guidelines, and I think where possible meta-data harmonisation should be similar (not a big thing). Of course, DRGP has a very different structure (line and individuals) and of course, raw data can be freely shown, so this is not a one-to-one mapping.

      Thank you for the suggestion. We cited these resources in the Introduction.

      “This aligns with the harmonization effort undertaken by other human GWAS/PheWAS resources, such as the GWAS Catalog, Open Targets PheWAS, MR-base, and the FinnGen portal, which provide extensive examples of effective data use and accessibility. Although the structure of DGRPool differs from these human databases, we acknowledge the importance of similar meta-data harmonization guidelines. Inspired by the GWAS Catalog's summary statistics submission guidelines, we propose submission guidelines for DGRP phenotyping data in this paper. “

      For some authors coming from a human genetics background, they will be interpreting correlations of phenotypes more in the genetic variant space (eg LD score regression), rather than a more straightforward correlation between DRGP lines of different individuals. I would encourage explaining this difference somewhere.

      We understand that this is a potential issue and we made the distinction clearer in the manuscript to avoid any confusion. We added this text on p.7, at the beginning of the correlation results section:

      “Of note, by “phenotype correlations”, we mean direct phenotype-phenotype correlations, i.e. a straightforward Spearman’s correlation of two phenotypes between common DRGP lines, and we repeated this process for each pair of phenotypes. “

      This leads to an interesting point that the inbred nature of the DRGP allows for both traditional genetic approaches and leveraging the inbred replication; there is something about looking at phenotype correlations through both these lenses, but this is for another paper I suspect that this harmonised pool of data can help.

      We agree with the reviewer and hope that more meta-analyses will be made possible by leveraging the harmonized data that are made available through DGRPool.

      I was surprised the authors did not crunch the number of transcript/gene expression phenotypes and have them in. Is this because this was better done in other datasets? Or too big and annoying on normalisation? I'd explain the rationale to leave these out.

      This is a very good point and is in fact something that we initially wanted to do. However, to render the analysis fair and robust, it would require processing all datasets in the same way. This implies cataloging all existing datasets and processing them through the same pipeline. In addition, it would require adding a “cell type” or “tissue” layer, because gene expression data from whole flies is obviously not directly comparable to gene expression data from specific tissues or even specific conditions. This would be key information as phenotypes are often tissue-dependent. Consequently, and as implied by the reviewer, we deemed this too big of a challenge beyond the scope of the current paper. Nevertheless, we plan to continue investigating this avenue in a potential follow-up paper.

      We still added a gene-centric tool to be able to query the GWAS results by gene. We also added orthologs and Flybase gene-phenotype information, both in this new gene-centric tool and also in all GWAS results.

      I think 25% FDR is dangerously close to "random chance of being wrong". I'd just redo this section at a higher FDR, even if it makes the results less 'exciting'. This is not the point of the paper anyway.

      We agree with the reviewer that this threshold implies a higher risk of false positive results. However, this is not an uncommonly used threshold (Li et al., PLoS biology, 2008; Bevers et al., Nature Metabolism, 2019; Hwangbo et al, Elife, 2023), and one that seems robust enough in our analysis since similar phenotypes are significant in different studies at different FDR thresholds.

      Nevertheless, we revisited these results with a stronger threshold of 5% FDR in the main Figure 3C. Most of the conclusions were maintained, except for the relation between longevity and “food intake”, as well as “sleep duration”. We modified the manuscript accordingly, notably removing these points from the abstract, and tuning down the results section. We kept the 25% FDR results as supplemental information.

      I didn't buy the extreme line piece as being informative. Something has to be on the top and bottom of the ranks; the phenotypes are an opportunity for collection and probably have known (as you show) and cryptic correlations. I think you don't need this section at all for the paper and worry it gives an idea of "super normals" or "true wild types" which ... I just don't think is helpful.

      We appreciate the reviewer’s feedback on the section regarding extreme DGRP lines and understand the concern about potential implications of “super normals” or “true wild types.” This section aimed to explore whether specific DGRP lines consistently rank in the extremes of phenotypic measures, particularly those tied to viability-related traits. Our hypothesis was that if particular lines consistently appear at the top or bottom, this might suggest some inherent bias or inbreeding-related weakness that could influence genetic association studies.

      However, as per the analyses presented, we did not discover support for this phenomenon. Importantly, the observed mild correlation in extremeness across sexes, while not profound, further suggested that this phenomenon is not a consistent population-wide feature.

      Nevertheless, we consider that this message is still important to convey. In response to the reviewer's feedback, we have provided a clearer conclusion of this paper section by adding the following paragraph:

      “In conclusion, this analysis showed that while certain lines exhibit lower longevity or outlier behavior for specific traits, we found no evidence of a general pattern of extremeness across all traits. Therefore, the data do not support the idea of 'super normals' or any other inherently biased lines that could significantly affect genetic studies. “

      I'd say "well-established inversion genotypes and symbiot levels" rather than generic covariates. Covariates could mean anything. You have specific "covariates" which might actually be the causal thing.

      We thank the author for the suggestion. We agree and modified the manuscript accordingly.

      I wouldn't use the adjective tedious about curation. It's a bit of a value judgement and probably places the role of curation in the wrong way. Time-consuming due to lack of standards and best practice?

      We thank the author for the suggestion. We agree and modified the manuscript accordingly, replacing the occurrences by “thorough” and “rigorous” which correspond better to the initial intended meaning.

      Reviewer #2 (Public Review):

      Summary:

      In the present study, Gardeux et al provide a web-based tool for curated association mapping results from DRP studies. The tool lets users view association results for phenotypes and compare mean phenotype ~ phenotype correlations between studies. In the manuscript, the authors provide several example utilities associated with this new resource, including pan-study summary statistics for sex, traits, and loci. They highlight cross-trait correlations by comparing studies focused on longevity with phenotypes such as oxphos and activity.

      Strengths:

      -Considerable efforts were dedicated toward curating the many DRG studies provided.

      -Available tools to query large DRP studies are sparse and so new tools present appeal

      Weaknesses:

      The creation of a tool to query these studies for a more detailed understanding of physiologic outcomes seems underdeveloped. These could be improved by enabling usages such as more comprehensive queries of meta-analyses, molecular information to investigate given genes or pathways, and links to other information such as in mouse rat or human associations.

      We appreciate the reviewer's kind comments.

      Regarding the tools, we concur with the reviewer that incorporating additional tools could enhance DGRPool and facilitate users in conducting meta-analyses. Therefore, we developed two new tools: a gene-centric tool that enables users to query the database based on gene names, and a variant-centric tool mostly for studying the impact of specific genomic loci on phenotypes. Additionally, in all GWAS results, we added links to ortholog databases, thereby allowing users to extend fly gene associations to other species, if required.

      Furthermore, we added links to the Flybase database, for variants, phenotypes, and genes that are already present in Flybase. We also link out to a 'genome browser-like' view (Flybase’s JBrowse tool) of the GWAS results centered around the affected variants/genes.

      Finally, we now also perform a gene-set enrichment analysis for each GWAS result, both in the Flybase gene-phenotype database and the Gene Ontology (GO) database.

      Reviewer #2 (Recommendations For The Authors):

      (1) The authors discuss how current available DRG databases are basically data-dump sites and there is a need for integrative queries. Clearly, they spent (and are spending) considerable efforts into curating associations from available studies so the current resource seems to contain several areas of missed opportunities. The most clear addition would be to integrate gene-level queries. For example which genes underlie associations to given traits, what other traits map to a specific gene, or multiple genes which map to traits. This absence of integration is somewhat surprising given the lab's previous analyses of eQTL data in DRPs (https://doi.org/10.1371/journal.pgen.1003055 ) and readily available additional data (ex. 10.1101/gr.257592.119 ,flybase) simple intersections between these at the locus level would provide much deeper molecular support for searching this database.

      The point raised by the reviewer concerning eQTL / transcriptomic data is in fact similar to the one raised by reviewer #1. We strongly agree with both reviewers that incorporating eQTL results in the tool would be very valuable, and this is in fact something that we initially wanted to do. However, to render the analysis fair and robust, it would require re-processing multiple public datasets in the same way. This would imply cataloging all existing datasets and processing them through the same pipeline. In addition, it would require adding a “cell type” or “tissue” layer, because gene expression data from whole flies is obviously not directly comparable to gene expression data from specific tissues or even specific conditions. This would be key information as phenotypes are often tissue-dependent. Consequently, we deemed implementing all these layers too big of a challenge beyond the scope of the current paper, but we plan to continue investigating this avenue in a potential follow-up paper.

      As mentioned before, we still integrated gene-level queries in a new tool, querying genes in the context of GWAS results. We acknowledge that this is not directly related to gene expression, and thus not implicating eQTL datasets (at least for now), but we think that it is for now a good alternative, reinforcing the interpretation of the GWAS results.

      Since this point was raised by both reviewers, we added a discussion about this in the manuscript.

      “We recognize certain limitations of the current web tool, particularly the lack of eQTL or gene expression data integration. Properly integrating DGRP GWAS results with gene expression data in a fair and robust manner would require uniform processing of multiple public datasets, necessitating the cataloging and standardization of all available datasets through a consistent pipeline. Moreover, incorporating a “cell type” or “tissue” layer would be essential, as gene expression data from whole flies is not directly comparable to data from specific tissues or even specific conditions. Since phenotypes are often tissue-dependent, this information is vital. However, implementing these layers presented too big of a challenge and was beyond the scope of this paper. “

      (2) Another area that would help to improve is to provide either a subset or the ability to perform a meta-analysis of the studies proposed to see where phenotype intersections occur, as opposed to examining their correlation structure. For any given trait the PLINK data or association results seem already generated so running together and making them available seems fairly straightforward. This can be done in several ways to highlight the utility (for example w/wo specific covariates from Huang et al., 2014 and/or comparing associations that occur similarly or differently between sexes).

      We are not 100% sure what the reviewer refers to when mentioning “phenotype intersection”, but we interpreted it as a “PheWAS capability”. Currently, in DGRPool, for every variant, there is a PheWAS option, which scans all phenotypes across all studies to see if several phenotypes are impacted by this same variant.

      We tried to make this tool more visible, both in the GWAS section of the website, but also in the “Check your phenotype” tool, when users are uploading their own data to perform a GWAS. We have also created a “Variants” page, accessible from the top menu, where users can view particular variants and explore the list of phenotypes they are significantly associated with.

      From both result pages, users can download the data table as .tsv files.

      (3) As pointed out by the authors, an advantage of DRGs is the ease of testing on homozygous backgrounds. For each phenotype queried (or groups of related phenotypes would be of interest too), I imagine that subsetting strains by the response would help to prioritize lines used for follow-up studies. For example, resistant or sensitive lines to a given trait. This is already done in Fig 4C and 4E but should be an available analysis for all traits.

      For all quantitative phenotypes, we show the global distribution by sex, followed by the sorted distribution by DGRP line. Since the data can be directly downloaded from the corresponding plots, resistant and sensitive lines can then be readily identified for all phenotypes.

      (4) To researchers beyond the DRP community, one feature to consider would be seeing which other associations are conserved across species. While doing this at the phenotype level might be tricky to rename, assigning gene-level associations would make this streamlined. For example, a user could query longevity, subset by candidate gene associations then examine outputs  for  what  is  associated  with  orthologue  genes  in  humans (ex. https://www.ebi.ac.uk/gwas/docs/file-downloads) or other reference panels such as mice and rats.

      In all GWAS results, and in the gene-centric tool, we have added links to ortholog databases. In short, when clicking on a variant, users can see which gene is potentially impacted by this variant (gene-level variant annotation). When clicking on these genes, the user can then open the corresponding, detailed gene page.

      To address the reviewer’s comment, in the gene page, we have added two orthologous databases (Flybase and OrthoDB), which enables cross-species association analyses.

      (5) Related to enabling a meta-data analysis, it would be helpful to let users download all PLINK or DGRP tables in one query. This would help others to query all data simultaneously.

      We would like to kindly point out that all phenotyping data can already be downloaded from the front page, which includes the phenotypes, the DGRP lines and the studies’ data and metadata. However, we did not provide the global GWAS results through a single file, because the data is too large. Instead, we provide each GWAS dataset via a unique file, available per phenotype, on the corresponding GWAS result page of this phenotype. This file is filtered for p<0.001, and contains GWAS results (PLINK beta, p and FDR) as well as gene and regulatory annotations.

      (6) Following analysis of association data an interesting feature would be to enable users to subset strains for putative LOF variants at a given significant locus. This is commonly done for mouse strains (ex. via MGI).

      The GWAS result table available for each phenotype can be filtered for any variant of interest. We added the capability to filter by variant impact; LOF variants being usually referred to as HIGH impact variants.

      (7) Viewing the locus underlying annotation can also provide helpful information. For example, several nice fly track views are shown in 10.1534/g3.115.018929, which would help users to interpret molecular mechanisms.

      We now link the GWAS results out to Flybase’s JBrowse genome browser.

    1. Author response:

      The following is the authors’ response to the original reviews.

      Reviewer 1 (Public Review):

      Summary: Wilmes and colleagues present a computational model of a cortical circuit for predictive processing which tackles the issue of how to learn predictions when different levels of uncertainty are present for the predicted sensory stimulus. When a predicted sensory outcome is highly variable, deviations from the average expected stimulus should evoke prediction errors that have less impact on updating the prediction of the mean stimulus. In the presented model, layer 2/3 pyramidal neurons represent either positive or negative prediction errors, SST neurons mediate the subtractive comparison between prediction and sensory input, and PV neurons represent the expected variance of sensory outcomes. PVs therefore can control the learning rate by divisively inhibiting prediction error neurons such that they are activated less, and exert less influence on updating predictions, under conditions of high uncertainty.

      Strengths: The presented model is a very nice solution to altering the learning rate in a modality and context-specific way according to expected uncertainty and, importantly, the model makes clear, experimentally testable predictions for interneuron and pyramidal neuron activity. This is therefore an important piece of modelling work for those working on cortical and/or predictive processing and learning. The model is largely well-grounded in what we know of the cortical circuit.

      Weaknesses: Currently, the model has not been challenged with experimental data, presumably because data from an ad- equate paradigm is not yet available. I therefore only have minor comments regarding the biological plausibility of the model:

      Beyond the fact that some papers show SSTs mediate subtractive inhibition and PVs mediate divisive inhibition, the selection of interneuron types for the different roles could be argued further, given existing knowledge of their properties. For instance, is a high PV baseline firing rate, or broad sensory tuning that is often interpreted as a ’pooling’ of pyramidal inputs, compatible with or predicted by the model?

      Thank you for this nice suggestion. We added a section to the discussion expanding on this: “The model predicts that the divisive interneuron type, which we here suggest to be the PVs, receive a representation of the stimulus as an input. PVs could be pooling the inputs from stimulus-responsive layer 2/3 neurons to estimate uncertainty. The more the stimulus varies, the larger the variability of the pyramidal neuron responses and, hence, the variability of the PV activity. The broader sensory tuning of PVs (Cottam et al. 2013) is in line with the model insofar as uncertainty modulation could be more general than the specific feature, which is more likely for low-level features processed in primary sensory cortices. PVs were shown to connect more to pyramidal cells with similar feature-tuning (Znamenskyiy et al. 2024); this would be in line with the model, as uncertainty modulation should be feature-related. In our model, some SSTs deliver the prediction to the positive prediction error neurons. SSTs are already known to be involved in spatial prediction, as they underlie the effect of surround suppression (Adesnik et al. 2012), in which SSTs suppress the local activity dependent on a predictive surround.”

      On a related note, SSTs are thought to primarily target the apical dendrite, while PVs mediate perisomatic inhibition, so the different roles of the interneurons in the model make sense, particularly for negative PE neurons, where a top-down excitatory predicted mean is first subtractively compared with the sensory input, s, prior to division by the variance. However, sensory input is typically thought of as arising ’bottom-up’, via layer 4, so the model may match the circuit anatomy less in the case of positive PE neurons, where the diagram shows ’s’ arising in a top-down manner. Do the authors have a justification for this choice?

      We agree that ‘s’ is a bottom-up input and should have been more clear about that we do not consider ‘s’ to be a top-down input like the prediction. We hence adjusted the figure correspondingly and added a few clarifying sentences to the manuscript. The reviewer, however, raises an important point, which is not talked about enough. Namely, that if the bottom-up input ‘s’ comes from L4, how can it be compared in a subtractive manner with the top-down prediction arriving in the superficial layers? In Attinger et al. it was shown that the visual stimulus had subtractive effects on SST neurons. The axonal fibers delivering the stimulus information are hence likely to arrive in the vicinity of the apical dendrites, where SSTs target pyramidal cells. Hence, those axons delivering stimulus information could also target the apical dendrites of pyramidal cells. As the reviewer probably had in mind, L4 input tends to arrive in the somatic layer. However, there are also stimulus-responsive cells in layer 2/3, such that the stimulus information does not need to come directly from L4, it could be relayed via those stimulus-responsive layer 2/3 cells. It has been shown that L2/3→L3 axons are mostly located in the upper basal dendrites and the apical oblique dendrites, above the input from L4 (Petreanu et al. The subcellular organization of neocortical excitatory connections). Hence, stimulus information could arrive on the apical dendrites, and be subtractively modulated by SSTs. We would also like to note that the model does not take into account the precise dendritic location of the inputs. The model only assumes that the difference between stimulus and prediction is calculated before the divisive modulation by the variance.

      In cortical circuits, assuming a 2:8 ratio of inhibitory to excitatory neurons, there are at least 10 pyramidal neurons to each SST and PV neuron. Pyramidal neurons are also typically much more selective about the type of sensory stimuli they respond to compared to these interneuron classes (e.g., Kerlin et al., 2012, Neuron). A nice feature of the proposed model is that the same interneurons can provide predictions of the mean and variance of the stimulus in a predictor-dependent manner. However, in a scenario where you have two types of sensory stimulus to predict (e.g., two different whiskers stimulated), with pyramidal neurons selective for prediction errors in one or the other, what does the model predict? Would you need specific SST and PV circuits for each type of predicted stimulus?

      If we understand correctly, this would be a scenario in which the same context (e.g., sound) is predicting two types of sensory stimulus. In that case, one may need specific SST and PV circuits for the different error neurons selective for prediction errors in these stimuli, depending on how different the predictions are for the two stimuli as we elaborate in the following. The reviewer is raising an important point here and that is why we added a section to the discussion elaborating on it.

      We think that there is a reason why interneurons are less selective than pyramidal cells and that this is also a feature in prediction error circuits. Similarly-tuned cells are more connected to each other, because they tend to be activated together as the stimuli they encode tend to be present in the environment together. Also, error neurons selective to nearby whiskers are more likely to receive similar stimulus information, and hence similar predictions. Hence, because nearby whiskers are more likely to be deflected similarly, a circuit structure may have developed during development such that neurons selective for prediction errors of nearby whiskers, may receive inputs from the same inhibitory interneurons. In that case, the same SST and PV cells could innervate those different neurons. If, however, the sensory stimuli to be predicted are very different, such that their representations are likely to be located far away from each other, then it also makes sense that the predictions for those stimuli are more diverse, and hence the error neurons selective to these are unlikely to be innervated by the same interneurons.

      We added a shorter version of this to the discussion: “The lower selectivity of interneurons in comparison to pyramidal cells could be a feature in prediction error circuits. Error neurons selective to similar stimuli are more likely to receive similar stimulus information, and hence similar predictions. Therefore, a circuit structure may have developed such that prediction error neurons with similar selectivity may receive inputs from the same inhibitory interneurons.”

      Reviewer 2 (Public Review):

      Summary: This computational modeling study addresses the observation that variable observations are interpreted differently depending on how much uncertainty an agent expects from its environment. That is, the same mismatch between a stimulus and an expected stimulus would be less significant, and specifically would represent a smaller prediction error, in an environment with a high degree of variability than in one where observations have historically been similar to each other. The authors show that if two different classes of inhibitory interneurons, the PV and SST cells, (1) encode different aspects of a stimulus distribution and (2) act in different (divisive vs. subtractive) ways, and if (3) synaptic weights evolve in a way that causes the impact of certain inputs to balance the firing rates of the targets of those inputs, then pyramidal neurons in layer 2/3 of canonical cortical circuits can indeed encode uncertainty-modulated prediction errors. To achieve this result, SST neurons learn to represent the mean of a stimulus distribution and PV neurons its variance.

      The impact of uncertainty on prediction errors is an understudied topic, and this study provides an intriguing and elegant new framework for how this impact could be achieved and what effects it could produce. The ideas here differ from past proposals about how neuronal firing represents uncertainty. The developed theory is accompanied by several predictions for future experimental testing, including the existence of different forms of coding by different subclasses of PV interneurons, which target different sets of SST interneurons (as well as pyramidal cells). The authors are able to point to some experimental observations that are at least consistent with their computational results. The simulations shown demonstrate that if we accept its assumptions, then the authors’ theory works very well: SSTs learn to represent the mean of a stimulus distribution, PVs learn to estimate its variance, firing rates of other model neurons scale as they should, and the level of un- certainty automatically tunes the learning rate, so that variable observations are less impactful in a high uncertainty setting.

      Strengths: The ideas in this work are novel and elegant, and they are instantiated in a progression of simulations that demonstrate the behavior of the circuit. The framework used by the authors is biologically plausible and matches some known biological data. The results attained, as well as the assumptions that go into the theory, provide several predictions for future experimental testing.

      Weaknesses: Overall, I found this manuscript to be frustrating to read and to try to understand in detail, especially the Results section from the UPE/Figure 4 part to the end and parts of the Methods section. I don’t think the main ideas are so complicated, and it should be possible to provide a much clearer presentation.

      For me, one source of confusion is the comparison across Figure 1EF, Figure 2A, Figure 3A, Figure 4AB, and Figure 5A. All of these are meant to be schematics of the same circuit (although with an extra neuron in Figure 5), yet other than Figures 1EF and 4AB, no two are the same! There should be a clear, consistent schematic used, with identical labeling of input sources, neuron types, etc. across all of these panels.

      We changed all figures to make them more consistent and pointed out that we consider subparts of the circuit.

      The flow of the Results section overall is clear until the “Calculation of the UPE in Layer 2/3 error neurons” and Figure 4, where I find that things become significantly more confusing. The mention of NMDA and calcium spikes comes out of the blue, and it’s not clear to me how this fits into the authors’ theory. Moreover: Why would this property of pyramidal cells cause the PV firing rate to increase as stated? The authors refer to one set of weights (from SSTs to UPE) needing to match two targets (weights from s to UPE and weights from mean representation to UPE); how can one set of weights match two targets? Why do the authors mention “out-of-distribution detection’ here when that property is not explored later in the paper? (see also below for other comments on Figure 4)

      We agree that the introduction of NMDA and calcium spikes was too short and understand that it was confusing. We therefore modified and expanded the section. To answer the two specific questions: First, Why would this property of pyramidal cells cause the PV firing rate to increase as stated? This property of pyramidal cells does not cause the PV firing rate to increase. When for example in positive error neurons, the mean input increases, then the PVs receive higher stimulus input on average, which is not compensated by the inhibitory prediction (which is still at the old mean), such that the PV firing rate increases. Due to the nonlinear integration in PVs, the firing rate can increase a lot and inhibit the error neurons strongly. If the error neurons integrate the difference nonlinearly, they compensate for the increased inhibition by PVs. In Figure 5, we show that a circuit in which error neurons exhibit a dendritic nonlinearity matches an idealised circuit in which the PVs perfectly represent the variance. We modified the text to clarify this.

      Second, how can one set of weights match two targets? In our model, one set of weights does not need to match two targets. We apologise that this was written in such a confusing way. In positive error neurons, the inhibitory weights from the SSTs need to match the excitatory weights from the stimulus, and in negative error neurons, the inhibitory weights from the SSTs need to match the excitatory weights from the prediction. The weights in positive and negative circuits do not need to be the same. So, on a particular error neuron, the inhibition needs to match the excitation to maintain EI balance. Given experimental evidence for EI balance and heterosynaptic plasticity, we think that this constraint is biologically achievable. The inhibitory and excitatory synapses that need to match are targeting the same postsynaptic neuron and could hence have access to their postsynaptic effect. We modified the text to be more clear. Finally, we omitted the mentioning of out-of-distribution detection, see our reply below.

      Coming back to one of the points in the previous paragraph: How realistic is this exact matching of weights, as well as the weight matching that the theory requires in terms of the weights from the SSTs to the PVs and the weights from the stimuli to the PVs? This point should receive significant elaboration in the discussion, with biological evidence provided. I would not advocate for the authors’ uncertainty prediction theory, despite its elegant aspects, without some evidence that this weight matching occurs in the brain. Also, the authors point out on page 3 that unlike their theory, “...SSTs can also have divisive effects, and PVs can have subtractive effects, dependent on circuit and postsynaptic properties”. This should be revisited in the Discussion, and the authors should explain why these effects are not problematic for their theory. In a similar vein, this work assumes the existence of two different populations of SST neurons with distinct UPE (pyramidal) targets. The Discussion doesn’t say much about any evidence for this assumption, which should be more thoroughly discussed and justified.

      These are very important points, we agree that the biological plausibility of the model’s predictions should be discussed and hence expanded the discussion with three new paragraphs:

      To enable the comparison between predictions and sensory information via subtractive inhibition, we pointed out that the weights of those inputs on the postsynaptic neuron need to match. This essentially means that there needs to be a balance of excitatory and inhibitory inputs. Such an EI balance has been observed experimentally (Tan and Wehr, 2009). And it has previously been suggested that error responses are the result of breaking this EI balance (Hertäg und Sprekeler, 2020, Barry and Gerstner, 2024). Heterosynaptic plasticity is a possible mechanism to achieve EI balance (Field et al. 2020). For example, spike pairing in pre- and postsynaptic neurons induces long-term potentiation at co-activated excitatory and inhibitory synapses with the degree of inhibitory potentiation depending on the evoked excitation (D’amour and Froemke, 2015), which can normalise EI balance (Field et al. 2020).

      In the model we propose, SSTs should be subtractive and PVs divisive. However, SSTs can also be divisive, and PVs subtractive dependent on circuit and postsynaptic properties (Seybold et al. 2015, Lee et al. 2012, Dorsett et al. 2021). This does not necessarily contradict our model, as circuits in which SSTs are divisive and PVs subtractive could implement a different function, as not all pyramidal cells are error neurons. Hence, our model suggests that error neurons which can calculate UPEs should have similar physiological properties to the layer 2/3 cells observed in the study by Wilson et al. 2012.

      Our model further posits the existence of two distinct subtypes of SSTs in positive and negative error circuits. Indeed, there are many different subtypes of SSTs. SST is expressed by a large population of interneurons, which can be further subdivided. There is e.g. a type called SST44, which was shown to specifically respond when the animal corrects a movement (Green et al. 2023). Our proposal is hence aligned with the observation of functionally specialised subtypes of SSTs.

      Finally, I think this is a paper that would have been clearer if the equations had been interspersed within the results. Within the given format, I think the authors should include many more references to the Methods section, with specific equation numbers, where they are relevant throughout the Results section. The lack of clarity is certainly made worse by the current state of the Methods section, where there is far too much repetition and poor ordering of material throughout.

      We implemented the reviewer’s detailed and helpful suggestions on how to improve the ordering and other aspects of the methods section and now either intersperse the equations within the results or refer to the relevant equation number from the Methods section within the Results section.

      Reviewer 3 (Public Review):

      Summary: The authors proposed a normative principle for how the brain’s internal estimate of an observed sensory variable should be updated during each individual observation. In particular, they propose that the update size should be inversely proportional to the variance of the variable. They then proposed a microcircuit model of how such an update can be implemented, in particularly incorporating two types of interneurons and their subtractive and divisive inhibition onto pyramidal neurons. One type should represent the estimated mean while another represents the estimated variance. The authors used simulations to show that the model works as expected.

      Strengths: The paper addresses two important issues: how uncertainty is represented and used in the brain, and the role of inhibitory neurons in neural computation. The proposed circuit and learning rules are simple enough to be plausible. They also work well for the designated purposes. The paper is also well-written and easy to follow.

      Weaknesses: I have concerns with two aspects of this work.

      (1) The optimality analysis leading to Eq (1) appears simplistic. The learning setting the authors describe (estimating the mean of a stationary Gaussian variable from a stream of observations) is a very basic problem in online learning/streaming algorithm literature. In this setting, the real “optimal” estimate is simply the arithmetic average of all samples seen so far. This can be implemented in an online manner with µˆt = µˆt−1 +(st −µˆt−1)/t. This is optimal in the sense that the estimator is always the maximum likelihood estimator given the samples seen up to time t. On the other hand, doing gradient descent only converges towards the MLE estimator after a large number of updates. Another critique is that while Eq (1) assumes an estimator of the mean (mˆu), it assumes that the variance is already known. However, in the actual model, the variance also needs to be estimated, and a more sophisticated analysis thus needs to take into account the uncertainty of the variance estimate and so on. Finally, the idea that the update should be inverse to the variance is connected to the well-established idea in neuroscience that more evidence should be integrated over when uncertainty is high. For example, in models of two-alternative forced choices it is known to be optimal to have a longer reaction time when the evidence is noisier.

      We agree with the reviewer that the simple example we gave was not ideal, as it could have been solved much more elegantly without gradient descent. And the reviewer correctly pointed out that our solution was not even optimal. We now present a better example in Figure 7, where the mean of the Gaussian variable is not stationary. Indeed, we did not intend to assume that the Gaussian variable is stationary, as we had in mind that the environment can change and hence also the Gaussian variable. If the mean is constant over time, it is indeed optimal to use the arithmetic mean. However, if the mean changes after many samples, then the maximum likelihood estimator model would be very slow to adapt to the new mean, because t is large and each new stimulus only has a small impact on the estimate. If the mean changes, uncertainty modulation may be useful: if the variance was small before, and the mean changes, then the resulting big error will influence the change in the estimate much more, such that we can more quickly learn the new mean. A combination of the two mechanisms would probably be ideal. We use gradient descent here, because not all optimisation problems the brain needs to solve are that simple. The problem with converging only after a large number of updates is a general problem of the algorithm. Here, we propose how the brain could estimate uncertainty to achieve the uncertainty-modulation observed in inference and learning tasks observed in behavioural studies. To give a more complex example, we present in a new Figure 8 how a hierarchy of UPE circuits can be used for uncertainty-based integration of prior and sensory information, similar to Bayes-optimal integration.

      Yes, indeed, there is well-known behavioural evidence, we would like to thank the reviewer for pointing out this connection to two-alternative forced choice tasks. We now cite this work. Our contribution is not on the already established computational or algorithmic level, but the proposal of a neural implementation of how uncertainty could modulate learning. The variance indeed needs to be estimated for optimal mean updating. That means that in the beginning, there will be non-optimal updating until the variance is learned. However, once the variance is learned, mean-updating can use the learned variance. There may be few variance contexts but many means to be learned, such that variance contexts can be reused. In any case, this is a problem on the algorithmic level, and not so much on the implementational level we are concerned with.

      (2) While the incorporation of different inhibitory cell types into the model is appreciated, it appears to me that the computation performed by the circuit is not novel. Essentially the model implements a running average of the mean and a running average of the variance, and gates updates to the mean with the inverse variance estimate. I am not sure about how much new insight the proposed model adds to our understanding of cortical microcircuits.

      We here suggest an implementation for how uncertainty could modulate learning via influencing prediction error com- putation. Our model can explain how humans could estimate uncertainty and weight prior versus sensory information accordingly. The focus of our work was not to design a better algorithm for mean and variance estimation, but rather to investigate how specialised prediction error circuits in the brain can implement these operations to provide new experimental hypotheses and predictions.

      Reviewer 1 (Recommendations For The Authors):

      Clarity and conciseness are a strength of this manuscript, but a more comprehensive explanation could improve the reader’s understanding in some instances. This includes the NMDA-based nonlinearity of pyramidal neuron activation - I am a little unclear exactly what problem this solves and how (alongside the significance of 5D and E).

      We agree that the introduction of the NMDA-based nonlinearity was too short and understand that it was confusing. We therefore modified and expanded the section, where we introduce the dendritic nonlinearity of the error neurons.

      Page 5: I think there is a ’positive’ and ’negative’ missing from the following sentence: ’the weights from the SSTs to the UPE neurons need to match the weights from the stimulus s to the UPE neuron and from the mean representation to the UPE neuron, respectively.’

      Thanks for pointing that out! We changed the sentence to be more clear to the following: “To ensure a comparison between the stimulus and the prediction, the inhibition from the SSTs needs to match the excitation it is compared to in the UPE neurons: In the positive PE circuit, the weights from the SSTs representing the prediction to the UPE neurons need to match the weights from the stimulus s to the UPE neurons. In the negative PE circuit, the weights from SSTs representing the stimulus to the negative UPE neurons need to match the weights from the mean representation to the UPE neurons, respectively.”

      Reviewer 2 (Recommendations For The Authors):

      Related to the first point above: I don’t feel that the authors adequately explained what the “s” and “a” information (e.g., in Figures 2A, 3A) represent, where they are coming from, what neurons they impact and in what way (and I believe Fig. 3A is missing one “a” label). I think they should elaborate more fully on these key, foundational details for their theory. To me, the idea of starting from the PV, SST, and pyramidal circuit, and then suddenly introducing the extra R neuron in Figure 5, just adds confusion. If the R neuron is meant to be the source, in practice, of certain inputs to some of the other cell types, then I think that should be included in the circuit from the start. Perhaps a good idea would be to start with two schematics, one in the form of Figure 5A (but with additional labeling for PV, SST) and one like Figure 1EF (but with auditory inputs as well), with a clear indication that the latter is meant to represent a preliminary, reduced form of the former that will be used in some initial tests of the performance of the PV, SST, UPE part of the circuit. Related to the Methods, I also can give a list of some specific complaints (in latex):

      (1) φ, φP V are used in equations (10), (11), so they should be defined there, not many equations later.

      Thank you, we changed that.

      (2) β, 1 − β appear without justification or explanation in (11). That is finally defined and derived several pages later.

      Thank you, we now define it right at the beginning.

      (3) Equations (10)-(12) should be immediately followed by information about plasticity, rather than deferring that.

      That’s a great idea. We changed it. Now the synaptic dynamics are explained together with the firing rate dynamics.

      (4) After the rate equations (10)-(12) and weight change equations (23)-(25) are presented, the same equations are simply repeated in the “Explanation of the synaptic dynamics” subsection.

      We agree that this was suboptimal. We moved the explanation of the synaptic dynamics up and removed the repetition.

      (5) In the circuit model (13)-(19), it’s not clear why rR shows up in the SST+ and PV− equations vs. rs in PV+ and SST−. Moreover, rs is not even defined! Also, I don’t see why wP V +,R shows up in the equation for rP V − .

      We added more explanation to the Methods section as to why the neurons receive these inputs and renamed rs to s, which is defined. The “+” in wP V +,R was a typo. Thank you for spotting that.

      (6) The authors should only number those equations that they will reference by number. Even more importantly, there are many numbers such as (20), (26), (32), (39) that are just floating there without referring to an equation at all.

      Thank you for spotting that. We corrected this.

      (7) The authors fail to specify what is ra in Figure 8. Moreover, it seems strange to me that wP V,a approaches σ rather than wP V,ara approaching σ, since φP V is a function of wP V,ara.

      You are right, wP V,ara should approach σ, but since ra is either 1 or 0 to indicate the presence of absence of the cue, and only wP V,a is plastic and changing„ wP V,a approaches σ.

      (8) I don’t understand the rationale for the authors to introduce equation. (30) when they already had plasticity equations earlier. What is the relation of (30), (31) to (24)?

      It is the same equation. In 30 we introduce simpler symbols for a better overview of the equations. 31 is equal to 30, with rP V replaced by it’s steady state.

      (9) η is omitted from (33) - it won’t affect the final result but should be there.

      We fixed this.

      I have many additional specific comments and suggestions, some related to errors that really should have been caught before manuscript submission. I will present these based on the order in which they arise in the manuscript.

      (1) In the abstract, the mention of layer 2/3 comes out of nowhere. Why this layer specifically? Is this meant to be an abstract/general cortical circuit model or to relate to a specific brain area? (Also watch for several minor grammatical issues in the abstract and later.)

      Thank you for pointing this out. We now mention that the observed error neurons can be found in layer 2/3 of diverse brain areas. It is meant to be a general cortical circuit model independent of brain area.

      (2) In par. 2 of the introduction, I find sentences 3-4 to be confusing and vague. Please rewrite what is meant more directly and clearly.

      We tried to improve those sentences.

      (3) Results subtitle 1: “suggests” → “suggest”

      Thank you.

      (4) Be careful to use math font whenever variables, such as a and N, are referenced (e.g., use of a instead of a bottom pg. 2).

      We agree and checked the entire manuscript.

      (5) Ref. to Fig. 1B bottom pg. 2 should be Fig. 1CD. The panel order in the figure should then be changed to match how it is referenced.

      We fixed it and matched the ordering of the text with the ordering of the figure.

      (6) Fig. 2C and 3E captions mention std but this is not shown in the figures - should be added.

      It is there, it is just very small.

      (7) Please clarify the relation of Figure 2C to 2F, and Figure 3F to 3H.

      We colour-coded the points in 2F that correspond to the bars in 2C. We did the same for 3F and 3H.

      (8) Figures 3E,3F appear to be identical except for the y-axis label and inclusion of std in 3F. Either more explanation is needed of how these relate or one should be cut.

      The difference is that 3E shows the activity of PVs based on only the sound cue in the absence of a whisker stimulus. And 3F shows the activity of PVs based on both the sound cue and whisker stimuli. We state this more clearly now.

      (9) Bottom of pg. 4: clarify that a quadratic φP V is a model assumption, not derived from results in the figure.

      We added that we assume this.

      (10) When k is referenced in the caption of Figure 4, the reader has no idea what it is. More substantially, most panels of Figure 4 are not referenced in the paper. I don’t understand what point the authors are trying to make here with much of this figure. Indeed, since the claim is that the uncertainy prediction should be based on division by σ2, why aren’t the numerical values for UPE rates much larger, since σ gets so small? The authors also fail to give enough details about the simulations done to obtain these plots; presumably these are after some sort of (unspecified) convergence, and in response to some sort of (unspecified) stimulus? Coming back to k, I don’t understand why k > 2 is used in addition to k = 2. The text mentions – even italicizes – “out-of-distribution dectection’, but this is never mentioned elsewhere in the paper and seems to be outside the true scope of the work (and not demonstrated in Figure 4). Sticking with k = 2 would also allow authors to simply use (·)k below (10), rather than the awkward positive part function that they have used now.

      We now introduce the equation for the error neurons in Eq. 3 within the text, such that k is introduced before the caption. It also explains why the numerical values do not become much larger. Divisive inhibition, unlike mathematical division, cannot lead to multiplication in neurons. To ensure this, we add 1 to the denominator.

      We show the error neuron responses to stimuli deviating from the learned mean after learning the mean and variance. The deviation is indicated either on the x-axis or in the legend depending on the plot. We now more explicitly state that these plots are obtained after learning the mean and the variance.

      We removed the mentioning of the “out-of-distribution detection” as a detailed treatment would indeed be outside of the scope.

      (11) Page 5, please clarify what is meant by “weights from the sound...”. You have introduced mathematical notation - use it so that you can be precise.

      We added the mathematical notation, thank you!

      (12) Figure 5D: legend has 5 entries but the figure panel only plots 4 quantities.

      The SST firing rate was below the R firing rate. We hence omitted the SST firing rate and its legend.

      (13) Figure 5: I don’t understand what point is being made about NMDA spikes. The text for Figure 5 refers to NMDA spikes in Figure 4, but nothing was said about NMDA spikes in the text for Figure 4 nor shown in Figure 4 itself.

      We were referring to the nonlinearity in the activation function of UPEs in Figure 4. We changed the text to clarify this point.

      (14) Figure 6: It is too difficult to distinguish the black and purple curves even on a large monitor. Also, the authors fail to define what they mean by “MM” and also do not define the quantities Y+ and Y− that they show. Another confusing aspect is that the model has PV+ and PV− neurons, so why doesn’t the figure?

      Thank you for the comment. We changed the colour for better visibility, replaced the Upsilons with UPE (we changed the notation at some point and forgot to change it in the figure), and defined MM, which is the mismatch stimulus that causes error activity. We did not distinguish between PV+ and PV− in the plot as their activity is the same on average. We plotted the activity of the PV+. We now mention that we show the activity of PV+ as the representative.

      (15) Also Figure 6: The authors do not make it clear in the text whether these are simulation results or cartoons. If the latter, please replace this with actual simulation results.

      They are actual simulation results. We clarified this in the text.

      (16) This work assumes the existence of two different populations of SST neurons with distinct UPE (pyramidal) targets. The Discussion doesn’t say much about any evidence for this assumption, which should be more thoroughly discussed and justified.

      We now discuss this in more detail in the discussion as mentioned in our response to the public review.

      (17) Par. 2 of the discussion refers to “Bayesian” and “Bayes-optimal” several times. Nothing was said earlier in the paper about a Bayesian framework for these results and it’s not clear what the authors mean by referring to Bayes here. This paragraph needs editing so that it clearly relates to the material of the results section and its implications.

      We added an additional results section (the last section with Figure 8) on integrating prior and sensory information based on their uncertainties, which is also the case for Bayes-optimal integration, and show that our model can reproduce the central tendency effect, which is a hallmark of Bayes-optimal behaviour.

      Reviewer 3 (Recommendations For The Authors):

      See public review. I think the gradient-descent type of update the authors do in Equation (1) could be more useful in a more complicated learning scenario where the MLE has no closed form and has to be computed with gradient-based algorithms.

      We responded in detail to your points in our point-by-point response to the public review.

    1. Author response:

      Reviewer #1 (Public review):

      This manuscript from Schwintek and coworkers describes a system in which gas flow across a small channel (10^-4-10^-3 m scale) enables the accumulation of reactants and convective flow. The authors go on to show that this can be used to perform PCR as a model of prebiotic replication.

      Strengths:

      The manuscript nicely extends the authors' prior work in thermophoresis and convection to gas flows. The demonstration of nucleic acid replication is an exciting one, and an enzyme-catalyzed proof-of-concept is a great first step towards a novel geochemical scenario for prebiotic replication reactions and other prebiotic chemistry.

      The manuscript nicely combines theory and experiment, which generally agree well with one another, and it convincingly shows that accumulation can be achieved with gas flows and that it can also be utilized in the same system for what one hopes is a precursor to a model prebiotic reaction. This continues efforts from Braun and Mast over the last 10-15 years extending a phenomenon that was appreciated by physicists and perhaps underappreciated in prebiotic chemistry to increasingly chemically relevant systems and, here, a pilot experiment with a simple biochemical system as a prebiotic model.

      I think this is exciting work and will be of broad interest to the prebiotic chemistry community.

      Weaknesses:

      The manuscript states: "The micro scale gas-water evaporation interface consisted of a 1.5 mm wide and 250 µm thick channel that carried an upward pure water flow of 4 nl/s ≈ 10 µm/s perpendicular to an air flow of about 250 ml/min ≈ 10 m/s." This was a bit confusing on first read because Figure 2 appears to show a larger channel - based on the scale bar, it appears to be about 2 mm across on the short axis and 5 mm across on the long axis. From reading the methods, one understands the thickness is associated with the Teflon, but the 1.5 mm dimension is still a bit confusing (and what is the dimension in the long axis?) It is a little hard to tell which portion (perhaps all?) of the image is the channel. This is because discontinuities are present on the left and right sides of the experimental panels (consistent with the image showing material beyond the channel), but not the simulated panels. Based on the authors' description of the apparatus (sapphire/CNC machined Teflon/sapphire) it sounds like the geometry is well-known to them. Clarifying what is going on here (and perhaps supplying the source images for the machined Teflon) would be helpful.

      We understand. We will update the figures to better show dimensions of the experimental chamber. We will also add a more complete Figure in the supplementary information. Part of the complexity of the chamber however stems from the fact that the same chamber design has also been used to create defined temperature gradients which are not necessary and thus the chamber is much more complex than necessary.

      The data shown in Figure 2d nicely shows nonrandom residuals (for experimental values vs. simulated) that are most pronounced at t~12 m and t~40-60m. It seems like this is (1) because some symmetry-breaking occurs that isn't accounted for by the model, and perhaps (2) because of the fact that these data are n=1. I think discussing what's going on with (1) would greatly improve the paper, and performing additional replicates to address (2) would be very informative and enhance the paper. Perhaps the negative and positive residuals would change sign in some, but not all, additional replicates?

      To address this, we will show two more replicates of the experiment and include them in Figure 2.

      We are seeing two effects when we compare fluorescence measurements of the experiments.

      Firstly, degassing of water causes the formation of air-bubbles, which are then transported upwards to the interface, disrupting fluorescence measurements. This, however, mostly occurs in experiments with elevated temperatures for PCR reactions, such as displayed in Figure 4.

      Secondly, due to the high surface tension of water, the interface is quite flexible. As the inflow and evaporation work to balance each other, the shape of the interface adjusts, leading to alterations in the circular flow fields below.

      Thus the conditions, while overall being in steady state, show some fluctuations. The strong dependence on interface shape is also seen in the simulation. However, modeling a dynamic interface shape is not so easy to accomplish, so we had to stick to one geometry setting. Again here, the added movies of two more experiments should clarify this issue.

      The authors will most likely be familiar with the work of Victor Ugaz and colleagues, in which they demonstrated Rayleigh-Bénard-driven PCR in convection cells (10.1126/science.298.5594.793, 10.1002/anie.200700306). Not including some discussion of this work is an unfortunate oversight, and addressing it would significantly improve the manuscript and provide some valuable context to readers. Something of particular interest would be their observation that wide circular cells gave chaotic temperature profiles relative to narrow ones and that these improved PCR amplification (10.1002/anie.201004217). I think contextualizing the results shown here in light of this paper would be helpful.

      Thanks for pointing this out and reminding us. We apologize. We agree that the chaotic trajectories within Rayleigh-Bénard convection cells lead to temperature oscillations similar to the salt variations in our gas-flux system. Although the convection-driven PCR in Rayleigh-Bénard is not isothermal like our system, it provides a useful point of comparison and context for understanding environments that can support full replication cycles. We will add a section comparing approaches and giving some comparison into the history of convective PCR and how these relate to the new isothermal implementation.

      Again, it appears n=1 is shown for Figure 4a-c - the source of the title claim of the paper - and showing some replicates and perhaps discussing them in the context of prior work would enhance the manuscript.

      We appreciate the reviewer for bringing this to our attention. We will now include the two additional repeats for the data shown in Figure 4c, while the repeats of the PAGE measurements are already displayed in Supplementary Fig. IX.2. Initially, we chose not to show the repeats in Figure 4c due to the dynamic and variable nature of the system. These variations are primarily caused by differences at the water-air interface, attributed to the high surface tension of water. Additionally, the stochastic formation of air bubbles in the inflow—despite our best efforts to avoid them—led to fluctuations in the fluorescence measurements across experiments. These bubbles cause a significant drop in fluorescence in a region of interest (ROI) until the area is refilled with the sample.

      Unlike our RNA-focused experiments, PCR requires high temperatures and degassing a PCR master mix effectively is challenging in this context. While we believe our chamber design is sufficiently gas-tight to prevent air from diffusing in, the high surface-to-volume ratio in microfluidics makes degassing highly effective, particularly at elevated temperatures. We anticipate that switching to RNA experiments at lower temperatures will mitigate this issue, which is also relevant in a prebiotic context.

      The reviewer’s comments are valid and prompt us to fully display these aspects of the system. We will now include these repeats in Figure 4c to give readers a deeper understanding of the experiment's dynamics. Additionally, we will provide videos of all three repeats, allowing readers to better grasp the nature of the fluctuations in SYBR Green fluorescence depicted in Figure 4c.

      I think some caution is warranted in interpreting the PCR results because a primer-dimer would be of essentially the same length as the product. It appears as though the experiment has worked as described, but it's very difficult to be certain of this given this limitation. Doing the PCR with a significantly longer amplicon would be ideal, or alternately discussing this possible limitation would be helpful to the readers in managing expectations.

      This is a good point and should be discussed more in the manuscript. Our gel electrophoresis is capable of distinguishing between replicate and primer dimers. We know this since we were optimizing the primers and template sequences to minimize primer dimers, making it distinguishable from the desired 61mer product. That said, all of the experiments performed without a template strand added did not show any band in the vicinity of the product band after 4h of reaction, in contrast to the experiments with template, presenting a strong argument against the presence of primer dimers.

      Reviewer #2 (Public review):

      Schwintek et al. investigated whether a geological setting of a rock pore with water inflow on one end and gas passing over the opening of the pore on the other end could create a non-equilibrium system that sustains nucleic acid reactions under mild conditions. The evaporation of water as the gas passes over it concentrates the solutes at the boundary of evaporation, while the gas flux induces momentum transfer that creates currents in the water that push the concentrated molecules back into the bulk solution. This leads to the creation of steady-state regions of differential salt and macromolecule concentrations that can be used to manipulate nucleic acids. First, the authors showed that fluorescent bead behavior in this system closely matched their fluid dynamic simulations. With that validation in hand, the authors next showed that fluorescently labeled DNA behaved according to their theory as well. Using these insights, the authors performed a FRET experiment that clearly demonstrated the hybridization of two DNA strands as they passed through the high Mg++ concentration zone, and, conversely, the dissociation of the strands as they passed through the low Mg++ concentration zone. This isothermal hybridization and dissociation of DNA strands allowed the authors to perform an isothermal DNA amplification using a DNA polymerase enzyme. Crucially, the isothermal DNA amplification required the presence of the gas flux and could not be recapitulated using a system that was at equilibrium. These experiments advance our understanding of the geological settings that could support nucleic acid reactions that were key to the origin of life.

      The presented data compellingly supports the conclusions made by the authors. To increase the relevance of the work for the origin of life field, the following experiments are suggested:

      (1) While the central premise of this work is that RNA degradation presents a risk for strand separation strategies relying on elevated temperatures, all of the work is performed using DNA as the nucleic acid model. I understand the convenience of using DNA, especially in the latter replication experiment, but I think that at least the FRET experiments could be performed using RNA instead of DNA.

      We understand the request only partially. The modification brought about by the two dye molecules in the FRET probe to be able to probe salt concentrations by melting is of course much larger than the change of the backbone from RNA to DNA. This was the reason why we rather used the much more stable DNA construct which is also manufactured at a lower cost and in much higher purity also with the modifications. But we think the melting temperature characteristics of RNA and DNA in this range is enough known that we can use DNA instead of RNA for probing the salt concentration in our flow cycling.

      Only at extreme conditions of pH and salt, RNA degradation through transesterification, especially under alkaline conditions is at least several orders of magnitude faster than spontaneous degradative mechanisms acting upon DNA [Li, Y., & Breaker, R. R. (1999). Kinetics of RNA degradation by specific base catalysis of transesterification involving the 2 ‘-hydroxyl group. Journal of the American Chemical Society, 121(23), 5364-5372.]. The work presented in this article is however focussed on hybridization dynamics of nucleic acids. Here, RNA and DNA share similar properties regarding the formation of double strands and their respective melting temperatures. While RNA has been shown to form more stable duplex structures exhibiting higher melting temperatures compared to DNA [Dimitrov, R. A., & Zuker, M. (2004). Prediction of hybridization and melting for double-stranded nucleic acids. Biophysical Journal, 87(1), 215-226.], the general impact of changes in salt, temperature and pH [Mariani, A., Bonfio, C., Johnson, C. M., & Sutherland, J. D. (2018). pH-Driven RNA strand separation under prebiotically plausible conditions. Biochemistry, 57(45), 6382-6386.] on respective melting temperatures follows the same trend for both nucleic acid types. Also the diffusive properties of RNA and DNA are very similar [Baaske, P., Weinert, F. M., Duhr, S., Lemke, K. H., Russell, M. J., & Braun, D. (2007). Extreme accumulation of nucleotides in simulated hydrothermal pore systems. Proceedings of the National Academy of Sciences, 104(22), 9346-9351.].

      Since this work is a proof of principle for the discussed environment being able to host nucleic acid replication, we aimed to avoid second order effects such as degradation by hydrolysis by using DNA as a proxy polymer. This enabled us to focus on the physical effects of the environment on local salt and nucleic acid concentration. The experiments performed with FRET are used to visualize local salt concentration changes and their impact on the melting temperature of dissolved nucleic acids.  While performing these experiments with RNA would without doubt cover a broader application within the field of origin of life, we aimed at a step-by-step / proof of principle approach, especially since the environmental phenomena studied here have not been previously investigated in the OOL context. Incorporating RNA-related complexity into this system should however be addressed in future studies. This will likely require modifications to the experimental boundary conditions, such as adjusting pH, temperature, and salt concentration, to account for the greater duplex stability of RNA. For instance, lowering the pH would reduce the RNA melting temperature [Ianeselli, A., Atienza, M., Kudella, P. W., Gerland, U., Mast, C. B., & Braun, D. (2022). Water cycles in a Hadean CO2 atmosphere drive the evolution of long DNA. Nature Physics, 18(5), 579-585.].

      (2) Additionally, showing that RNA does not degrade under the conditions employed by the authors (I am particularly worried about the high Mg++ zones created by the flux) would further strengthen the already very strong and compelling work.

      Based on literature values for hydrolysis rates of RNA [Li, Y., & Breaker, R. R. (1999). Kinetics of RNA degradation by specific base catalysis of transesterification involving the 2 ‘-hydroxyl group. Journal of the American Chemical Society, 121(23), 5364-5372.], we estimate RNA to have a halflife of multiple months under the deployed conditions in the FRET experiment (High concentration zones contain <1mM of Mg2+). Additionally, dsRNA is multiple orders of magnitude more stable than ssRNA with regards to degradation through hydrolysis [Zhang, K., Hodge, J., Chatterjee, A., Moon, T. S., & Parker, K. M. (2021). Duplex structure of double-stranded RNA provides stability against hydrolysis relative to single-stranded RNA. Environmental Science & Technology, 55(12), 8045-8053.], improving RNA stability especially in zones of high FRET signal. Furthermore, at the neutral pH deployed in this work, RNA does not readily degrade. In previous work from our lab [Salditt, A., Karr, L., Salibi, E., Le Vay, K., Braun, D., & Mutschler, H. (2023). Ribozyme-mediated RNA synthesis and replication in a model Hadean microenvironment. Nature Communications, 14(1), 1495.], we showed that the lifetime of RNA under conditions reaching 40mM Mg2+ at the air-water interface at 45°C was sufficient to support ribozymatically mediated ligation reactions in experiments lasting multiple hours.

      With that in mind, gaining insight into the median Mg2+ concentration across multiple averaged nucleic acid trajectories in our system (see Fig. 3c&d) and numerically convoluting this with hydrolysis dynamics from literature would be highly valuable. We anticipate that longer residence times in trajectories distant from the interface will improve RNA stability compared to a system with uniformly high Mg2+ concentrations.

      (3) Finally, I am curious whether the authors have considered designing a simulation or experiment that uses the imidazole- or 2′,3′-cyclic phosphate-activated ribonucleotides. For instance, a fully paired RNA duplex and a fluorescently-labeled primer could be incubated in the presence of activated ribonucleotides +/- flux and subsequently analyzed by gel electrophoresis to determine how much primer extension has occurred. The reason for this suggestion is that, due to the slow kinetics of chemical primer extension, the reannealing of the fully complementary strands as they pass through the high Mg++ zone, which is required for primer extension, may outcompete the primer extension reaction. In the case of the DNA polymerase, the enzymatic catalysis likely outcompetes the reannealing, but this may not recapitulate the uncatalyzed chemical reaction.

      This is certainly on our to-do list. Our current focus is on templated ligation rather than templated polymerization and we are working hard to implement RNA-only enzyme-free ligation chain reaction, based on more optimized parameters for the templated ligation from 2’3’-cyclic phosphate activation that was just published [High-Fidelity RNA Copying via 2′,3′-Cyclic Phosphate Ligation, Adriana C. Serrão, Sreekar Wunnava, Avinash V. Dass, Lennard Ufer, Philipp Schwintek, Christof B. Mast, and Dieter Braun, JACS doi.org/10.1021/jacs.3c10813 (2024)]. But we first would try this at an air-water interface which was shown to work with RNA in a temperature gradient [Ribozyme-mediated RNA synthesis and replication in a model Hadean microenvironment, Annalena Salditt, Leonie Karr, Elia Salibi, Kristian Le Vay, Dieter Braun & Hannes Mutschler, Nature Communications doi.org/10.1038/s41467-023-37206-4 (2023)] before making the jump to the isothermal setting we describe here. So we can understand the question, but it was good practice also in the past to first get to know the setting with PCR, then jump to RNA.

      Reviewer #2 (Recommendations for the authors):

      (1) Could the authors comment on the likelihood of the geological environments where the water inflow velocity equals the evaporation velocity?

      This is an important point to mention in the manuscript, thank you for pointing that out. To produce a defined experiment, we were pushing the water out with a syringe pump, but regulated in a way that the evaporation was matching our flow rate. We imagine that a real system will self-regulate the inflow of the water column on the one hand side by a more complex geometry of the gas flow, matching the evaporation with the reflow of water automatically. The interface would either recede or move closer to the gas flux, depending on whether the inflow exceeds or falls short of the evaporation rate. As the interface moves closer, evaporation speeds up, while moving away slows it down. This dynamic process stabilizes the system, with surface tension ultimately fixing the interface in place.

      We have seen a bit of this dynamic already in the experiments, could however so far not yet find a good geometry within our 2-dimensional constant thickness geometry to make it work for a longer time. Very likely having a 3-dimensional reservoir of water with less frictional forces would be able to do this, but this would require a full redesign of a multi-thickness microfluidics. The more we think about it, the more we envisage to make the next implementation of the experiment with a real porous volcanic rock inside a humidity chamber that simulates a full 6h prebiotic day. But then we would lose the whole reproducibility of the experiment, but likely gain a way that recondensation of water by dew in a cold morning is refilling the water reservoirs in the rocks again. Sorry that I am regressing towards experiments in the future.

      (2) Could the authors speculate on using gases other than ambient air to provide the flux and possibly even chemical energy? For example, using carbonyl sulfide or vaporized methyl isocyanide could drive amino acid and nucleotide activation, respectively, at the gas-water interface.

      This is an interesting prospect for future work with this system. We thought also about introducing ammonia for pH control and possible reactions. We were amazed in the past that having CO2 instead of air had a profound impact on the replication and the strand separation [Water cycles in a Hadean CO2 atmosphere drive the evolution of long DNA, Alan Ianeselli, Miguel Atienza, Patrick Kudella, Ulrich Gerland, Christof Mast & Dieter Braun, Nature Physics doi.org/10.1038/s41567-022-01516-z (2022)]. So going more in this direction absolutely makes sense and as it acts mostly on the length-selectively accumulated molecules at the interface, only the selected molecules will be affected, which adds to the selection pressure of early evolutionary scenarios.

      Of course, in the manuscript, we use ambient air as a proxy for any gas, focusing primarily on the energy introduced through momentum transfer and evaporation. We speculate that soluble gasses could establish chemical gradients, such as pH or redox potential, from the bulk solution to the interface, similar to the Mg2+ accumulation shown in Figure 3c. The nature of these gradients would depend on each gas's solubility and diffusivity. We have already observed such effects in thermal gradients [Keil, L. M., Möller, F. M., Kieß, M., Kudella, P. W., & Mast, C. B. (2017). Proton gradients and pH oscillations emerge from heat flow at the microscale. Nature communications, 8(1), 1897.] and finding similar behavior in an isothermal environment would be a significant discovery.

      (3) Line 162: Instead of "risk," I suggest using "rate".

      Oh well - thanks for pointing this out! Will be changed.

      (4) Using FRET of a DNA duplex as an indicator of salt concentration is a decent proxy, but a more direct measurement of salt concentration would provide further merit to the explicit statement that it is the salt concentration that is changing in the system and not another hidden parameter.

      Directly observing salt concentration using microscopy is a difficult task. While there are dyes that change their fluorescence depending on the local Na+ or Mg2+ concentration, they are not operating differentially, i.e. by making a ratio between two color channels. Only then we are not running into artifacts from the dye molecules being accumulated by the non-equilibrium settings. We were able to do this for pH in the past, but did not find comparable optical salt sensors. This is the reason we ended up with a FRET pair, with the advantage that we actually probe the strand separation that we are interested in anyhow. Using such a dye in future work would however without a doubt enhance the understanding of not only this system, but also our thermal gradient environments.

      (5) Figure 3a: Could the authors add information on "Dried DNA" to the caption? I am assuming this is the DNA that dried off on the sides of the vessel but cannot be sure.

      Thanks to the reviewer for pointing this out. This is correct and we will describe this better in the revised manuscript.

      (6) Figure 4b and c: How reproducible is this data? Have the authors performed this reaction multiple independent times? If so, this data should be added to the manuscript.

      The data from the gel electrophoresis was performed in triplicates and is shown in full in supplementary information. The data in c is hard to reproduce, as the interface is not static and thus ROI measurements are difficult to perform as an average of repeats. Including the data from the independent repeats will however give the reader insight into some of the experimental difficulties, such as air bubbles, which form from degassing as the liquid heats up, that travel upwards to the interface, disrupting the ongoing fluorescence measurements.

      (7) Line 256: "shielding from harmful UV" statement only applies to RNA oligomers as UV light may actually be beneficial for earlier steps during ribonucleoside synthesis. I suggest rephrasing to "shielding nucleic acid oligomers from UV damage.".

      Will be adjusted as mentioned.

      (8) The final paragraph in the Results and Discussion section would flow better if placed in the Conclusion section.

      This is a good point and we will merge results and discussion closer together.

      (9) Line 262, "...of early Life" is slightly overstating the conclusions of the study. I suggest rephrasing to "...of nucleic acids that could have supported early life."

      This is a fair comment. We thank the reviewer for his detailed analysis of the manuscript!

      (10) In references, some of the journal names are in sentence case while others are in title case (see references 23 and 26 for example).

      Thanks - this will be fixed.

    1. It will hurt. It will suck. It’s not like starting to use a new, elegant tool on some pet project. A lot of brain power needs to go into this, and it’s mostly boring, menial work. But hey, nobody said this stuff is easy. Not even Vannevar Bush. None of us are entitled to easy work.

      It's always the people not the tools that lead to greatness. As is the lesson of Spy Kids 2: Island of Lost Dreams (2002)

    2. And when I inevitably need to review something a few months from now, I know exactly where to look. For example, I will want to measure whether the app is actually getting faster, and I will want to use the exact same methodology and code as at the start. Thankfully, both are right there in my memex trail.

      I find writing something, and coming back a couple days later to reread it with a fresh mind is very helpful. A "memex" medium would remind me to do that, if you spend 3 hours writing something it should call you up and ask, hey wana read through this again so future you a long time from now will make sure to understand it

    3. Memex is already here, it’s just not evenly distributed If you look back at the list above, you’ll realize that these things are already very much possible. They might not be in a single shiny app, but that doesn’t matter. (In fact, it’s probably better, in many ways, that today’s memex isn’t a single app. We’ll get back to this later.) To create a new memex “trail” in the year 2020, just create a shared folder (in Zoho Workdrive, Dropbox, Synology Drive, Google Drive, OneDrive, iCloud, etc.) and put some documents in it. That’s it. I know: it’s not glorious. It’s not shiny. It’s just a boring old folder with boring old documents. But I hope to persuade you that it’s good enough, and that you don’t need to wait for some vaporware to work the way Vannevar Bush imagined in 1945.

      Yea but there is no version control on that stuff

      Well I guess google docs has it, but other stuff does not

      Bug google docs does not have backlinks

      Hmm Jupyter notebooks would be very cool to be multi user as well, but that can get very messy

    4. Imagine that you and I are working in the same company. I tell you there’s a new project for us two to work on. I explain it to you and you get reasonably excited. And then I tell you that I’ve started a new “bloorp” in BloorpyBase, a piece of software from 2012 that almost nobody uses. You grudgingly install BloorpyBase. The app doesn’t use the same keyboard shortcuts you’re used to. The shortcut normally assigned to adding a comment instead minimizes all windows. Sigh. You try to link some exploratory source code to it, but BloorpyBase only works with Mercurial. Sigh. You read some of my initial thoughts and try to respond but you don’t know what’s the best way to do it. Should you create another bloorp? Should you make a suggestion, or an edit? You spend half an hour reading a “How To Bloorp” guide on the internet but come back empty handed. Sigh.

      This is too real...

    5. A piece of software that works with your existing files, and which people around you can use, will generally win over some new way of doing things that you first need to migrate to, and then also ask others around you to migrate to as well.

      I got a friend of mine using Obsidian, but they don't know how to share stuff with people... teaching people git can be hard

      Multiuser git, is a nightmare when you are not writing code

    6. I think you’ll agree with me that, while Xanadu is a lot closer to the idea of memex than the web, it’s kind of underwhelming as a piece of software. I remember playing with it a few years back, and I just didn’t find it that compelling.

      I don't think I have seen any current PKMS(Personal Knowledge Management System) tool like Notion, Obsidian and friends used to annotate that kind of text.

      It would be nice to read Sci Fi with annotations like that, you could also go cross medium and allow voice notes on timestamps of audiobooks

    7. There are projects that explore this space, of course. The most obvious descendant is Ted Nelson’s Xanadu project, a piece of software more than 50 years in the making. You can see its 2016’s incarnation in this video.

      If only I could link back to my previous comment in the article where I mentioned Xandeu.... if only

      Oh wait I can

      https://hyp.is/aNEw8HqYEe-LYgdose0r7Q/filiph.net/text/memex-is-already-here,-it's-just-not-evenly-distributed.html

      If only Hypothesis had internal backlinks and labels for links like a memex

    8. This blog is primarily for developers, and software development is in many ways a research job.

      I need friends that have proper research jobs so we can nerd out about this kind of stuff, I only know Dev's

    9. His “trails” are similar in concept to a physical binder that contains documents that you can freely annotate, highlight and interlink. Any given document can of course be in multiple different binders, and its annotations and links depend on the context. Even for a single person, every “page” can exist in several different forms, depending on what the person is researching or trying to remember at the moment.

      I believe fed.wiki does a good job implementing that "trail" functionality

      Side Note: I want my reading stats accessable in this "trail", I want every page turn on my kindle timestamped and accessable as a Dataframe preferably JSONLD formatted

    10. You can’t annotate a relationship between two paragraphs on two separate sites.

      Someone is trying to build just that,

      Memex

      Too bad is is completely centralized and I really dislike their data export functionality, Hypothesis on the other hand is also centralized but has a great API

    1. Providing engagement with content in multiple forms – be it through hands-on activities, or different modalities – makes students pay attention to content in different ways, and requires learners to integrate knowledge in new ways. If an educator is using multiple methods and modalities, it’s just more interesting, and students pay more attention, which leads to better learning.

      I LOVE this! I've found in my own experience that I retain the most information when I engage with the material through multiple modalities (e.g. auditory, visual, kinesthetic, etc.) It really does make learning more fun.

    1. The answer has to do with much more than a new kind of food. For all its terrifying urgency, climate change is an invitation — to reinvent our economies, to rethink consumption, to redraw our relationships to nature and to one another. Cultivated meat was an excuse to shirk that hard, necessary work. The idea sounded futuristic, but its appeal was all about nostalgia, a way to pretend that things will go on as they always have, that nothing really needs to change. It was magical climate thinking, a delicious delusion.

      climate change is more than just a food issue. It’s a chance to change how we live and interact with nature. The idea of cultivated meat seems modern, but it really lets us avoid dealing with the hard changes we need to make. Instead of facing the problem, people cling to old ways and hope things won’t change.

    2. nvestors will no doubt be eager to find out what went wrong. For the rest of us, a more pressing question is why anyone ever thought it could go right. Why did so many people buy into the dream that cultivated meat would save us?

      I think they all thought that it was possible because it was a shortcut many could get some profit from and another is that it's something they likely rely on. People with power and riches have to worry about where their diet comes from because it's what they need to live, but have a different view on it than other people.

    3. And today, a few products that include cultivated cells have been approved for sale in Singapore, the United States and Israel.

      A lot of these companies seem to have a major part in what we know as the meat market business which includes how our meat is processed and what is really in them. I believe it's interesting how in any topic there's always a business to it. Especially when it comes to something like food.

    1. Author response:

      The following is the authors’ response to the original reviews.

      Response to Public Reviews:

      We thank the reviewers for their kind comments have implemented many of the suggestion their suggestions. Our paper has greatly benefited from their advice.  Like Reviewer 1, we acknowledge that while the exact involvement of Ih in allowing smooth transitions is likely not universal across all systems, our demonstration of the ways in which such currents can affect the dynamics of the response of complex rhythmic motor networks provides valuable insight. To address the concerns of Reviewer 2, we included a sentence in the discussion to highlight the fact that cesium neither increased the pyloric frequency nor caused consistent depolarization in intracellular recordings. We also highlighted that these observations suggest both that cesium is not indirectly raising [K+]outside and support the conclusion that the effects of cesium are primarily through blockade of Ih rather than other potassium channels.

      Reviewer 3 raised some important points about modeling. While the lab has models that explore the effects of temperature on artificial triphasic rhythms, these models do not account for all the biophysical nuances of the full biological system. We have limited data about the exact nature of temperature-induced parameter changes and the extent to which these changes are mediated by intrinsic effects of temperature on protein structure versus protein interactions/modification by processes such as phosphorylation. With respects to the A current, Tang et al., 2010 reported that the activation and inactivation rates are differentially temperature sensitive but we do not have the data to suggest whether or not the time courses of such sensitivities are different. As such, we focus our discussion on the properties we know are modulated by temperature, i.e. activation rates. Within the discussion we now include the suggestion that future, more comprehensive modeling may be appropriate to further elucidate the ways in which reducing Ih may produce the here reported experimentally observed effects.

      Reviewer #1 (Recommendations For The Authors):

      Suggested revisions:

      A figure showing examples of the voltage-clamp traces for the critical measurements of the extent of Ih block by 5 mM CsCl in PD and LP neurons at the temperature extremes in these preparations is not shown, and the authors should consider including such a figure, perhaps as a supplemental figure.

      We have added Supplemental Figure 1 containing voltage-clamp traces demonstrating the extent of Ih block by 5mM CsCl in PD and LP neurons at 11 and 21°C.  Due to technical concerns, different preparations were used in the measurements at 11°C and 21°C, but the point that the H-current is reduced is demonstrated in all cases.

      Reviewer #2 (Recommendations for The Authors):

      Specific (Minor) Comments:

      (1) Line 83: In Cs+ "at 11°C, the pyloric frequency was significantly decreased compared to control conditions (Saline: 1.2± 0.2 Hz; Cs+ 0.9± 0.2 Hz)".

      As above, the authors often report that cesium generally reduces pyloric frequency. Figure 5A demonstrates this action quite nicely. However, cesium's effect on pyloric frequency at 11°C seems less robust in Figure 1C. Why the discrepancy?

      There is variability in the effects of Cs+ on the pyloric frequency.  As noted, the standard deviation in frequency in both conditions is 0.2Hz.  As such, there are some cases in which the initial frequency drop in Cs+ compared to control was relatively small.  1C is one such case, but was selected as an example because of its clear reduction in temperature sensitivity. 

      (2) I don't understand what the arrows/dashed lines are trying to convey in Figure 3C.

      The arrows/dashed lines represent the criteria used to define a cycle as “decreasing in frequency” (Temperature Increasing) or “increasing in frequency” (Temperature Stable).  We have amended lines 130 and 137 in the text to hopefully clarify this point, as well as the figure legend.

      (3) Lines 118/168. The description of cesium's specific action on the depolarizing portion of PD activity is a bit confusing. In my mind, "depolarization phase" refers to the point at which PD is most depolarized. Perhaps restating the phrase to "elongation of the depolarizing trajectory" is less confusing. The authors may also want to consider labeling this trajectory in Figure 2C.

      We have changed “depolarization phase” to “depolarizing phase” to highlight that this is the period during which the cell is depolarizing, rather than at its most depolarized.  We consider the plateau of the slow wave and spiking (the point at which PD is most depolarized) to be the “bursting phase”.  We have labeled these phases in Figure 2C as suggested.

      (4) Figure 3C legend: a few words seem to be missing. I suggest "the change in mean frequency was more likely TO decrease IN Cs+ than in saline".

      Thank you for catching this typo, it has been corrected.

      (5) Line 165: Awkward phrasing. “In one experiment, the decrease in frequency while temperature increased and subsequent increase in frequency after temperature stabilized was particularly apparent in Cs+ PTX”.

      How about: “One Cs+ PTX experiment wherein elevating the temperature transiently decreased pyloric frequency is shown in Figure 4F.”

      We have amended this sentence to read, “One Cs++PTX experiment in which elevating the temperature produced a particularly pronounced transient decrease in frequency is shown in Figure 4F.”

      (6) Line 186: Awkward phrasing. "LP OFF was also significantly advanced in Cs+, although duty cycle (percent of the period a neuron is firing) was preserved".

      The use of the word "although" seems a bit strange. If both LP onset and LP offset phase advance by the same amount, then isn't an unchanged duty cycle expected?

      “Although” has been changed to “and subsequently”.

      Reviewer #3 (Recommendations For The Authors):

      Major comments:

      (1) I know the Marder lab has detailed models of the pyloric rhythm. I am not saying they have to add modeling to this already extensive and detailed paper, but it would be useful to know how much of these temperature effects have been modeled, for example in the following locations.

      (2) Line 259 - "Mathematically..." - Is there a computational model of H current that has shown this decrease in frequency in pyloric neurons? If you are working on one for the future, you could mention this.

      There is not currently a model in which the reduction of the H-current results in the non-minimum phase dynamics in the frequency response to temperature seen experimentally. It should be noted that our existing models of pyloric activity responses to temperature are not well suited to investigate such dynamics in their current iterations.  Further work is necessary to demonstrate the principles observed experimentally in computational modeling, and we have added a sentence to the paper to reflect this point (Line 268).

      (3) Line 318 - "therefore it remains unclear" - I thought they had models of the circuit rhythmicity. Do these models include temperature effects? Can they comment on whether their models of the circuit show an opposite effect to what they see in the experiment? I'm not saying they have to model these new effects as that is probably an entirely different paper, but it would be interesting to know whether current models show a different effect.

      We have some models of the pyloric response to temperature, but these models were specifically selected to maintain phase across the range of temperature.  When Ih was reduced in these models, a variety of effects on phase and duty cycle were seen.  These models were selected to have the same key features of behavior as the pyloric rhythm, but do not capture all the biophysical nuances of the complete system, and therefore should not necessarily be expected to reflect the experimental findings in their current iterations.  Furthermore, these models are meant to have temperature as a static, rather than dynamic input, and thus are ill-suited to examine the conditions of our experiments.  The models in their current state are not sufficiently relevant to these experimental findings that we they can illuminate the present paper `2.

      (4) "If deinactivation is more accelerated or altered by temperature than inactivation...While temperature continued to change, the difference in parameters would continue to grow" - This is described as a difference in temperature sensitivity, but it seems like it is also a function of the time course of the response to change in temperature (i.e. the different components could have the same final effect of temperature but show a different time course of the change).

      We know from Tang et al, 2010, that activation and inactivation rates of the A current are differentially temperature sensitive. We have no evidence to suggest that the time course of the response to temperature of various parameters differ.  The physical actions of temperature on proteins are likely to be extremely rapid, making a time course difference on the order of tens of seconds less unlikely, though not impossible. Modeling of the biophysics might illuminate the relative plausibility of these different mechanisms of action, but we feel that our current suggested explanation is reasonable based on existing information.

      (5) Is it known how temperature is altering these channel kinetics? Is it via an intrinsic rearrangement of the protein structure, or is it a process that involves phosphorylation (that could explain differences in time course?). Some mention of the mechanism of temperature changes would be useful to readers outside this field.

      It is not known exactly how temperature alters channel parameters.  Invariably some, if not all, of it is due to an intrinsic rearrangement of protein structure, and our current models treat all parameter changes as an instantaneous consequence.  However, it is possible that some effects of temperature are due to longer timescale processes such as phosphorylation or cAMP interactions.  Current work in the lab is actively exploring these questions, but there is no definitive answer. Given that this paper focuses on the phenomenon and plausible biomolecular explanations based on existing data, we have not altered the paper to include more exhaustive  coverage of all the possible avenues by which temperature may alter channel properties.

      Specific comments:

      Title: misspelling of "Cancer" ?

      We are unsure how that extra “w” got into the earliest version of the manuscript and have removed it.

      Line 66 "We used 5mM CsCl" - might mention right up front that this was a bath application of the substance.

      We have altered this line to read “used bath application of 5mM CsCl”.  

      Figure 4 - "The only feedback synapse to the pacemaker kernel neurons, LP to PD, and is blocked by picrotoxin" - I think the word "and" should be removed from this phrase in the figure legend.

      Fixed

      Figure 4 legend - "Reds denote temperature...yellows denote..." - I think it should be "Red dots denote temperature...yellow dots denote...".

      Done

      Figure 4B - Why does the change in frequency in cesium look so different in Figure 4B compared to Figure 1C or Figure 3B? In the earlier figures, the increase of frequency is smaller but still present in cesium, whereas, in Figure 4B, cesium seems to completely block the increase in frequency. I'm not sure why this is different, but I guess it's because 3B and 4B are just mean traces from single experiments. Presumably, 4B is showing an experiment in which the cesium was subsequently combined with picrotoxin?

      Figures 1C, 3B, and 4B are indeed all from different single experiments. As acknowledged in our concluding paragraph, there was substantial variability in the exact response of the pyloric rhythm to temperature while in cesium.  The most consistent effect was that the difference in frequency between cesium and saline at a particular temperature increased, as demonstrated across 21 preparations in Figure 1D. It may be noted in Figure 1E that the Q10 was not infrequently <1, meaning that there was a net decrease in frequency as temperature increased in some experiments such as seen in the example of Figure 4B.  The “fold over” (initial increase in steady-state frequency with temperature, then decrease at higher temperatures) has been observed at higher temperatures (typically around 23-30 degrees C) even under control conditions but has not been highlighted in previous publications.  The example in 4B was chosen because it demonstrated both the similarity in jags between Cs+ and Cs++PTX and an overall decrease in temperature sensitivity, even though in this instance the steady-state change in frequency with temperature was not monotonic. 

      Figure 6A - "Phase 0 to 1.0" - The y-axis should provide units of phase. Presumably, these are units of radians so 1.0=2*pi radians (or 360 degrees, but probably best to avoid using degrees of phase due to confusion with degrees of temperature).

      Phase, with respect to pyloric rhythm cycles, does not traditionally have units as it is a proportion rather than an angle. As such, we have not changed the figure.

      Line 275 - "the pacemaker neuron can increase" - Does this indicate that the main effects of H current are in the follower neurons (i.e. LP and PY versus the driver neuron PD)?

      Not necessarily.  We posit in the next paragraph that the effect of the H current on the temperature sensitivity could be due to its phase advance of LP, but that phase advance of LP is not particularly expected to increase frequency.  We favor the possibility that temperature increases Ih in the pacemaker, which in turn advances the PRC of the rhythm, allowing the frequency increase seen under normal conditions.  In Cs+, this advance does not occur, resulting in the lower temperature sensitivity.  In Cs++PTX, the lack of inhibition from LP means compensatory advance of the pacemaker PRC by Ih is unnecessary to allow increased frequency.

      Line 285 - "either increase frequency have no effect" - Is there a missing "or" in this phrase?

      Thank you, we have added the “or”.

    1. But in the age of globalization, many businesses subscribe to Apple CEOTim Cook’s famous dictum that inventory is “fundamentally evil.” Instead of paying towarehouse the parts that they need to manufacture a given product, these companies rely on“just-in-time” supply chains that function as the name suggests.

      Epiphany:

      This section here reminds me of the concept of the business cycle, and how central banks often sacrifice ecnomic growth with the aim of smoothing out the bumps of rapid expansion and recession. Businesses and countries could invest in inventory as a method to protect themselves in case of supply shocks, but that also limits the amount of profitability in times of greater security. There's ultimatley a tradeoff here, and I wonder if a balance should be struck. Smaller companies may not have the resources to dedicate to inventory, which relates to the inquiry question as it could be said that developing countries with smaller businesses have less capacity to build this buffer. It's either go all-out trade for growth, or less growth for more security.

    1. Author response:

      The following is the authors’ response to the original reviews.

      Public Reviews:

      Reviewer #1 (Public Review):

      Although this study provides a comprehensive outlook on the ETC function in various tissues, the main caveat is that it's too technical and descriptive. The authors didn't invest much effort in putting their findings in the context of the biological function of the tissue analyzed, i.e., some tissues might be more glycolytic than others and have low ETC activity.

      To better contextualize our results, we have added substantial amount of new information to the Discussion Section.

      Also, it is unclear what slight changes in the activity of one or the other ETC complex mean in terms of mitochondrial ATP production.

      Unfortunately, the method we used can only determine oxygen consumption rate through complex I (CI), CII, or CIV. It cannot tell us about ATP production. This method only measures maximal uncoupled respiration.

      Likely, these small changes reported do not affect the mitochondrial respiration.

      We are indeed looking at mitochondrial respiration. Some changes are more dramatic while others are much more modest. We are looking at the normal aging process across tissues (focusing on mitochondrial respiration) and not pathological states. As such, we expect many of the changes in mitochondrial respiration across tissues to be mild or relatively modest. After all, aging is slow and progressive. In fact, the variations we observed in mitochondrial respiration across tissues are consistent with the known heterogenous rate of aging across tissues.

      With such a detailed dataset, the study falls short of deriving more functionally relevant conclusions about the heterogeneity of mitochondrial function in various tissues. In the current format, the readers get lost in the large amount of data presented in a technical manner.

      We agree that the paper contains a large amount of information. In the revised manuscript, we did our best to contextualize our results by substantially expanding the Discussion Section.

      Also, it is highly recommended that all the raw data and the values be made available as an Excel sheet (or other user-friendly formats) as a resource to the community.

      We included all the data in two excel sheets (Figure 1 – data source 1; Figure 1 – data source 2). We presented them in such as way that it will be easy for other investigators to follow and re-use our dataset in their own studies for comparison.

      Major concerns

      (1) In this study, the authors used the method developed by Acin-Perez and colleagues (EMBO J, 2020) to analyze ETC complex activities in mitochondria derived from the snap-frozen tissue samples. However, the preservation of cellular/mitochondrial integrity in different types of tissues after being snap-frozen was not validated.

      All the samples are actually maximally preserved due to being snap frozen. Freezing the samples disrupts the mitochondria to produce membrane fragments. Subsequent thawing, mincing, and homogenization in a non-detergent based buffer (mannose-sucrose) ensures that all tissue samples are maximally disrupted into fragments which contain ETC units in various combinations. This allows the assay to give an accurate representation of maximal respiratory capacity given the ETC units present in a tissue sample.

      Since aging has been identified as the most important effector in this study, it is essential to validate how aging affects respiration in various fresh frozen tissues. Such analysis will ensure that the results presented are not due to the differential preservation of the mitochondrial respiration in the frozen tissue. In addition, such validations will further strengthen the conclusions and promote the broad usability of this "new" method.

      The reason we adopted this method is because it has been rigorously validated in the original publication (PMID: 32432379) and a subsequent methods paper (PMID: 33320426). The authors in the original paper benchmarked their frozen tissue method with freshly isolated mitochondria from the same set of tissues. Their work showed highly comparable mitochondrial respiration from frozen tissues and isolated mitochondria. For this reason, we did not repeat those validation studies.

      (2) In this study, the authors sampled the maximal activity of ETC complex I, II, and IV, but throughout the manuscript, they discussed the data in the context of mitochondrial function.

      We apologize that we did not make it clearer in our manuscript. We corrected this in our revised manuscript (the Discussion Section). Our method we measure respiration starting at Complex I (CI; via NADH), starting at CII (via succinate), or starting at CIV (using TMPD and ascorbate). Regardless of whether electrons (donated by the substrate) enter the respiratory chain through CI, CII or CIV, oxygen (as the final electron acceptor) is only consumed at CIV. Therefor, the method measures mitochondrial respiration and function through CI, CII, or CIV. This high-resolution respirometry analysis method is different from the classic enzymatic method of assessing CI, CII, or CIV activity individually; the enzymatic method does not actually measure oxygen consumption due to electrons flowing through the respiratory complexes.

      However, it is unclear how the changes in CI, CII, and CIV activity affect overall mitochondrial function (if at all) and how small changes seen in the maximal activity of one or more complexes affect the efficiency and efficacy of ATP production (OxPhos).

      Please see the preceding response to the previous question. The method is measuring mitochondrial respiration through CI, CII or CIV. The limitation of this method is that it is maximal uncoupled respiration; namely, mitochondrial respiration is not coupled to ATP synthesis since the measurements are not performed on intact mitochondria. As such, we cannot say anything about the efficiency and efficacy of ATP production. This will be an interesting future studies to further investigating tissue level variations of mitochondrial OXPHOS.

      The authors report huge variability between the activity of different complexes - in some tissues all three complexes (CI, CII, and CIV) and often in others, just one complex was affected. For example, as presented in Figure 4, there is no difference in CI activity in the hippocampus and cerebellum, but there is a slight change in CII and CIV activity. In contrast, in heart atria, there is a change in the activity of CI but not in CII and CIV. However, the authors still suggest that there is a significant difference in mitochondrial activity (e.g., "Old males showed a striking increase in mitochondrial activity via CI in the heart atria....reduced mitochondrial respiration in the brain cortex..." - Lines 5-7, Page 9). Until and unless a clear justification is provided, the authors should not make these broad claims on mitochondrial respiration based on small changes in the activity of one or more complexes (CI/CII/CIV). With such a data-heavy and descriptive study, it is confusing to track what is relevant and what is not for the functioning of mitochondria.

      We have attempted to address these issues in the revised Discussion section.

      (3) What do differences in the ETC complex CI, CII, and CIV activity in the same tissue mean? What role does the differential activity of these complexes (CI, CII, and CIV) play in mitochondrial function? What do changes in Oxphos mean for different tissues? Does that mean the tissue (cells involved) shift more towards glycolysis to derive their energy? In the best world, a few experiments related to the glycolytic state of the cells would have been ideal to solidify their finding further. The authors could have easily used ECAR measurements for some tissues to support their key conclusions.

      We have attempted to address these issues in the revised Discussion section. The frozen tissue method does not involve intact mitochondria. As such, the method cannot measure ECAR, which requires the presence of intact mitochondria.

      (4) The authors further analyzed parameters that significantly changed across their study (Figure 7, 98 data points analyzed). The main caveat of such analysis is that some tissue types would be represented three or even more times (due to changes in the activity of all three complexes - CI, CII, and CIV, and across different ages and sexes), and some just once. Such a method of analysis will skew the interpretation towards a few over-represented organ/tissue systems. Perhaps the authors should separately analyze tissue where all three complexes are affected from those with just one affected complex.

      Figure 7 summarizes the differences between male vs female, and between young vs old. All the tissue-by-tissue comparisons (data separated by CI-linked respiration, CII-linked respiration, and CIV-linked respiration) can be found in earlier figures (Figure 1-6).

      The focus of Figure 7 is to helps us better appreciate all the changes seen in the preceding Figure 1-6:

      Panel A and B indicate all changes that are considered significant

      Panel C indicates total tissues with at least one significantly affected respiration

      Panel D indicates total magnitude of change (i.e., which tissue has the highest OCR) offering a non-relative view

      Panel E indicates whole body separations

      Panel F indicates whole body separations and age vs sex clustering

      (5) The current protocol does not provide cell-type-specific resolution and will be unable to identify the cellular source of mitochondrial respiration. This becomes important, especially for those organ systems with tremendous cellular heterogeneity, such as the brain. The authors should discuss whether the observed changes result from an altered mitochondria respiratory capacity or if changes in proportions of cell types in the different conditions studied (young vs. aged) might also contribute to differential mitochondrial respiration.

      We agree with the reviewer that this is a limitation of the method. We have addressed this issue in the revised Discussion section.

      (6) Another critical concern of this study is that the same datasets were repeatedly analyzed and reanalyzed throughout the study with almost the same conclusion - namely, aging affects mitochondrial function, and sex-specific differences are limited to very few organs. Although this study has considerable potential, the authors missed the chance to add new insights into the distinct characteristics of mitochondrial activity in various tissue and organ systems. The author should invest significant efforts in putting their data in the context of mitochondrial function.

      We have attempted to address these issues in the revised Discussion section.

      Reviewer #2 (Public Review):

      Summary:

      The authors utilize a new technique to measure mitochondrial respiration from frozen tissue extracts, which goes around the historical problem of purifying mitochondria prior to analysis, a process that requires a fair amount of time and cannot be easily scaled up.

      Strengths:

      A comprehensive analysis of mitochondrial respiration across tissues, sexes, and two different ages provides foundational knowledge needed in the field.

      Weaknesses:

      While many of the findings are mostly descriptive, this paper provides a large amount of data for the community and can be used as a reference for further studies. As the authors suggest, this is a new atlas of mitochondrial function in mouse. The inclusion of a middle aged time point and a slightly older young point (3-6 months) would be beneficial to the study.

      We agreed with the reviewer that inclusion of additional time points (e.g., 3-6 months) would further strengthen the study. However, the cost, labor, and time associated with another set of samples (660 tissue samples from male and female mice and 1980 respirometry assays) are too high for our lab with limited budget and manpower. Regrettably, we will not be able to carry out the extra work as requested by the reviewer.  

      Reviewer #3 (Public Review):

      The aim of the study was to map, a) whether different tissues exhibit different metabolic profiles (this is known already), what differences are found between female and male mice and how the profiles changes with age. In particular, the study recorded the activity of respirasomes, i.e. the concerted activity of mitochondrial respiratory complex chains consisting of CI+CIII2+CIV, CII+CIII2+CIV or CIV alone.

      The strength is certainly the atlas of oxidative metabolism in the whole mouse body, the inclusion of the two different sexes and the comparison between young and old mice. The measurement was performed on frozen tissue, which is possible as already shown (Acin-Perez et al, EMBO J, 2020).

      Weakness:

      The assay reveals the maximum capacity of enzyme activity, which is an artificial situation and may differ from in vivo respiration, as the authors themselves discuss. The material used was a very crude preparation of cells containing mitochondria and other cytosolic compounds and organelles. Thus, the conditions are not well defined and the respiratory chain activity was certainly uncoupled from ATP synthesis. Preparation of more pure mitochondria and testing for coupling would allow evaluation of additional parameters: P/O ratios, feedback mechanism, basal respiration, and ATP-coupled respiration, which reflect in vivo conditions much better. The discussion is rather descriptive and cautious and could lead to some speculations about what could cause the differences in respiration and also what consequences these could have, or what certain changes imply.

      Nevertheless, this study is an important step towards this kind of analysis.

      We have attempted to address some of these issues in the revised Discussion Section. The frozen tissue method can only measure maximal uncoupled respiration. Because we are not measuring mitochondrial respiration using intact mitochondria, several of the functional parameters the reviewer alluded to (e.g., P/O ratios, feedback mechanism, basal respiration, and ATP-coupled respiration) simply cannot be obtained with the current set of samples. Nevertheless, we agree that all the additional data (if obtained) would be very informative.

      Reviewer #1 (Recommendations For The Authors):

      (1) For most of the comparative analysis, the authors normalized OCR/min to MitoTracker Deep RedFM (MTDR) fluorescence intensity. Why was the data normalized to the total protein content not used for comparative analysis? Is there a correlation between MTDR fluorescence and the protein content across different tissues?

      Given that we used the crude extract method, total protein content does not equal total mitochondrial protein content. This is why the MTDR method was used, as this represents a high throughput method of assessing mitochondrial mass in this volume of samples. In general, the total protein concentration is used to ensure the respiration intensity was approximately the same across all samples loaded into the Seahorse machine.

      (2) To test the mitochondrial isolation yield, the authors should run immunoblot against canonical mitochondrial proteins in both homogenates and mitochondrial-containing supernatants and show that the protocol followed effectively enriched mitochondria in the supernatant fraction. This would also strengthen the notion that the "µg protein" value used to normalize the total mitochondrial content comes from isolated mitochondria and not other extra-mitochondrial proteins.

      Because we are using crude tissue lysate (from frozen tissue), the total ug protein content does not come from isolated mitochondria; for this reason, it was not used and this is why MTDR was. Total mitochondrial protein content is subject to change depending on tissue for non-mitochondrial reasons. This method does not use isolated mitochondria; we only use tissue lysates enriched for mitochondrial proteins. This method has been rigorously validated in the original study (PMID: 32432379) and a subsequent methods paper (PMID: 33320426). In those studies, the authors had performed requisite quality checks the reviewer has asked for (e.g., immunoblot against canonical mitochondrial proteins in both homogenates and mitochondrial-containing supernatants to show effective enrichment of mitochondrial proteins). For this reason, we did not repeat this.

      (3) MitoTracker loads into mitochondria in a membrane potential-dependent manner. The authors should rule out the possibility that samples from different ages and sexes might have different mitochondrial membrane potentials and exhibit a differential MitoTracker loading capacity. This becomes relevant for data normalization based on MTDR (MTDR/µg protein) since it was assumed that loading capacity is the same for mitochondria across different tissue and age groups.

      MitoTracker Deep Red is not membrane potential dependent and can be effectively used to quantify mitochondrial mass even when mitochondrial membrane potential is lost. This is highlighted in the original study (PMID: 32432379).

      (4) Page 11, line 3 typo - across, not cross.

      Response: We have fixed the typo.

      Reviewer #2 (Recommendations For The Authors):

      If possible, I would include a middle aged time point between 12 and 14 months of age.

      We agreed with reviewer that inclusion of additional time points (e.g., 3-6 months) would further strengthen the study. However, the cost, labor, and time associated with another set of samples (660 tissue samples from male and female mice and 1980 respirometry assays) are too high for our lab with limited budget and manpower. Regrettably, we will not be able to carry out the extra work as requested by the reviewer. 

      Reviewer #3 (Recommendations For The Authors):

      Overall, the work is well done and the data are well processed making them easy to understand. Some minor adjustments would improve the manuscript further:

      - Significance OCR in Figure 2, maybe add error bars?

      We have added the error bars and statistical significance to revised Figure 2.

      - Tissue comparison A-C, right panel: graphs are cropped

      We are not sure what the reviewer meant here. We have double checked all our revised figures to make sure nothing is accidentally cropped.

      - Heart ventricle: Old males and females have higher CI- and CII-dependent respiration than young males and females? Only CIV respiration is lower?

      Comparing old to young male or female heart ventricle respiration via CI or CII shows an increase in maximal capacity with age. CIV-linked respiration is in the upward direction as well, although not significant, when comparing old to young. When comparing the respiration values among themselves within a mouse, i.e. old male CI- or CII-linked respiration compared to old male CIV- linked respiration, we can see that the old male CIV-linked respiration is very similar. When comparing the same in the old female mouse, there appears to be something special about electrons entering through CI as compared to CII or CIV, as CI-linked respiration appears to be elevated compared to both CII and CIV. Although we do not know if this is significantly different, the trend in the data is clear. We do not know the exact reason as to why this occurred in the heart ventricles. To differing degrees, the connected nature of CI-, CII-, and CIV-linked respirations seems to be in a generally similar style in most skeletal muscles as well, and the old male heart atria. Again, the root of this discrepancy is unknown and potentially indicates an interesting physiologic trait of certain types of muscle and merits further exploration.

      - What is plotted in Fig.3: The mean of all OCR of all tissues? A,B,C: Plot with break in x-axis to expand the violin, add mean/median values as numbers to the graph (same for Fig4)

      The left most side of Figure 3 A, B, and C shows the average OCR/MTDR value across all tissues in a group. Each tissue assayed is represented in the violin plot as an open circle.

      - Fig. 3D: add YM/YF to graph for better understanding, same in following figures

      This is in the scale bar next to all heat maps presented in the figures. We also added to the revised figure as well to improve clarity.

      - Additional figures: x-axis title (time) is missing in OCR graphs

      Time has been added to the x axis of all additional figures for clarity.

      - Also a more general question is: where the concentrations of substrates and inhibitors optimized before starting the series of experiments?

      All the details of assay optimization was carried out in the original study (PMID: 32432379) and the subsequent methods paper (PMID: 33320426). Because we had to survey 33 different tissues, we tested and optimized the “optimal” protein concentrations we need to use; the primary goal of this was to balance enough respiration signal without too much respiration signal across all tissue types as to keep all the diverse tissues analyzed under the Seahorse machine’s capabilities of detection. Through our optimization of mostly the very high respiring tissues like heart and kidney, we were also able to prove that all substrates and inhibitors were in saturating concentrations since we could get respiration to go higher if more sample was added and that all signal could be lost in these samples with the same amount of inhibitors.

    1. Ironically, Sinclair’s description of the dangerously unsanitary and inhumane practices of the stockyards and packing plants was even more upsetting to American readers than his exposé of the working conditions

      While I know it's not that safe to generalize, I often find that some of the richest people lack the most empathy and when surveying a problem, only think about the parts that affect themselves or just choose not to care because its easier that way.

    1. It's always that way with old Porteous. All his talk is about things that happened centuries ago. Whatever you start off with it always comes back to statues and poetry and the Greeks and Romans. If you mention the Queen Mary he'd start telling you about Phoenician triremes. He never reads a modern book, refuses to know their names, never looks at any newspaper except The Times, and takes a pride in telling you that he's never been to the pictures. Except for a few poets like Keats and Wordsworth he thinks the modern world—and from his point of view the modern world is the last two thousand years—just oughtn't to have happened.

      men look back at the legacy and they nurture tradition and the memory

    2. ' It's not that Hilda's mean, in the ordinary sense of the word, and still less that she's selfish. Even when there happens to be a bit of spare cash knocking about I can hardly persuade her to buy herself any decent clothes. But she's got this feeling that you ought to be perpetually working yourself up into a stew about lack of money. Just working up an atmosphere of misery from a sense of duty. I'm not like that. I've got more the prole's attitude towards money. Life's here to be lived, and if we're going to be in the soup next week—well, next week is a long way off. What really shocks her is the fact that I refuse to worry. She's always going for me about it. 'But, George! You don't seem to realize! We've simply got no money at all! It's very serious!' She loves getting into a panic because something or other is 'serious'.

      peope with different mental wiring experience the world differently. There are various traumas that affect it and overplaying or downplaying risks and opportunities. For example, some people deliberately go into "uncomfortable state" in order to wake themselves up and perform their way out of it.

    1. Author response:

      The following is the authors’ response to the original reviews.

      Public Reviews:

      Reviewer #1 (Public Review):

      Summary:

      The manuscript by Kim et al. describes a role for axonal transport of Wnd (a dual leucine zipper kinase) for its normal degradation by the Hiw ubiquitin ligase pathway. In Hiw mutants, the Wnd protein accumulates dramatically in nerve terminals compared to the cell body of neurons. In the absence of axonal transport, Wnd levels rise and lead to excessive JNK signaling that makes neurons unhappy.

      Strengths:

      Using GFP-tagged Wnd transgenes and structure-function approaches, the authors show that palmitoylation of the protein at C130 plays a role in this process by promoting golgi trafficking and axonal localization of the protein. In the absence of this transport, Wnd is not degraded by Hiw. The authors also identify a role for Rab11 in the transport of Wnd, and provide some evidence that Rab11 loss-of-function neuronal degenerative phenotypes are due to excessive Wnd signaling. Overall, the paper provides convincing evidence for a preferential site of action for Wnd degradation by the Hiw pathway within axonal and/or synaptic compartments of the neuron. In the absence of Wnd transport and degradation, the JNK pathway becomes hyperactivated. As such, the manuscript provides important new insights into compartmental roles for Hiw-mediated Wnd degradation and JNK signaling control.

      Weaknesses:

      It is unclear if the requirement for Wnd degradation at axonal terminals is due to restricted localization of HIW there, but it seems other data in the field argues against that model. The mechanistic link between Hiw degradation and compartmentalization is unknown. 

      We thank the Reviewer for valuable comments. In our revised manuscript, we have addressed reviewer ‘s comments and clarified confusions. We did not intent to imply that Rab11 directly mediates anterograde Wnd protein transport towards axon terminals. We re-worded related text throughout our manuscript to avoid confusion. Additionally, to strengthen the link between Rab11 and Wnd, we have added additional data that heterozygous mutation of wnd could rescue the eye degeneration phenotypes caused by Rab11 loss-of-function (new Figure 7C).

      It is unclear if the requirement for Wnd degradation at axonal terminals is due to restricted localization of HIW there, but it seems other data in the field argues against that model. The mechanistic link between Hiw degradation and compartmentalization is unknown.

      We believe that the mechanistic understanding on how Wnd protein turnover is restricted to axon/axon terminals is beyond the scope of current manuscript. We are actively investigating this interesting research question – please see our point-by-point response for details.

      Reviewer #2 (Public Review):

      Summary:

      Utilizing transgene expression of Wnd in sensory neurons in Drosophila, the authors found that Wnd is enriched in axonal terminals. This enrichment could be blocked by preventing palmitoylation or inhibiting Rab1 or Rab11 activity. Indeed, subsequent experiments showed that inhibiting Wnd can prevent toxicity by Rab11 loss of function.

      Strengths:

      This paper evaluates in detail Wnd location in sensory neurons, and identifies a novel genetic interaction between Rab11 and Wnd that affects Wnd cellular distribution.

      Weaknesses:

      The authors report low endogenous expression of wnd, and expressing mutant hiw or overexpressing wnd is necessary to see axonal terminal enrichment. It is unclear if this overexpression model (which is known to promote synaptic overgrowth) would be relevant to normal physiology.

      We agree that most of our subcellular localization studies were conducted using transgenes, which may not accurately reflect endogenous protein localization. Albeit with this technical limitation, our work addresses an important mechanistic link between DLK’s axonal localization and protein turnover, in neuronal stress signaling and neurodegeneration. 

      Additionally, most of our experiments were done using a kinase-dead form of Wnd or with DLKi treatment (DLK kinase inhibitor). Neurons do not display synaptic overgrowth phenotypes under these experimental conditions. Thus, the changes in Wnd axonal localization are likely independent of synaptic overgrowth phenotypes.

      Palmitoylation of the Wnd orthologue DLK in sensory neurons has previously been identified as important for DLK trafficking in a cell culture model.

      Palmitoylation of DLK has been studied in previous works including Holland et al. 2015. These are important works. However, there are significant differences from our findings. First, inhibiting DLK palmitoylation caused cytoplasmic localization of DLK. It has been reported that expression levels of wild-type and the palmitoylation-defective DLK (DLK-CS) in axons are not different in cultured sensory neurons (Holland 2015, Figure 2A and 2B). This could be simply because DLK-CS is entirely cytoplasmic and can readily diffuse into axons – which led to the conclusion that DLK palmitoylation is essential for DLK localization on motile axonal puncta. Second, because of this cytoplasmic localization, DLK-CS failed to induce downstream signaling (Holland 2015).

      However, the behavior of Wnd-CS from our study is entirely different. Wnd-CS does not show diffuse cytoplasmic localization, rather shows discrete localizations in neuronal cell bodies (Figure 2E, Figure 2-supplement 1). Furthermore, Wnd-CS is able to induce downstream signaling (Figure 4 – supplement 1 and 2). Thus, our manuscript is not an extension of previously published work. Rather, our manuscript took advantage of this unique behavior of Wnd-CS and elucidated biological function of the axonal localization of Wnd.

      The authors find genetic interaction between Wnd and Rab11, but these studies are incomplete and they do not support the authors' mechanistic interpretation.

      Our model describes that Wnd is constantly transported to axon terminals for protein degradation (protein turnover), and that this process is essential to keep Wnd activity at low levels to prevent unwanted neuronal stress signal. Based on this model, a failure in Wnd transport to axon terminals – as seen in Wnd-C130S or by Rab11 loss-of-function – would compromises protein degradation of Wnd, hence, results in excessive abundance of Wnd proteins. This was clearly demonstrated for Wnd-C130S (Figure 3) and for Rab11 mutants (Figure 6E), which support our model.

      To strengthen the link between Rab11 and Wnd, we have added additional data in our revised manuscript, which showed that heterozygous mutation of wnd significantly rescued the eye degeneration phenotypes caused by Rab11 loss-of-function (new Figure 7C).

      We did not intent to imply that Rab11 directly mediates anterograde Wnd protein transport towards axon terminals. We re-worded related text throughout our manuscript to avoid confusion.

      Recommendations for the authors:

      Reviewer #1 (Recommendations For The Authors):

      (1) It would be interesting to overexpress Hiw in C4da neurons to see if this can degrade the C130S Wnd protein and reduce ERK signaling, or overexpress Hiw in the Rab11 mutant background to see if this can reduce the accumulation of Wnd or total Wnd levels. This could address the question of whether the reduction in Wnd turnover is due to Hiw's inaccessibility to Wnd.

      Thank you for your comment. We believe this question warrants an independent line of study. Although this is beyond the scope of current work, we would like to share our findings here. We have found that overexpressing Hiw did not suppress the transgenic expression of Wnd-KD in C4da neurons regardless of cellular locations. However interestingly, the same Hiw overexpression suppressed increased Wnd-KD expression by hiw mutations in C4da neuron axon terminals. Thus, it seems that endogenous levels of Hiw in wild-type was sufficient to suppress transgenic expression of Wnd-KD, and that excessive Hiw expression does not further enhance this effect. Currently, we do not know the mechanisms underlying these observations. One possibility is that Hiw functions exclusively in the context of E3 ubiquitin ligase complex. Wu et al. (2007) found that DFsn is synaptically enriched and acts as an F-box protein of Hiw E3 ligase complex. It is possible that DFsn or some other components of Hiw E3 ligase complex determine the subcellular specificity of Hiw function. We are actively pursuing this research question currently.

      (2) The authors claim that Rab11 transports Wnd to the axon terminals. However, they do not see reliable colocalization of Rab11 and Wnd at axon terminals. Can the authors see Rab11-enriched vesicles with Wnd in nerve bundles, or is the role only to sort Wnd onto a post-recycling endosome compartment that moves to axonal terminals without Rab11?

      We apologize for the confusion. We did not intend to claim that Rab11 directly transports Wnd along axons. We suggested that Rab11 is necessary for axonal localization of Wnd by acting at the somatic recycling endosomes since Rab11 and Wnd extensively colocalize in the cell body but not in the axon terminals (Figure 6 and Figure 6 supplement 1). In our new “Figure 6 supplement 1”, we have now added Rab11 and Wnd colocalization in axons (segmental nerves). We also revised the text (line 294-298) “On the other hand, we did not detect any meaningful colocalization between YFP::Rab11 and Wnd-KD::mRFP in C4da axon terminals or in axons (Manders’ coefficient 0.34 ± 0.14 and 0.41 ± 0.10 respectively) (Figure 6 – supplement 1). These suggest that Rab11 is involved in Wnd protein sorting at the somatic REs rather than transporting Wnd directly.” And in Discussion (line 396-398) “These further suggest that Rab11 is not directly involved in the anterograde long-distance transport of Wnd proteins, rather is responsible for sorting Wnd into the axonal anterograde transporting vesicles.”.

      (3) The authors mis-cite the Tortosa et al 2022 study which shows the exact opposite of what the authors state. Tortosa et al show DLK recruitment to vesicles through phosphorylation and palmitoylation is essential for its signaling, not the opposite, so the authors should reword that or remove the citation.

      We believe the citation is correct. Tortosa et al (2022) “Stress‐induced vesicular assemblies of dual leucine zipper kinase are signaling hubs involved in kinase activation and neurodegeneration” describes that membrane association of DLK rather than palmitoylation itself is sufficient for DLK signaling activation. This is achieved by DLK palmitoylation for mammalian DLK. However, when artificially targeted to cellular membranes, palmitoylation defective DLK (mammalian DLK-CS in their study) was able to induce DLK signaling. Specifically, in their Figure 2 (K-N), when targeted to the intracellular membranes of ER and mitochondria, DLK-CS (palmitoylation defective DLK) elicited DLK signaling as shown by c-Jun phosphorylation.

      Reviewer #2 (Recommendations For The Authors):

      Major Concerns:

      (1) A concern is the overinterpretation of results. The authors find the accumulation of Wnd in axon terminals when they express hiw null or when they overexpress Wnd, but extrapolate that this occurs in "normal conditions" without evidence. Could the increase of Wnd in the axonal terminal be in the setting of known synaptic overgrowth associated with transgene expression?

      Most of our work was conducted using a kinase-dead version of Wnd (Wnd-KD) in a wild-type background (Figure 1C and Figure 1 supplement 1). Moreover, Wnd kinase activity does not affect Wnd axonal localization in our experimental settings (Figure 1 supplement 1).

      When using hiw mutant background, the larvae were treated with Wnd kinase inhibitor thus, prevented excessive axonal growth (Figure 1E, bottom right image – note that there is no axonal overgrowth in this condition). Additionally, Wnd-C130S is expressed lower levels in axon terminals than Wnd (Figure 3B) while exhibiting similar axon overgrowth (Figure 4 supplement 1B). Taken together, axonal overgrowth is unlikely affect axonal protein localization of Wnd.

      (2) The interpretation of these results is based on a supposition that Rab11 anterogradely transports Wnd along axons without evidence for this. Indeed, it has been shown that Rab11 is excluded from axons in mature neurons, but can be mislocalized when overexpressed. This should be addressed in their discussion.

      We apologize for the confusion. We did not intend to suggest that Rab11 directly transports Wnd along axons. We suggested that Rab11 is necessary for axonal localization of Wnd by acting at the somatic recycling endosomes since Rab11 and Wnd extensively colocalize in the cell body but not in the axon terminals (Figure 6 and Figure 6 supplement 1). In our new “Figure 6 supplement 1”, we have now added Rab11 and Wnd colocalization in axons (segmental nerves). We also revised the text (line 296-298) “On the other hand, we did not detect any meaningful colocalization between YFP::Rab11 and Wnd-KD::mRFP in C4da axon terminals or in axons (Manders’ coefficient 0.34 ± 0.14 and 0.41 ± 0.10 respectively) (Figure 6 – supplement 1). These suggest that Rab11 is involved in Wnd protein sorting at the somatic REs rather than transporting Wnd directly.” And in Discussion (line 396-398) “These further suggest that Rab11 is not directly involved in the anterograde long-distance transport of Wnd proteins, rather is responsible for sorting Wnd into the axonal anterograde transporting vesicles.”.

      (3) In Figure 1, the authors should also show images of Wnd-GFSTF in wild-type (non-hiw mutations) to show endogenous Wnd levels in the axon terminal.

      We have now added the figures of Wnd-GFSTF in wild-type (new Figure 1A). To show the comparable fluorescent intensities, we also re-performed hiw mutant experiment and replaced the old images.

      (4) For Figure 1- Supplement, the authors state that the kinase-dead version of Wnd exhibited similar axonal enrichment in comparison to Wnd::GFP in the presence and absence of DLKi. This statement would be better supported with images specifically showing this (for example Wnd-KD::GFP compared to Wnd:GFP with DLKi and Wnd:GFP without DLKi).

      We did not show the images from Wnd::GFP (DLKi) in this supplement figure because it would be redundant with Figure 1C. Rather, we presented the axonal enrichment index for Wnd::GFP (DLKi), Wnd-KD::GFP, Wnd-KD::GFP (DLKi), and Wnd-KD::GFP (DMSO) in Figure 1 supplement 1B.

      Overexpressing catalytically active Wnd dramatically lowers ppk-GAL4 activity in C4da neurons thus prevents us from performing an experiment for Wnd::GFP without DLKi. In this condition, Wnd::GFP expression is barely detectable in C4da neurons.

      (5) In Figure 2 - Supplement 3 the authors state that their data suggests that Wnd protein palmitoylation is catalyzed by HIP14 due to colocalization in the somatic Golgi and mutating HIP14 leads to less Wnd in the axon terminal. This statement would be better supported by evaluating Wnd's palmitoylation via immunoprecipitation in response to dHIP14 enzyme activity.

      We appreciate reviewer’s comment. Although the exact identity of Wnd palmitoyltransferase might be of high interest, our study rather concerns about the biological role of Wnd axonal localization. Moreover, the identity of DLK palmitoyltransferase has been identified in mammalian cell culture and worm studies (Niu et al. 2020 “Coupled Control of Distal Axon Integrity and Somal Responses to Axonal Damage by the Palmitoyl Acyltransferase ZDHHC17”). ZDHHC17 is another name for HIP14. Our data together with these published works strongly suggest that Wnd, the Drosophila DLK might also be targeted by Drosophila HIP14 or dHIP14.

      (6) The authors argue that palmitoylation of Wnd is essential for axonal localization of Wnd. If dHIP14 indeed palmitoylates Wnd as the authors claim, shouldn't there be a decrease in Wnd's palmitoylation within dHIP14 mutants, consequently resulting in its accumulation in the cell body rather than localization in the axonal terminal? However, Wnd is reduced at the axon terminal in dHip14 mutants, but it does not appear to increase in the cell body (Figure 2S3.C). This observation contradicts the results showing increased Wnd in the cell body presented in Figure 2. B and E. This discrepancy should be addressed.

      Thank you for your comment. Our study concerns about the biological role of Wnd axonal localization. Although in an ideal model, dHIP14 mutations should prevent Wnd palmitoylation and causes subsequent cell body accumulation. However, it is highly likely that dHIP14 mutations affect a large number of protein palmitoylations – not just Wnd, which likely changes many aspect of cell functions. We envision that Wnd protein expression might be indirectly affected by these changes. In this context, mutating C130 in Wnd can be considered as more targeted approach – and our data clearly shows that such Wnd mutations render Wnd accumulation in cell bodies.

      (7) Figure 3 - the authors show increased Wnd protein by Western blot in WndC130S:GFP compared to Wnd::GFP. qPCR experiments to show similar mRNA expression of these two transgenes would be an important control, if it's thought that the increase of protein is due to reduction of protein degradation.

      Thank you for your comment. Expressing WndC130S::GFP vs Wnd::GFP was done by GAL4-UAS system – not through endogenous wnd promoter. Thus, we do not expect different mRNA abundance of WndC130S::GFP and Wnd::GFP. However, your concern is valid for Rab11 mutants. We measured wnd mRNA abundance by RT-qPCR and found that Rab11 mutations did not increase wnd mRNA levels (Figure 6 - Supplement 2). Rather, we observed consistent reduction in wnd mRNA levels by Rab11 mutant. Please note that total Wnd protein levels were significantly increased by Rab11 mutations. We currently do not have a clear explanation. We envision that the dramatic increase in Wnd signaling (ie, JNK signal, Figure 7A) induces a negative-feedback to reduce wnd mRNA levels (line 313-317).

      (8) Figure 4 Supplement - the authors report that Wnd::GFP causes robust induction of Puc-LacZ. A control without Wnd::GFP expression would be necessary to support that there was an induction.

      We have added control data of UAS-Wnd-KD::GFP (new Figure 4 supplement 1A). Since this required a new side-by-side comparison of fluorescent intensities, we re-performed the full set of experiments and replaced our old data sets.  The results confirmed that both Wnd::GFP and Wnd-C130S::GFP induces puc-lacZ expression. 

      (9) Previously it was shown that inhibiting palmitoylation of DLK prevented activation of JNK signaling (Holland et al 2015), but the authors show in Figure 4A instead an increase of JNK signaling. This discrepancy should be addressed.

      The use of Wnd palmitoylation-defective mutant in our study was only possible because of different behavior of Wnd-C130S from those of palmitoylation-defective DLK. Unlike diffuse cytoplasmic localization of the palmitoylation-defective DLK in mammalian cells or in C elegans neurons, Wnd-C130S exhibited clear puncta localization in neuronal cell bodies – which extensively co-localizes with somatic Golgi complex (Figure 2E and Figure 2 supplement 1). Tortosa et al (2022) showed that palmitoylation-defective DLK (DLK-CS) can trigger DLK signaling when artificially targeted to intracellular membranous organelles (Tortosa 2022, Figure 2 (K-N)). Thus, we reasoned that unlike the palmitoylation-defective DLK from mammalian and worms, Drosophila DLK, Wnd might be catalytically active when mutated on Cysteine 130 because of its puncta localization.

      (10) Figure 6 Supplement - the Rab11 staining is not in a pattern that would be expected with endosomes. A control of just YFP would be useful to determine if this fluorescence signal is specific to Rab11. Can endogenous Rab11 be detected in axons or in the axonal terminal?

      In our model system, endogenously tagged Rab11 (TI-Rab11) does not show clear puncta patterns in segmental nerves (axons) and neuropils (axon terminals), neither colocalize with Wnd-KD. This is indeed related to the reviewer’s comment #2, which suggests that Rab11 does not form endosomes in distal axons or axon terminals in mature neurons. Expressing Rab11 transgenes exhibited some puncta structures in axons (segmental nerves) (new Figure 6 supplement 1). However, they did not show meaningful colocalize with Wnd-KD. These are consistent with our model that Rab11 acts in neuronal cell bodies for Wnd axonal transport – likely via a sorting process.

      (11) There is growing evidence that palmitoylation is important for cargo sorting in the Golgi, and Rab11 is also located at the Golgi and important for trafficking from the Golgi. A mechanism that could be considered from your data is that blocking palmitoylation impairs sorting at the Golgi and trafficking from the Golgi, as opposed to impairing fast axonal transport. Indeed, Rab11 has been shown to be blocked from axons in mature neurons, making Rab11 unlikely to be responsible for the fast axonal transport of Wnd. Direct evidence of Rab11 transporting Wnd in axons would be necessary for the claim that Rab11 constantly transports DLK to terminals.

      We apologize for the confusion. We did not intend to suggest that Rab11 directly transports Wnd along the axons. We suggested that Rab11 is necessary for axonal localization of Wnd by acting at the somatic recycling endosomes since Rab11 and Wnd extensively colocalize in the cell body but not in the axon terminals (Figure 6 and Figure 6 supplement 1). In our new “Figure 6 supplement 1”, we have now added Rab11 and Wnd colocalization in axons (segmental nerves). We also revised the text (line 296-298) “On the other hand, we did not detect any meaningful colocalization between YFP::Rab11 and Wnd-KD::mRFP in C4da axon terminals or in axons (Manders’ coefficient 0.34 ± 0.14 and 0.41 ± 0.10 respectively) (Figure 6 – supplement 1). These suggest that Rab11 is involved in Wnd protein sorting at the somatic REs rather than transporting Wnd directly.” And in Discussion (line 394-398) “These further suggest that Rab11 is not directly involved in the anterograde long-distance transport of Wnd proteins, rather is responsible for sorting Wnd into the axonal anterograde transporting vesicles.”.

    1. Some keep the Sabbath in Surplice – I, just wear my Wings – And instead of tolling the Bell, for Church, Our little Sexton – sings.

      Here, I believe Dickinson is trying to emphasize that faith and relationship with God isn't just found in the church. It's a personal thing and you don't need to go to the physical church building to receive salvation and Christ's love.

    1. Author response:

      The following is the authors’ response to the original reviews.

      We thank the reviewers for their constructive reviews.  Taken together, the comments and suggestions from reviewers made it clear that we needed to focus on improving the clarity of the methods and results.  We have revised the manuscript with that in mind.  In particular, we have restructured the results to make the logic of the manuscript clearer and we have added details to the methods section.

      Public Reviews: 

      Reviewer #1 (Public Review): 

      Summary: 

      The work of Muller and colleagues concerns the question of where we place our feet when passing uneven terrain, in particular how we trade-off path length against the steepness of each single step. The authors find that paths are chosen that are consistently less steep and deviate from the straight line more than an average random path, suggesting that participants indeed trade-off steepness for path length. They show that this might be related to biomechanical properties, specifically the leg length of the walkers. In addition, they show using a neural network model that participants could choose the footholds based on their sensory (visual) information about depth. 

      Strengths: 

      The work is a natural continuation of some of the researchers' earlier work that related the immediately following steps to gaze [17]. Methodologically, the work is very impressive and presents a further step forward towards understanding real-world locomotion and its interaction with sampling visual information. While some of the results may seem somewhat trivial in hindsight (as always in this kind of study), I still think this is a very important approach to understanding locomotion in the wild better. 

      Weaknesses: 

      The manuscript as it stands has several issues with the reporting of the results and the statistics. In particular, it is hard to assess the inter-individual variability, as some of the data are aggregated across individuals, while in other cases only central tendencies (means or medians) are reported without providing measures of variability; this is critical, in particular as N=9 is a rather small sample size. It would also be helpful to see the actual data for some of the information merely described in the text (e.g., the dependence of \Delta H on path length). When reporting statistical analyses, test statistics and degrees of freedom should be given (or other variants that unambiguously describe the analysis).

      There is only one figure (Figure 6) that shows data pooled over subjects and this is simply to illustrate how the random paths were calculated. The actual paths generated used individual subject data. We don’t draw our conclusions from these histograms – they are instead used to generate bounds for the simulated paths.  We have made clear both in the text and in the figure legends when we have plotted an example subject. Other plots show the individual subject data. We have given the range of subject medians as well as the standard deviation for data illustrated in Figure (random vs chosen), we have also given the details of the statistical test comparing the flatness of the chosen paths versus the randomly generated paths.  We have added two supplemental figures to show individual walker data more directly: (Fig. 14) the per subject histograms of step parameters, (Fig. 18) the individual subject distributions for straight path slopes and tortuosity.

      The CNN analysis chosen to link the step data to visual sampling (gaze and depth features) should be motivated more clearly, and it should describe how training and test sets were generated and separated for this analysis.

      We have motivated the CNN analysis and moved it earlier in the manuscript to help clarify the logic the manuscript. Details of the training and test are now provided, and the data have been replotted. The values are a little different from the original plot after making a correction in the code, but the conclusions drawn from this analysis are unchanged. This analysis simply shows that there is information in the depth images from the subject’s perspective that a network can use to learn likely footholds. This motivates the subsequent analysis of path flatness.

      There are also some parts of figures, where it is unclear what is shown or where units are missing. The details are listed in the private review section, as I believe that all of these issues can be fixed in principle without additional experiments. 

      Several of the Figures have been replotted to fix these issues.

      Reviewer #2 (Public Review): 

      Summary: 

      This manuscript examines how humans walk over uneven terrain using vision to decide where to step. There is a huge lack of evidence about this because the vast majority of locomotion studies have focused on steady, well-controlled conditions, and not on decisions made in the real world. The author team has already made great advances in this topic, but there has been no practical way to map 3D terrain features in naturalistic environments. They have now developed a way to integrate such measurements along with gaze and step tracking, which allows quantitative evaluation of the proposed trade-offs between stepping vertically onto vs. stepping around obstacles, along with how far people look to decide where to step. 

      Strengths: 

      (1) I am impressed by the overarching outlook of the researchers. They seek to understand human decision-making in real-world locomotion tasks, a topic of obvious relevance to the human condition but not often examined in research. The field has been biased toward well-controlled studies, which have scientific advantages but also serious limitations. A well-controlled study may eliminate human decisions and favor steady or periodic motions in laboratory conditions that facilitate reliable and repeatable data collection. The present study discards all of these usually-favorable factors for rather uncontrolled conditions, yet still finds a way to explore real-world behaviors in a quantitative manner. It is an ambitious and forward-thinking approach, used to tackle an ecologically relevant question. 

      (2) There are serious technical challenges to a study of this kind. It is true that there are existing solutions for motion tracking, eye tracking, and most recently, 3D terrain mapping. However most of the solutions do not have turn-key simplicity and require significant technical expertise. To integrate multiple such solutions together is even more challenging. The authors are to be commended on the technical integration here.

      (3) In the absence of prior studies on this issue, it was necessary to invent new analysis methods to go with the new experimental measures. This is non-trivial and places an added burden on the authors to communicate the new methods. It's harder to be at the forefront in the choice of topic, technical experimental techniques, and analysis methods all at once. 

      Weaknesses: 

      (1) I am predisposed to agree with all of the major conclusions, which seem reasonable and likely to be correct. Ignoring that bias, I was confused by much of the analysis. There is an argument that the chosen paths were not random, based on a comparison of probability distributions that I could not understand. There are plots described as "turn probability vs. X" where the axes are unlabeled and the data range above 1. I hope the authors can provide a clearer description to support the findings. This manuscript stands to be cited well as THE evidence for looking ahead to plan steps, but that is only meaningful if others can understand (and ultimately replicate) the evidence. 

      We have rewritten the manuscript with the goal of clarifying the analyses, and we have re-labelled the offending figure.

      (2) I wish a bit more and simpler data could be provided. It is great that step parameter distributions are shown, but I am left wondering how this compares to level walking.  The distributions also seem to use absolute values for slope and direction, for understandable reasons, but that also probably skews the actual distribution. Presumably, there should be (and is) a peak at zero slope and zero direction, but absolute values mean that non-zero steps may appear approximately doubled in frequency, compared to separate positive and negative. I would hope to see actual distributions, which moreover are likely not independent and probably have a covariance structure. The covariance might help with the argument that steps are not random, and might even be an easy way to suggest the trade-off between turning and stepping vertically. This is not to disregard the present use of absolute values but to suggest some basic summary of the data before taking that step. 

      We have replotted the step parameter distributions without absolute values. Unfortunately, the covariation of step parameters (step direction and step slope) is unlikely to help establish this tradeoff.  Note that the primary conclusion of the manuscript is that works make turns to keep step slope low (when possible). Thus, any correlation that might exist between goal direction and step slope would be difficult to interpret without a direct comparison to possible alternative paths (as we have done in this paper). As such we do not draw our conclusions from them.  We use them primarily to generate plausible random paths for comparison with the chosen paths.  We have added two supplementary figures including distributions (Fig 15) and covariation of all the step parameters discussed in the methods (Fig 16).

      (3) Along these same lines, the manuscript could do more to enable others to digest and go further with the approach, and to facilitate interpretability of results. I like the use of a neural network to demonstrate the predictiveness of stepping, but aside from above-chance probability, what else can inform us about what visual data drives that?

      The CNN analysis simply shows that the information is there in the image from the subject’s viewpoint and is used to motivate the subsequent analysis.  As noted above, we have generally tried to improve the clarity of the methods.

      Similarly, the step distributions and height-turn trade-off curves are somewhat opaque and do not make it easy to envision further efforts by others, for example, people who want to model locomotion. For that, clearer (and perhaps) simpler measures would be helpful. 

      We have clarified the description of these plots in the main text and in the methods.  We have also tried to clarify why we made the choices that we did in measuring the height-turn trade-off and why it is necessary in order to make a fair comparison.

      I am absolutely in support of this manuscript and expect it to have a high impact. I do feel that it could benefit from clarification of the analysis and how it supports the conclusions. 

      Reviewer #3 (Public Review): 

      Summary: 

      The systematic way in which path selection is parametrically investigated is the main contribution. 

      Strengths: 

      The authors have developed an impressive workflow to study gait and gaze in natural terrain. 

      Weaknesses: 

      (1) The training and validation data of the CNN are not explained fully making it unclear if the data tells us anything about the visual features used to guide steering. It is not clear how or on what data the network was trained (training vs. validation vs. un-peeked test data), and justification of the choices made. There is no discussion of possible overfitting. The network could be learning just e.g. specific rock arrangements. If the network is overfitting the "features" it uses could be very artefactual, pixel-level patterns and not the kinds of "features" the human reader immediately has in mind. 

      The CNN analysis has now been moved earlier in the manuscript to help clarify its significance and we have expanded the description of the methods. Briefly, it simply indicates that there is information in the depth structure of the terrain that can be learned by a network. This helps justify the subsequent analyses.  Importantly, the network training and testing sets were separated by terrain to ensure that the model was being tested on “unseen” terrain and avoid the model learning specific arrangements.  This is now clarified in the text.

      (2) The use of descriptive terminology should be made systematic. 

      Specifically, the following terms are used without giving a single, clear definition for them: path, step, step location, foot plant, foothold, future foothold, foot location, future foot location, foot position. I think some terms are being used interchangeably. I would really highly recommend a diagrammatic cartoon sketch, showing the definitions of all these terms in a single figure, and then sticking to them in the main text. 

      We have made the language more systematic and clarified the definition of each term (see Methods). Path refers to the sequence of 5 steps. Foothold is where the foot was placed in the environment. A step is the transition from one foothold to the next.

      (3) More coverage of different interpretations / less interpretation in the abstract/introduction would be prudent.  The authors discuss the path selection very much on the basis of energetic costs and gait stability. At least mention should be given to other plausible parameters the participants might be optimizing (or that indeed they may be just satisficing). That is, it is taken as "given" that energetic cost is the major driver of path selection in your task, and that the relevant perception relies on internal models. Neither of these is a priori obvious nor is it as far as I can tell shown by the data (optimizing other variables, satisficing behavior, or online "direct perception" cannot be ruled out). 

      The abstract has been substantially rewritten.  We have adjusted our language in the introduction/discussion to try to address this concern.

      Recommendations for the authors:

      Reviewing Editor comments 

      You will find a full summary of all 3 reviews below. In addition to these reviews, I'd like to highlight a few points from the discussion among reviewers. 

      All reviewers are in agreement that this study has the potential to be a fundamental study with far-reaching empirical and practical implications. The reviewers also appreciate the technical achievements of this study. 

      At the same time, all reviewers are concerned with the overall lack of clarity in how the results are presented. There are a considerable number of figures that need better labeling, text parts that require clearer definitions, and the description of data collection and analysis (esp. with regard to the CNN) requires more care. Please pay close attention to all comments related to this, as this was the main concern that all reviewers shared. 

      At a more specific level, the reviewers discussed the finding around leg length, and admittedly, found it hard to believe, in short: "extraordinary claims need strong evidence". It would be important to strengthen this analysis by considering possible confounds, and by including a discussion of the degree of conviction. 

      We have weakened the discussion of this finding and provided some an additional analyses in a supplemental figure (Figure 17) to help clarify the finding.

      Reviewer #1 (Recommendations For The Authors): 

      First, let me apologize for the long delay with this review. Despite my generally positive evaluation (see public review), I have some concerns about the way the data are presented and questions about methodological details. 

      (1) Representation of results: I find it hard to decipher how much variability arises within an individual and how much across individuals. For example, Figure 7b seems to aggregate across all individuals, while the analysis is (correctly) based on the subject medians.

      Figure 7b That figure was just one subject. This is now clarified.

      It would be good to see the distribution of all individuals (maybe use violin plots for each observer with the true data on one side and the baseline data on the other, or simple histograms for each). To get a feeling for inter-individual and intra-individual variability is crucial, as obviously (see the leg-length analysis) there are larger inter-individual differences and representations like these would be important to appreciate whether there is just a scaling of more or less the same effect or whether there are qualitative differences (especially in the light of N=9 being not a terribly huge sample size). 

      The medians for the individual subjects are now provided with the standard deviations between subjects to indicate the extent of individual differences. Note that the random paths were chosen from the distribution of actual step slopes for that subject as one of the constraints. This makes the random paths statistically similar to the chosen paths with the differences only being generated by the particular visual context. Thus the test for a difference between chosen and random is quite conservative

      Similarly, seeing \DeltaH plotted as a function of steps in the path as a figure rather than just having the verbal description would also help. 

      To simplify the discussion of our methods/results we have removed the analyses that examine mean slope as a function of steps.  Because of the central limit theorem the slopes of the chosen paths remain largely unchanged regardless of the choice path length.  The slopes of the simulated paths are always larger irrespective of the choice of path length.

      (2) Reporting the statistical analyses: This is related to my previous issue: I would appreciate it if the test statistics and degrees-of-freedom of the statistical tests were given along with the p-values, instead of only the p-values. This at some points would also clarify how the statistics were computed exactly (e.g., "All subjects showed comparable difference and the difference in medians evaluated across subjects was highly significant (p<<0.0001).", p.10, is ambiguous to me). 

      Details have been added as requested.

      (3) Why is the lower half ("tortuosity less than the median tortuosity") of paths used as "straight" rather than simply the minimum of all viable paths)?

      The benchmark for a straight path is somewhat arbitrary. Using the lower half rather than the minimum length path is more conservative.

      (4) For the CNN analysis, I failed to understand what was training and what was test set. I understand that the goal is to predict for all pixels whether they are a potential foothold or not, and the AUC is a measure of how well they can be discriminated based on depth information and then this is done for each image and the median over all images taken. But on which data is the CNN trained, and on which is it tested? Is this leave-n-out within the same participant? If so, how do you deal with dependencies between subsequent images? Or is it leave-1-out across participants? If so, this would be more convincing, but again, the same image might appear in training and test. If the authors just want to ask how well depth features can discriminate footholds from non-footholds, I do not see the benefit of a supervised method, which leaves the details of the feature combinations inside a black box. Rather than defining the "negative set" (i.e., the non-foothold pixels) randomly, the simulated paths could also be used, instead. If performance (AUC) gets lower than for random pixels, this would confirm that the choice of parameters to define a "viable path" is well-chosen. 

      This has been clarified as described above.

      Minor issues: 

      (5) A higher tortuosity would also lead a participant to require more steps in total than a lower tortuosity. Could this partly explain the correlation between the leg length and the slope/tortuosity correlation? (Longer legs need fewer steps in total, thus there might be less tradeoff between \Delta H and keeping the path straight (i.e., saving steps)). To assess this, you could give the total number of steps per (straight) distance covered for leg length and compare this to a flat surface.

      The calculations are done on an individual subject basis and the first and last step locations are chosen from the actual foot placements, then the random paths are generated between those endpoints. The consequence of this is that the number of steps is held constant for the analysis.  We have clarified the methods for this analysis to try to make this more clear.

      (6) As far as I understand, steps happen alternatingly with the two feet. That is, even on a flat surface, one would not reach 0 tortuosity. In other words, does the lateral displacement of the feet play a role (in particular, if paths with even and paths with odd number of steps were to be compared), and if so, is it negligible for the leg-length correlation? 

      All the comparisons here are done for 5 step sequences so this potential issue should not affect the slope of the regression lines or the leg length correlation.

      (7) Is there any way to quantify the quality of the depth estimates? Maybe by taking an actual depth image (e.g., by LIDAR or similar) for a small portion of the terrain and comparing the results to the estimate? If this has been done for similar terrain, can a quantification be given? If errors would be similar to human errors, this would also be interesting for the interpretation of the visual sampling data.

      Unfortunately, we do not have the ground truth depth image from LIDAR.  When these data were originally collected, we had not imagined being able to reconstruct the terrain.  However, we agree with the reviewers that this would be a good analysis to do. We plan to collect LIDAR in future experiments. 

      To provide an assessment of quality for these data in the absence of a ground truth depth image, we have performed an evaluation of the reliability of the terrain reconstruction across repeats of the same terrain both between and within participants.  We have expanded the discussion of these reliability analyses in the results section entitled “Evaluating Terrain Reconstruction”, as well as in the corresponding methods section (see Figure 10).

      (8) The figures are sometimes confusing and a bit sloppy. For example, in Figure 7a, the red, cyan, and green paths are not mentioned in the caption, in Figure 8 units on the axes would be helpful, in Figure 9 it should probably be "tortuosity" where it now states "curviness". 

      These details have been fixed.

      (9) I think the statement "The maximum median AUC of 0.79 indicates that the 0.79 is the median proportion of pixels in the circular..." is not an appropriate characterization of the AUC, as the number of correctly classified pixels will not only depend on the ROC (and thus the AUC), but also on the operating point chosen on the ROC (which is not specified by the AUC alone). I would avoid any complications at this point and just characterize the AUC as a measure of discriminability between footholds and non-footholds based on depth features. 

      This has been fixed.

      (10) Ref. [16]is probably the wrong Hart paper (I assume their 2012 Exp. Brain Res. [https://doi.org/10.1007/s00221-012-3254-x] paper is meant at this point) 

      Fixed

      Typos (not checked systematically, just incidental discoveries): 

      (11) "While there substantial overlap" (p.10) 

      (12) "field.." (p.25) 

      (13) "Introduction", "General Discussion" and "Methods" as well as some subheadings are numbered, while the other headings (e.g., Results) are not. 

      Fixed

      Reviewer #2 (Recommendations For The Authors): 

      The major suggestions have been made in the Public Review. The following are either minor comments or go into more detail about the major suggestions. All of these comments are meant to be constructive, not obstructive. 

      Abstract. This is well written, but the main conclusions "Walkers avoid...This trade off is related...5 steps ahead" sound quite qualitative. They could be strengthened by more specificity (NOT p-values), e.g. "positive correlation between the unevenness of the path straight ahead and the probability that people turned off that path." 

      The abstract has been substantially rewritten.

      P. 5 "pinning the head position estimated from the IMU to the Meshroom estimates" sounds like there are two estimates. But it does not sound like both were used. Clarify, e.g. the Meshroom estimate of head position was used in place of IMU? 

      Yes that’s correct.  We have clarified this in the text.

      Figure 5. I was confused by this. First, is a person walking left to right? When the gaze position is shown, where was the eye at the time of that gaze? There are straight lines attached to the blue dots, what do they represent? The caption says gaze is directed further along the path, which made me guess the person is walking right to left, and the line originates at the eye. Except the origins do not lie on or close to the head locations. There's also no scale shown, so maybe I am completely misinterpreting. If the eye locations were connected to gaze locations, it would help to support the finding that people look five steps ahead of where they step. 

      We have updated the figure and clarified the caption to remove these confusions.  There was a mistake in the original figure (where the yellow indicated head locations, we had plotted the center of mass and the choice of projection gave the incorrect impression that the fixations off the path, in blue, were separated from the head).

      The view of the data is now presented so the person is walking left to right and with a projection of the head location (orange), gaze locations (blue or green) and feet (pink).

      Figure 6. As stated in the major comments, the step distributions would be expected to have a covariance structure (in terms of raw data before taking absolute values). It would be helpful to report the covariances (6 numbers). As an example of a simple statistical analysis, a PCA (also based on a data covariance) would show how certain combinations of slope/distance/direction are favored over others. Such information would be a simple way to argue that the data are not completely random, and may even show a height-turn trade-off immediately. (By the way, I am assuming absolute values are used because the slopes and directions are only positive, but it wasn't clear if this was the definition.) A reason why covariances and PCA are helpful is that such data would be helpful to compute a better random walk, generated from dynamics. I believe the argument that steps are not random is not served by showing the different histograms in Figure 7, because I feel the random paths are not fairly produced. A better argument might draw randomly from the same distribution as the data (or drive a dynamical random walk), and compare with actual data. There may be correlations present in the actual data that differ from random. I could be mistaken, because it is difficult or impossible to draw conclusions from distributions of absolute values, or maybe I am only confused. In any case, I suspect other readers will also have difficulty with this section. 

      This has been addressed above in the major comments.

      p. 9, "average step slope" I think I understand the definition, but I suggest a diagram might be helpful to illustrate this.

      There is a diagram of a single step slope in Figure 6 and a diagram of the average step slope for a path segment in Figure 12.

      Incidentally, the "straight path slope" is not clearly defined. I suspect "straight" is the view from above, i.e. ignoring height changes. 

      Clarified

      p. 11 The tortuosity metric could use a clearer definition. Should I interpret "length of the chosen path relative to a straight path" as the numerator and denominator? Here does "length" also refer to the view from above? Why is tortuosity defined differently from step slope? Couldn't there be an analogue to step slope, except summing absolute values of direction changes? Or an analogue to tortuosity, meaning the length as viewed from the side, divided by the length of the straight path? 

      We followed the literature in the definition of tortuosity.  We have clarified the definition of tortuosity in the methods, but yes, you can interpret the length of the chosen path relative to a straight path, as the numerator and denominator, and length refers to 3D length.  We agree that there are many interesting ways to look at the data but for clarity we have limited the discussion to a single definition of tortuosity in this paper.

      Figure 8 could use better labeling. On the left, there is a straight path and a more tortuous path, why not report the metrics for these? On the right, there are nine unlabeled plots. The caption says "turn probability vs. straight path slope" but the vertical axis is clearly not a probability. Perhaps the axis is tortuosity? I presume the horizontal axis is a straight path slope in degrees, but this is not explained. Why are there nine plots, is each one a subject? I would prefer to be informed directly instead of guessing. (As a side note, I like the correlations as a function of leg length, it is interesting, even if slightly unbelievable. I go hiking with people quite a bit shorter and quite a lot taller than me, and anecdotally I don't think they differ so much from each other.) 

      We have fixed Figure 8 which shows the average “mean slope” as a function of tortuosity.  We have added a supplemental figure which shows a scatter plot of the raw data (mean slope vs. tortuosity for each path segment).  

      Note that when walking with friends other factors (e.g. social) will contribute to the cost function. As a very short person my experience is that it is a problem. In any case, the data are the data, whatever the underlying reasons. It does not seem so surprising that people of different heights make different tradeoffs. We know that the preferred gait depends on individual’s passive dynamics as described in the paper, and the terrain will change what is energetically optimal as described in the Darici and Kuo paper.

      Figure 9 presumably shows one data point per subject, but this isn't clear. 

      The correlations are reported per subject, and this has been clarified. 

      p. 13 CNN. I like this analysis, but only sort of. It is convincing that there is SOME sort of systematic decision-making about footholds, better than chance. What it lacks is insight. I wonder what drives peoples' decisions. As an idle suggestion, the AlexNet (arXiv: Krizhevsky et al.; see also A. Karpathy's ConvNETJS demo with CIFAR-10) showed some convolutional kernels to give an idea of what the layers learned. 

      Further exploration of CNN’s would definitely be interesting, but it is outside the scope of the paper. We use it simply to make a modest point, as described above.

      p. 15 What is the definition of stability cost? I understand energy cost, but it is unclear how circuitous paths have a higher stability cost. One possible definition is an energetic cost having to do with going around and turning. But if not an energy cost, what is it? 

      We meant to say that the longer and flatter paths are presumably more stable because of the smaller height changes. You are correct that we can’t say what the stability cost is and we have clarified this in the discussion.

      p. 16 "in other data" is not explained or referenced.

      Deleted 

      p. 10 5 step paths and p. 17 "over the next 5 steps". I feel there is very little information to really support the 5 steps. A p-value only states the significance, not the amount of difference. This could be strengthened by plotting some measures vs. the number of steps ahead. For example, does a CNN looking 1-5 steps ahead predict better than one looking N<5 steps ahead? I am of course inclined to believe the 5 steps, but I do not see/understand strong quantitative evidence here. 

      We have weakened the statements about evidence for planning 5 steps ahead.

      p. 25 CNN. I did not understand the CNN. The list of layers seems incomplete, it only shows four layers. The convolutional-deconvolutional architecture is mentioned as if that is a common term, which I am unfamiliar with but choose to interpret as akin to encoder-decoder. However, the architecture does not seem to have much of a bottleneck (25x25x8 is not greatly smaller than 100x100x4), so what is the driving principle? It's also unclear how the decoder culminates, does it produce some m x m array of probabilities of stepping, where m is some lower dimension than the images? It might be helpful also to illustrate the predictions, for example, show a photo of the terrain view, along with a probability map for that view. I would expect that the reader can immediately say yes, I would likely step THERE but not there. 

      We have clarified the description of the CNN. An illustration is shown in Figure 11.

      Reviewer #3 (Recommendations For The Authors): 

      (This section expands on the points already contained in the Public Review). 

      Major issues 

      (1) The training and validation data of the CNN are not explained fully making it unclear if the data tells us anything about the visual features used to guide steering. A CNN was used on the depth scenes to identify foothold locations in the images. This is the bit of the methods and the results that remains ambiguous, and the authors may need to revisit the methods/results. It is not clear how or on what data the network was trained (training vs. validation vs. un-peeked test data), and justification of the choices made. There is no discussion of possible overfitting. The network could be learning just for example specific rock arrangements in the particular place you experimented. Training the network on data from one location and then making it generalize to another location would of course be ideal. Your network probably cannot do this (as far as I can tell this was not tried), and so the meaning of the CNN results cannot really be interpreted. 

      I really like the idea, of getting actual retinotopic depth field approximations. But then the question would be: what features in this information are relevant and useful for visual guidance (of foot placement)? But this question is not answered by your method. 

      "If a CNN can predict these locations above chance using depth information, this would indicate that depth features can be used to explain some variation in foothold selection." But there is no analysis of what features they are. If the network is overfitting they could be very artefactual, pixel-level patterns and not the kinds of "features" the human reader immediately has in mind. As you say "CNN analysis shows that subject perspective depth features are predictive of foothold locations", well, yes, with 50,000 odd parameters the foothold coordinates can be associated with the 3D pixel maps, but what does this tell us? 

      See previous discussion of these issues.

      It is true that we do not know the precise depth features used. We established that information about height changes was being used, but further work is needed to specify how the visual system does this. This is mentioned in the Discussion.

      You open the introduction with a motivation to understand the visual features guiding path selection, but what features the CNN finds/uses or indeed what features are there is not much discussed. You would need to bolster this, or down-emphasize this aspect in the Introduction if you cannot address it. 

      "These depth image features may or may not overlap with the step slope features shown to be predictive in the previous analysis, although this analysis better approximates how subjects might use such information." I do not think you can say this. It may be better to approximate the kind of (egocentric) environment the subjects have available, but as it is I do not see how you can say anything about how the subject uses it. (The results on the path selection with respect to the terrain features, viewpoint viewpoint-independent allocentric properties of the previous analyses, are enough in themselves!) 

      We have rewritten the section on the CNN to make clearer what it can and cannot do and its role in the manuscript. See previous discussion.

      (2) The use of descriptive terminology should be made systematic. Overall the rest of the methodology is well explained, and the workflow is impressive. However, to interpret the results the introduction and discussion seem to use terminology somewhat inconsistently. You need to dig into the methods to figure out the exact operationalizations, and even then you cannot be quite sure what a particular term refers to. Specifically, you use the following terms without giving a single, clear definition for them (my interpretation in parentheses): 

      foothold (a possible foot plant location where there is an "affordance"? or a foot plant location you actually observe for this individual? or in the sample?) 

      step (foot trajectory between successive step locations) 

      step location (the location where the feet are placed) 

      path (are they lines projected on the ground, or are they sequences of foot plants? The figure suggests lines but you define a path in terms of five steps. 

      foot plant (occurs when the foot comes in contact with step location?) 

      future foothold (?) 

      foot location (?) 

      future foot location (?) 

      foot position (?) 

      I think some terms are being used interchangeably here? I would really highly recommend a diagrammatic cartoon sketch, showing the definitions of all these terms in a single figure, and then sticking to them in the main text. Also, are "gaze location" and "fixation" the same? I.e. is every gaze-ground intersection a "gaze location" (I take it it is not a "fixation", which you define by event identification by speed and acceleration thresholds in the methods)? 

      We have cleaned up the language. A foothold is the location in the terrain representation (mesh) where the foot was placed. A step is the transition from one foothold to the next. A path is the sequences of 5 steps. The lines simply illustrate the path in the Figures. A gaze location is the location in the terrain representation where the walker is holding gaze still (the act of fixating). See Muller et al (2023) for further explanation.

      (3) More coverage of different interpretations / less interpretation in the abstract/introduction would be prudent. You discuss the path selection very much on the basis of energetic costs and gait stability. At least mention should be given to other plausible parameters the participants might be optimizing (or that indeed they may be just satisficing). Temporal cost (more circuitous route takes longer) and uncertainty (the more step locations you sample the more chance that some of them will not be stable) seem equally reasonable, given the task ecology / the type of environment you are considering. I do not know if there is literature on these in the gait-scene, but even if not then saying you are focusing on just one explanation because that's where there is literature to fall back on would be the thing to do. 

      Also in the abstract and introduction you seem to take some of this "for granted". E.g. you end the abstract saying "are planning routes as well as particular footplants. Such planning ahead allows the minimization of energetic costs. Thus locomotor behavior in natural environments is controlled by decision mechanisms that optimize for multiple factors in the context of well-calibrated sensory and motor internal models". This is too speculative to be in the abstract, in my opinion. That is, you take as "given" that energetic cost is the major driver of path selection in your task, and that the relevant perception relies on internal models. Neither of these is a priori obvious nor is it as far as I can tell shown by your data (optimizing other variables, satisficing behavior, or online "direct perception" cannot be ruled out). 

      We have rewritten the abstract and Discussion with these concerns in mind.

      You should probably also reference: 

      Warren, W. H. (1984). Perceiving affordances: Visual guidance of stair climbing. Journal of Experimental Psychology: Human Perception and Performance, 10(5), 683-703. https://doi.org/10.1037/0096-1523.10.5.683 

      Warren WH Jr, Young DS, Lee DN. Visual control of step length during running over irregular terrain. J Exp Psychol Hum Percept Perform. 1986 Aug;12(3):259-66. doi: 10.1037//0096-1523.12.3.259. PMID: 2943854. 

      We have added these references to the introduction.

      Minor point 

      Related to (2) above, the path selection results are sometimes expressed a bit convolutedly, and the gist can get lost in the technical vocabulary. The generation of alternative "paths" and comparison of their slope and tortuousness parameters show that the participants preferred smaller slope/shorter paths. So, as far as I can tell, what this says is that in rugged terrain people like paths that are as "flat" as possible. This is common sense so hardly surprising. Do not be afraid to say so, and to express the result in plain non-technical terms. That an apple falls from a tree is common sense and hardly surprising. Yet quantifying the phenomenon, and carefully assessing the parameters of the path that the apple takes, turned out to be scientifically valuable - even if the observation itself lacked "novelty". 

      Thanks.  We have tried to clarify the methods/results with this in mind.

    1. Reviewer #1 (Public review):

      Summary:

      In this manuscript, Dong et al. study the directed cell migration of tracheal stem cells in Drosophila pupae. The migration of these cells which are found in two nearby groups of cells normally happens unidirectionally along the dorsal trunk towards the posterior. Here, the authors study how this directionality is regulated. They show that inter-organ communication between the tracheal stem cells and the nearby fat body plays a role. They provide compelling evidence that Upd2 production in the fat body and JAK/STAT activation in the tracheal stem cells play a role. Moreover, they show that JAK/STAT signalling might induce the expression of apicobasal and planar cell polarity genes in the tracheal stem cells which appear to be needed to ensure unidirectional migration. Finally, the authors suggest that trafficking and vesicular transport of Upd2 from the fat body towards the tracheal cells might be important.

      Strengths:

      The manuscript is well written. This novel work demonstrates a likely link between Upd2-JAK/STAT signalling in the fat body and tracheal stem cells and the control of unidirectional cell migration of tracheal stem cells. The authors show that hid+rpr or Upd2RNAi expression in a fat body or Dome RNAi, Hop RNAi, or STAT92E RNAi expression in tracheal stem cells results in aberrant migration of some of the tracheal stem cells towards the anterior. Using ChIP-seq as well as analysis of GFP-protein trap lines of planar cell polarity genes in combination with RNAi experiments, the authors show that STAT92E likely regulates the transcription of planar cell polarity genes and some apicobasal cell polarity genes in tracheal stem cells which appear to be needed for unidirectional migration. Moreover, the authors hypothesise that extracellular vesicle transport of Upd2 might be involved in this Upd2-JAK/STAT signalling in the fat body and tracheal stem cells, which, if true, would be quite interesting and novel.

      Overall, the work presented here provides some novel insights into the mechanism that ensures unidirectional migration of tracheal stem cells that prevents bidirectional migration. This might have important implications for other types of directed cell migration in invertebrates or vertebrates including cancer cell migration.

      Weaknesses:

      It remains unclear to what extent Upd2-JAK/STAT signalling regulates unidirectional migration. While there seems to be a consistent phenotype upon genetic manipulation of Upd2-JAK/STAT signalling and planar cell polarity genes, as in the aberrant anterior migration of a fraction of the cells, the phenotype seems to be rather mild, with the majority of cells migrating towards the posterior.

      While I am not an expert on extracellular vesicle transport, the data presented here regarding Upd2 being transported in extracellular vesicles do not appear to be very convincing.

      Major comments:

      (1) The graphs showing the quantification of anterior (and in some cases also posterior migration) are quite confusing. E.g. Figure 1F (and 5E and all others): These graphs are difficult to read because the quantification for the different conditions is not shown separately. E.g. what is the migration distance for Fj RNAi anterior at 3h in Fig5E? Around -205micron (green plus all the other colors) or around -70micron (just green, even though the green bar goes to -205micron). If it's -205micron, then the images in C' or D' do not seem to show this strong phenotype. If it's around -70, then the way the graph shows it is misleading, because some readers will interpret the result as -205.

      Moreover, it's also not clear what exactly was quantified and how it was quantified. The details are also not described in the methods. It would be useful, to mark with two arrowheads in the image (e.g. 5 A' -D') where the migration distance is measured (anterior margin and point zero).

      Overall, it would be better, if the graph showed the different conditions separately. Also, n numbers should be shown in the figure legend for all graphs.

      (2) Figure 2-figure supplement 1: C-L and M: From these images and graph it appears that Upd2 RNAi results in no aberrant anterior migration. Why is this result different from Figures 2D-F where it does?

      (3) Figure 5F: The data on the localisation of planar cell polarity proteins in the tracheal stem cell group is rather weak. Figure 5G and J should at least be quantified for several animals of the same age for each genotype. Is there overall more Ft-GFP in the cells on the posterior end of the cell group than on the opposite side? Or is there a more classic planar cell polarity in each cell with Ft-GFP facing to the posterior side of the cell in each cell? Maybe it would be more convincing if the authors assessed what the subcellular localisation of Ft is through the expression of Ft-GFP in clones to figure out whether it localises posteriorly or anteriorly in individual cells.

      (4) Regarding the trafficking of Upd2 in the fat body, is it known, whether Grasp65, Lbm, Rab5, and 7 are specifically needed for extracellular vesicle trafficking rather than general intracellular trafficking? What is the evidence for this?

      (5) Figure 8A-B: The data on the proximity of Rab5 and 7 to the Upd2 blobs are not very convincing.

      (6) The authors should clarify whether or not their work has shown that "vesicle-mediated transport of ligands is essential for JAK/STAT signaling". In its current form, this manuscript does not appear to provide enough evidence for extracellular vesicle transport of Upd2.

      (7) What is the long-term effect of the various genetic manipulations on migration? The authors don't show what the phenotype at later time points would be, regarding the longer-term migration behaviour (e.g. at 10h APF when the cells should normally reach the posterior end of the pupa). And what is the overall effect of the aberrant bidirectional migration phenotype on tracheal remodelling?

      (8) The RNAi experiments in this manuscript are generally done using a single RNAi line. To rule out off-target effects, it would be important to use two non-overlapping RNAi lines for each gene.

    1. theentire purpose of a properly conducted funeral and burial is to transform the deadinto ancestors rather than allowing them to become ghosts.

      This tradition strongly emphasizes maintaining familial and social harmony through rituals, reflecting a deep concern with the order and stability of both the living and the dead.

      For me, this is quite new and intriguing because it frames the funeral as more than just a cultural or religious practice. It’s a social mechanism that defines the dead’s place in the ongoing family structure. This idea is less emphasized in my own cultural background, where the rituals are more about closure for the living than ensuring the deceased’s place in the family lineage.

    1. Until writing centers assume a more prominent role in our institutions as repositories for knowledge and vocal practitioners around linguistic justice, it is not just writing centers but academia more generally that will remain linguistically racist.

      linguistic racism in the institution and it's relationship to writing centers

    1. Data center emissions probably 662% higher than big tech claims. Can it keep up the ruse?Emissions from in-house data centers of Google, Microsoft, Meta and Apple may be 7.62 times higher than official tallyIsabel O'BrienSun 15 Sep 2024 17.00 CESTLast modified on Wed 18 Sep 2024 22.40 CESTShareBig tech has made some big claims about greenhouse gas emissions in recent years. But as the rise of artificial intelligence creates ever bigger energy demands, it’s getting hard for the industry to hide the true costs of the data centers powering the tech revolution.According to a Guardian analysis, from 2020 to 2022 the real emissions from the “in-house” or company-owned data centers of Google, Microsoft, Meta and Apple are probably about 662% – or 7.62 times – higher than officially reported.Amazon is the largest emitter of the big five tech companies by a mile – the emissions of the second-largest emitter, Apple, were less than half of Amazon’s in 2022. However, Amazon has been kept out of the calculation above because its differing business model makes it difficult to isolate data center-specific emissions figures for the company.As energy demands for these data centers grow, many are worried that carbon emissions will, too. The International Energy Agency stated that data centers already accounted for 1% to 1.5% of global electricity consumption in 2022 – and that was before the AI boom began with ChatGPT’s launch at the end of that year.AI is far more energy-intensive on data centers than typical cloud-based applications. According to Goldman Sachs, a ChatGPT query needs nearly 10 times as much electricity to process as a Google search, and data center power demand will grow 160% by 2030. Goldman competitor Morgan Stanley’s research has made similar findings, projecting data center emissions globally to accumulate to 2.5bn metric tons of CO2 equivalent by 2030.In threat to climate safety, Michigan to woo tech data centers with new lawsRead moreIn the meantime, all five tech companies have claimed carbon neutrality, though Google dropped the label last year as it stepped up its carbon accounting standards. Amazon is the most recent company to do so, claiming in July that it met its goal seven years early, and that it had implemented a gross emissions cut of 3%.“It’s down to creative accounting,” explained a representative from Amazon Employees for Climate Justice, an advocacy group composed of current Amazon employees who are dissatisfied with their employer’s action on climate. “Amazon – despite all the PR and propaganda that you’re seeing about their solar farms, about their electric vans – is expanding its fossil fuel use, whether it’s in data centers or whether it’s in diesel trucks.”A misguided metricThe most important tools in this “creative accounting” when it comes to data centers are renewable energy certificates, or Recs. These are certificates that a company purchases to show it is buying renewable energy-generated electricity to match a portion of its electricity consumption – the catch, though, is that the renewable energy in question doesn’t need to be consumed by a company’s facilities. Rather, the site of production can be anywhere from one town over to an ocean away.Recs are used to calculate “market-based” emissions, or the official emissions figures used by the firms. When Recs and offsets are left out of the equation, we get “location-based emissions” – the actual emissions generated from the area where the data is being processed.The trend in those emissions is worrying. If these five companies were one country, the sum of their “location-based” emissions in 2022 would rank them as the 33rd highest-emitting country, behind the Philippines and above Algeria.Many data center industry experts also recognize that location-based metrics are more honest than the official, market-based numbers reported.“Location-based [accounting] gives an accurate picture of the emissions associated with the energy that’s actually being consumed to run the data center. And Uptime’s view is that it’s the right metric,” said Jay Dietrich, the research director of sustainability at Uptime Institute, a leading data center advisory and research organization.Nevertheless, Greenhouse Gas (GHG) Protocol, a carbon accounting oversight body, allows Recs to be used in official reporting, though the extent to which they should be allowed remains controversial between tech companies and has led to a lobbying battle over GHG Protocol’s rule-making process between two factions.On one side there is the Emissions First Partnership, spearheaded by Amazon and Meta. It aims to keep Recs in the accounting process regardless of their geographic origins. In practice, this is only a slightly looser interpretation of what GHG Protocol already permits.The opposing faction, headed by Google and Microsoft, argues that there needs to be time-based and location-based matching of renewable production and energy consumption for data centers. Google calls this its 24/7 goal, or its goal to have all of its facilities run on renewable energy 24 hours a day, seven days a week by 2030. Microsoft calls it its 100/100/0 goal, or its goal to have all its facilities running on 100% carbon-free energy 100% of the time, making zero carbon-based energy purchases by 2030.Google has already phased out its Rec use and Microsoft aims to do the same with low-quality “unbundled” (non location-specific) Recs by 2030.Academics and carbon management industry leaders alike are also against the GHG Protocol’s permissiveness on Recs. In an open letter from 2015, more than 50 such individuals argued that “it should be a bedrock principle of GHG accounting that no company be allowed to report a reduction in its GHG footprint for an action that results in no change in overall GHG emissions. Yet this is precisely what can happen under the guidance given the contractual/Rec-based reporting method.”To GHG Protocol’s credit, the organization does ask companies to report location-based figures alongside their Rec-based figures. Despite that, no company includes both location-based and market-based metrics for all three subcategories of emissions in the bodies of their annual environmental reports.In fact, location-based numbers are only directly reported (that is, not hidden in third-party assurance statements or in footnotes) by two companies – Google and Meta. And those two firms only include those figures for one subtype of emissions: scope 2, or the indirect emissions companies cause by purchasing energy from utilities and large-scale generators.In-house data centersScope 2 is the category that includes the majority of the emissions that come from in-house data center operations, as it concerns the emissions associated with purchased energy – mainly, electricity.Data centers should also make up a majority of overall scope 2 emissions for each company except Amazon, given that the other sources of scope 2 emissions for these companies stem from the electricity consumed by firms’ offices and retail spaces – operations that are relatively small and not carbon-intensive. Amazon has one other carbon-intensive business vertical to account for in its scope 2 emissions: its warehouses and e-commerce logistics.For the firms that give data center-specific data – Meta and Microsoft – this holds true: data centers made up 100% of Meta’s market-based (official) scope 2 emissions and 97.4% of its location-based emissions. For Microsoft, those numbers were 97.4% and 95.6%, respectively.The huge differences in location-based and official scope 2 emissions numbers showcase just how carbon intensive data centers really are, and how deceptive firms’ official emissions numbers can be. Meta, for example, reports its official scope 2 emissions for 2022 as 273 metric tons CO2 equivalent – all of that attributable to data centers. Under the location-based accounting system, that number jumps to more than 3.8m metric tons of CO2 equivalent for data centers alone – a more than 19,000 times increase.A similar result can be seen with Microsoft. The firm reported its official data center-related emissions for 2022 as 280,782 metric tons CO2 equivalent. Under a location-based accounting method, that number jumps to 6.1m metric tons CO2 equivalent. That’s a nearly 22 times increase.While Meta’s reporting gap is more egregious, both firms’ location-based emissions are higher because they undercount their data center emissions specifically, with 97.4% of the gap between Meta’s location-based and official scope 2 number in 2022 being unreported data center-related emissions, and 95.55% of Microsoft’s.Specific data center-related emissions numbers aren’t available for the rest of the firms. However, given that Google and Apple have similar scope 2 business models to Meta and Microsoft, it is likely that the multiple on how much higher their location-based data center emissions are would be similar to the multiple on how much higher their overall location-based scope 2 emissions are.In total, the sum of location-based emissions in this category between 2020 and 2022 was at least 275% higher (or 3.75 times) than the sum of their official figures. Amazon did not provide the Guardian with location-based scope 2 figures for 2020 and 2021, so its official (and probably much lower) numbers were used for this calculation for those years.Third-party data centersBig tech companies also rent a large portion of their data center capacity from third-party data center operators (or “colocation” data centers). According to the Synergy Research Group, large tech companies (or “hyperscalers”) represented 37% of worldwide data center capacity in 2022, with half of that capacity coming through third-party contracts. While this group includes companies other than Google, Amazon, Meta, Microsoft and Apple, it gives an idea of the extent of these firms’ activities with third-party data centers.Those emissions should theoretically fall under scope 3, all emissions a firm is responsible for that can’t be attributed to the fuel or electricity it consumes.When it comes to a big tech firm’s operations, this would encapsulate everything from the manufacturing processes of the hardware it sells (like the iPhone or Kindle) to the emissions from employees’ cars during their commutes to the office.When it comes to data centers, scope 3 emissions include the carbon emitted from the construction of in-house data centers, as well as the carbon emitted during the manufacturing process of the equipment used inside those in-house data centers. It may also include those emissions as well as the electricity-related emissions of third-party data centers that are partnered with.However, whether or not these emissions are fully included in reports is almost impossible to prove. “Scope 3 emissions are hugely uncertain,” said Dietrich. “This area is a mess just in terms of accounting.”According to Dietrich, some third-party data center operators put their energy-related emissions in their own scope 2 reporting, so those who rent from them can put those emissions into their scope 3. Other third-party data center operators put energy-related emissions into their scope 3 emissions, expecting their tenants to report those emissions in their own scope 2 reporting.Additionally, all firms use market-based metrics for these scope 3 numbers, which means third-party data center emissions are also undercounted in official figures.Of the firms that report their location-based scope 3 emissions in the footnotes, only Apple has a large gap between its official scope 3 figure and its location-based scope 3 figure.This is the only sizable reporting gap for a firm that is not data center-related – the majority of Apple’s scope 3 gap is due to Recs being applied towards emissions associated with the manufacturing of hardware (such as the iPhone).Apple does not include transmission and distribution losses or third-party cloud contracts in its location-based scope 3. It only includes those figures in its market-based numbers, under which its third party cloud contracts report zero emissions (offset by Recs). Therefore in both of Apple’s total emissions figures – location-based and market-based – the actual emissions associated with their third party data center contracts are nowhere to be found.”.2025 and beyondEven though big tech hides these emissions, they are due to keep rising. Data centers’ electricity demand is projected to double by 2030 due to the additional load that artificial intelligence poses, according to the Electric Power Research Institute.Google and Microsoft both blamed AI for their recent upticks in market-based emissions.“The relative contribution of AI computing loads to Google’s data centers, as I understood it when I left [in 2022], was relatively modest,” said Chris Taylor, current CEO of utility storage firm Gridstor and former site lead for Google’s data center energy strategy unit. “Two years ago, [AI] was not the main thing that we were worried about, at least on the energy team.”Taylor explained that most of the growth that he saw in data centers while at Google was attributable to growth in Google Cloud, as most enterprises were moving their IT tasks to the firm’s cloud servers.Whether today’s power grids can withstand the growing energy demands of AI is uncertain. One industry leader – Marc Ganzi, the CEO of DigitalBridge, a private equity firm that owns two of the world’s largest third-party data center operators – has gone as far as to say that the data center sector may run out of power within the next two years.And as grid interconnection backlogs continue to pile up worldwide, it may be nearly impossible for even the most well intentioned of companies to get new renewable energy production capacity online in time to meet that demand. This article was amended on 18 September 2024. Apple contacted the Guardian after publication to share that the firm only did partial audits for its location-based scope 3 figure. A previous version of this article erroneously claimed that the gap in Apple’s location-based scope 3 figure was data center-related.

      La differenza tra il consumo misurato su certificati verdi e ilvero consumo dei data center mondiali

    1. You can't become the I HAVE NO IDEA WHAT I'M DOING dog as a professional identity. Don't embrace being a copy-pasta programmer whose chief skill is looking up shit on the internet.

      Similarly, a few years ago I was running into a bunch of people saying stuff like, "Every programmer uses Stack Overflow. Everyone." Which is weird because it definitely had the feel of a sort of proactive defensiveness every time it came up, plus there's the fact that it's not true that every programmer uses Stack Overflow. At the time I kept running into this kind of thing, I had basically never used it, but not for lack of trying or any sense of superiority. Every time I'd landed there the only thing I encountered was low-quality answers and a realization that Stack Overflow just doesn't specialize in the kind of stuff that's useful to me. (In the years since, I've landed there quite a bit more than before, and I have found it useful—but almost never for actual programming...)

    1. Author response:

      The following is the authors’ response to the original reviews.

      eLife assessment

      This study presents valuable findings on the potential of short-movie viewing fMRI protocol to explore the functional and topographical organization of the visual system in awake infants and toddlers. Although the data are compelling given the difficulty of studying this population, the evidence presented is incomplete and would be strengthened by additional analyses to support the authors' claims. This study will be of interest to cognitive neuroscientists and developmental psychologists, especially those interested in using fMRI to investigate brain organisation in pediatric and clinical populations with limited fMRI tolerance.

      We are grateful for the thorough and thoughtful reviews. We have provided point-bypoint responses to the reviewers’ comments, but first, we summarize the major revisions here. We believe these revisions have substantially improved the clarity of the writing and impact of the results.

      Regarding the framing of the paper, we have made the following major changes in response to the reviews:

      (1) We have clarified that our goal in this paper was to show that movie data contains topographic, fine-grained details of the infant visual cortex. In the revision, we now state clearly that our results should not be taken as evidence that movies could replace retinotopy and have reworded parts of the manuscript that could mislead the reader in this regard.

      (2) We have added extensive details to the (admittedly) complex methods to make them more approachable. An example of this change is that we have reorganized the figure explaining the Shared Response Modelling methods to divide the analytic steps more clearly.

      (3) We have clarified the intermediate products contributing to the results by adding 6 supplementary figures that show the gradients for each IC or SRM movie and each infant participant.

      In response to the reviews, we have conducted several major analyses to support our findings further:

      (1) To verify that our analyses can identify fine-grained organization, we have manually traced and labeled adult data, and then performed the same analyses on them. The results from this additional dataset validate that these analyses can recover fine-grained organization of the visual cortex from movie data.

      (2) To further explore how visual maps derived from movies compare to alternative methods, we performed an anatomical alignment control analysis. We show that high-quality maps can be predicted from other participants using anatomical alignment.

      (3) To test the contribution of motion to the homotopy analyses, we regressed out the motion effects in these analyses. We found qualitatively similar results to our main analyses, suggesting motion did not play a substantial role.

      (4) To test the contribution of data quantity to the homotopy analyses, we correlated the amount of movie data collected from each participant with the homotopy results. We did not find a relationship between data quantity and the homotopy results. 

      Public Reviews:

      Reviewer #1 (Public Review):

      Summary:

      Ellis et al. investigated the functional and topographical organization of the visual cortex in infants and toddlers, as evidenced by movie-viewing data. They build directly on prior research that revealed topographic maps in infants who completed a retinotopy task, claiming that even a limited amount of rich, naturalistic movie-viewing data is sufficient to reveal this organization, within and across participants. Generating this evidence required methodological innovations to acquire high-quality fMRI data from awake infants (which have been described by this group, and elsewhere) and analytical creativity. The authors provide evidence for structured functional responses in infant visual cortex at multiple levels of analyses; homotopic brain regions (defined based on a retinotopy task) responded more similarly to one another than to other brain regions in visual cortex during movie-viewing; ICA applied to movie-viewing data revealed components that were identifiable as spatial frequency, and to a lesser degree, meridian maps, and shared response modeling analyses suggested that visual cortex responses were similar across infants/toddlers, as well as across infants/toddlers and adults. These results are suggestive of fairly mature functional response profiles in the visual cortex in infants/toddlers and highlight the potential of movie-viewing data for studying finer-grained aspects of functional brain responses, but further evidence is necessary to support their claims and the study motivation needs refining, in light of prior research.

      Strengths:

      - This study links the authors' prior evidence for retinotopic organization of visual cortex in human infants (Ellis et al., 2021) and research by others using movie-viewing fMRI experiments with adults to reveal retinotopic organization (Knapen, 2021).

      - Awake infant fMRI data are rare, time-consuming, and expensive to collect; they are therefore of high value to the community. The raw and preprocessed fMRI and anatomical data analyzed will be made publicly available.

      We are grateful to the reviewer for their clear and thoughtful description of the strengths of the paper, as well as their helpful outlining of areas we could improve.

      Weaknesses:

      - The Methods are at times difficult to understand and in some cases seem inappropriate for the conclusions drawn. For example, I believe that the movie-defined ICA components were validated using independent data from the retinotopy task, but this was a point of confusion among reviewers. 

      We acknowledge the complexity of the methods and wish to clarify them as best as possible for the reviewers and the readers. We have extensively revised the methods and results sections to help avoid potential misunderstandings. For instance, we have revamped the figure and caption describing the SRM pipeline (Figure 5).

      To answer the stated confusion directly, the ICA components were derived from the movie data and validated on the (completely independent) retinotopy data. There were no additional tasks. The following text in the paper explains this point:

      “To assess the selected component maps, we correlated the gradients (described above) of the task-evoked and component maps. This test uses independent data: the components were defined based on movie data and validated against task-evoked retinotopic maps.” Pg. 11

      In either case: more analyses should be done to support the conclusion that the components identified from the movie reproduce retinotopic maps (for example, by comparing the performance of movie-viewing maps to available alternatives (anatomical ROIs, group-defined ROIs). 

      Before addressing this suggestion, we want to restate our conclusions: features of the retinotopic organization of infant visual cortex could be predicted from movie data. We did not conclude that movie data could ‘reproduce’ retinotopic maps in the sense that they would be a replacement. We recognize that this was not clear in our original manuscript and have clarified this point throughout, including in this section of the discussion:

      “To be clear, we are not suggesting that movies work well enough to replace a retinotopy task when accurate maps are needed. For instance, even though ICA found components that were highly correlated with the spatial frequency map, we also selected some components that turned out to have lower correlations. Without knowing the ground truth from a retinotopy task, there would be no way to weed these out. Additionally, anatomical alignment (i.e., averaging the maps from other participants and anatomically aligning them to a held-out participant) resulted in maps that were highly similar to the ground truth. Indeed, we previously23 found that adult-defined visual areas were moderately similar to infants. While functional alignment with adults can outperform anatomical alignment methods in similar analyses27, here we find that functional alignment is inferior to anatomical alignment. Thus, if the goal is to define visual areas in an infant that lacks task-based retinotopy, anatomical alignment of other participants’ retinotopic maps is superior to using movie-based analyses, at least as we tested it.” Pg. 21

      As per the reviewer’s suggestion and alluded to in the paragraph above, we have created anatomically aligned visual maps, providing an analogous test to the betweenparticipant analyses like SRM. We find that these maps are highly similar to the ground truth. We describe this result in a new section of the results:

      “We performed an anatomical alignment analog of the functional alignment (SRM) approach. This analysis serves as a benchmark for predicting visual maps using taskbased data, rather than movie data, from other participants. For each infant participant, we aggregated all other infant or adult participants as a reference. The retinotopic maps from these reference participants were anatomically aligned to the standard surface template, and then averaged. These averages served as predictions of the maps in the test participant, akin to SRM, and were analyzed equivalently (i.e., correlating the gradients in the predicted map with the gradients in the task-based map). These correlations (Table S4) are significantly higher than for functional alignment (using infants to predict spatial frequency, anatomical alignment > functional alignment: ∆Fisher Z M=0.44, CI=[0.32–0.58], p<.001; using infants to predict meridians, anatomical alignment > functional alignment: ∆Fisher Z M=0.61, CI=[0.47–0.74], p<.001; using adults to predict spatial frequency, anatomical alignment > functional alignment: ∆Fisher Z

      M=0.31, CI=[0.21–0.42], p<.001; using adults to predict meridians, anatomical alignment > functional alignment: ∆Fisher Z M=0.49, CI=[0.39–0.60], p<.001). This suggests that even if SRM shows that movies can be used to produce retinotopic maps that are significantly similar to a participant, these maps are not as good as those that can be produced by anatomical alignment of the maps from other participants without any movie data.” Pg. 16–17

      Also, the ROIs used for the homotopy analyses were defined based on the retinotopic task rather than based on movie-viewing data alone - leaving it unclear whether movie-viewing data alone can be used to recover functionally distinct regions within the visual cortex.

      We agree with the reviewer that our approach does not test whether movie-viewing data alone can be used to recover functionally distinct regions. The goal of the homotopy analyses was to identify whether there was functional differentiation of visual areas in the infant brain while they watch movies. This was a novel question that provides positive evidence that these regions are functionally distinct. In subsequent analyses, we show that when these areas are defined anatomically, rather than functionally, they also show differentiated function (e.g., Figure 2). Nonetheless, our intention was not to use the homotopy analyses to define the regions. We have added text to clarify the goal and novelty of this analysis.

      “Although these analyses cannot define visual maps, they test whether visual areas have different functional signatures.” Pg. 6

      Additionally, even if the goal were to define areas based on homotopy, we believe the power of that analysis would be questionable. We would need to use a large amount of the movie data to define the areas, leaving a low-powered dataset to test whether their function is differentiated by these movie-based areas.

      - The authors previously reported on retinotopic organization of the visual cortex in human infants (Ellis et al., 2021) and suggest that the feasibility of using movie-viewing experiments to recover these topographic maps is still in question. They point out that movies may not fully sample the stimulus parameters necessary for revealing topographic maps/areas in the visual cortex, or the time-resolution constraints of fMRI might limit the use of movie stimuli, or the rich, uncontrolled nature of movies might make them inferior to stimuli that are designed for retinotopic mapping, or might lead to variable attention between participants that makes measuring the structure of visual responses across individuals challenging. This motivation doesn't sufficiently highlight the importance or value of testing this question in infants. Further, it's unclear if/how this motivation takes into account prior research using movie-viewing fMRI experiments to reveal retinotopic organization in adults (e.g., Knapen, 2021). Given the evidence for retinotopic organization in infants and evidence for the use of movie-viewing experiments in adults, an alternative framing of the novel contribution of this study is that it tests whether retinotopic organization is measurable using a limited amount of movie-viewing data (i.e., a methodological stress test). The study motivation and discussion could be strengthened by more attention to relevant work with adults and/or more explanation of the importance of testing this question in infants (is the reason to test this question in infants purely methodological - i.e., as a way to negate the need for retinotopic tasks in subsequent research, given the time constraints of scanning human infants?).

      We are grateful to the reviewer for giving us the opportunity to clarify the innovations of this research. We believe that this research contributes to our understanding of how infants process dynamic stimuli, demonstrates the viability and utility of movie experiments in infants, and highlights the potential for new movie-based analyses (e.g., SRM). We have now consolidated these motivations in the introduction to more clearly motivate this work:

      “The primary goal of the current study is to investigate whether movie-watching data recapitulates the organization of visual cortex. Movies drive strong and naturalistic responses in sensory regions while minimizing task demands12, 13, 24 and thus are a proxy for typical experience. In adults, movies and resting-state data have been used to characterize the visual cortex in a data-driven fashion25–27. Movies have been useful in awake infant fMRI for studying event segmentation28, functional alignment29, and brain networks30. However, this past work did not address the granularity and specificity of cortical organization that movies evoke. For example, movies evoke similar activity in infants in anatomically aligned visual areas28, but it remains unclear whether responses to movie content differ between visual areas (e.g., is there more similarity of function within visual areas than between31). Moreover, it is unknown whether structure within visual areas, namely visual maps, contributes substantially to visual evoked activity. Additionally, we wish to test whether methods for functional alignment can be used with infants. Functional alignment finds a mapping between participants using functional activity – rather than anatomy – and in adults can improve signal-to-noise, enhance across participant prediction, and enable unique analyses27, 32–34.” Pg. 3-4

      Furthermore, the introduction culminates in the following statement on what the analyses will tell us about the nature of movie-driven activity in infants:

      “These three analyses assess key indicators of the mature visual system: functional specialization between areas, organization within areas, and consistency between individuals.” Pg. 5

      Furthermore, in the discussion we revisit these motivations and elaborate on them further:

      [Regarding homotopy:] “This suggests that visual areas are functionally differentiated in infancy and that this function is shared across hemispheres31.” Pg. 19

      [Regarding ICA:] “This means that the retinotopic organization of the infant brain accounts for a detectable amount of variance in visual activity, otherwise components resembling these maps would not be discoverable.” Pg. 19–20

      [Regarding SRM:] “This is initial evidence that functional alignment may be useful for enhancing signal quality, like it has in adults27,32,33, or revealing changing function over development45.” Pg. 21

      Additionally, we have expanded our discussion of relevant work that uses similar methods such as the excellent research from Knapen (2021) and others:

      “In adults, movies and resting-state data have been used to characterize the visual cortex in a data-driven fashion25-27.” Pg. 4

      “We next explored whether movies can reveal fine-grained organization within visual areas by using independent components analysis (ICA) to propose visual maps in individual infant brains25,26,35,42,43.” Pg. 9

      Reviewer #2 (Public Review):

      Summary:

      This manuscript shows evidence from a dataset with awake movie-watching in infants, that the infant brain contains areas with distinct functions, consistent with previous studies using resting state and awake task-based infant fMRI. However, substantial new analyses would be required to support the novel claim that movie-watching data in infants can be used to identify retinotopic areas or to capture within-area functional organization.

      Strengths:

      The authors have collected a unique dataset: the same individual infants both watched naturalistic animations and a specific retinotopy task. These data position the authors to test their novel claim, that movie-watching data in infants can be used to identify retinotopic areas.

      Weaknesses:

      To claim that movie-watching data can identify retinotopic regions, the authors should provide evidence for two claims:

      - Retinotopic areas defined based only on movie-watching data, predict retinotopic responses in independent retinotopy-task-driven data.

      - Defining retinotopic areas based on the infant's own movie-watching response is more accurate than alternative approaches that don't require any movie-watching data, like anatomical parcellations or shared response activation from independent groups of participants.

      We thank the reviewer for their comments. Before addressing their suggestions, we wish to clarify that we do not claim that movie data can be used to identify retinotopic areas, but instead that movie data captures components of the within and between visual area organization as defined by retinotopic mapping. We recognize that this was not clear in our original manuscript and have clarified this point throughout, including in this section of the discussion:

      “To be clear, we are not suggesting that movies work well enough to replace a retinotopy task when accurate maps are needed. For instance, even though ICA found components that were highly correlated with the spatial frequency map, we also selected some components that turned out to have lower correlations. Without knowing the ground truth from a retinotopy task, there would be no way to weed these out. Additionally, anatomical alignment (i.e., averaging the maps from other participants and anatomically aligning them to a held-out participant) resulted in maps that were highly similar to the ground truth. Indeed, we previously23 found that adult-defined visual areas were moderately similar to infants. While functional alignment with adults can outperform anatomical alignment methods in similar analyses27, here we find that functional alignment with infants is inferior to anatomical alignment. Thus, if the goal is to define visual areas in an infant that lacks task-based retinotopy, anatomical alignment of other participants’ retinotopic maps is superior to using movie-based analyses, at least as we tested it.” Pg. 21

      In response to the reviewer’s suggestion, we compare the maps identified by SRM to the averaged, anatomically aligned maps from infants. We find that these maps are highly similar to the task-based ground truth and we describe this result in a new section:

      “We performed an anatomical alignment analog of the functional alignment (SRM) approach. This analysis serves as a benchmark for predicting visual maps using taskbased data, rather than movie data, from other participants. For each infant participant, we aggregated all other infant or adult participants as a reference. The retinotopic maps from these reference participants were anatomically aligned to the standard surface template, and then averaged. These averages served as predictions of the maps in the test participant, akin to SRM, and were analyzed equivalently (i.e., correlating the gradients in the predicted map with the gradients in the task-based map). These correlations (Table S4) are significantly higher than for functional alignment (using infants to predict spatial frequency, anatomical alignment < functional alignment: ∆Fisher Z M=0.44, CI=[0.32–0.58], p<.001; using infants to predict meridians, anatomical alignment < functional alignment: ∆Fisher Z M=0.61, CI=[0.47–0.74], p<.001; using adults to predict spatial frequency, anatomical alignment < functional alignment: ∆Fisher Z

      M=0.31, CI=[0.21–0.42], p<.001; using adults to predict meridians, anatomical alignment < functional alignment: ∆Fisher Z M=0.49, CI=[0.39–0.60], p<.001). This suggests that even if SRM shows that movies can be used to produce retinotopic maps that are significantly similar to a participant, these maps are not as good as those that can be produced by anatomical alignment of the maps from other participants without any movie data.” Pg. 16–17

      Note that we do not compare the anatomically aligned maps with the ICA maps statistically. This is because these analyses are not comparable: ICA is run within-participant whereas anatomical alignment is necessarily between-participant — either infant or adults. Nonetheless, an interested reader can refer to the Table where we report the results of anatomical alignment and see that anatomical alignment outperforms ICA in terms of the correlation between the predicted and task-based maps.

      Both of these analyses are possible, using the (valuable!) data that these authors have collected, but these are not the analyses that the authors have done so far. Instead, the authors report the inverse of (1): regions identified by the retinotopy task can be used to predict responses in the movies. The authors report one part of (2), shared responses from other participants can be used to predict individual infants' responses in the movies, but they do not test whether movie data from the same individual infant can be used to make better predictions of the retinotopy task data, than the shared response maps.

      So to be clear, to support the claims of this paper, I recommend that the authors use the retinotopic task responses in each individual infant as the independent "Test" data, and compare the accuracy in predicting those responses, based on:

      -  The same infant's movie-watching data, analysed with MELODIC, when blind experimenters select components for the SF and meridian boundaries with no access to the ground-truth retinotopy data.

      -  Anatomical parcellations in the same infant.

      -  Shared response maps from groups of other infants or adults.

      -  (If possible, ICA of resting state data, in the same infant, or from independent groups of infants).

      Or, possibly, combinations of these techniques.

      If the infant's own movie-watching data leads to improved predictions of the infant's retinotopic task-driven response, relative to these existing alternatives that don't require movie-watching data from the same infant, then the authors' main claim will be supported.

      These are excellent suggestions for additional analyses to test the suitability for moviebased maps to replace task-based maps. We hope it is now clear that it was never our intention to claim that movie-based data could replace task-based methods. We want to emphasize that the discoveries made in this paper — that movies evoke fine-grained organization in infant visual cortex — do not rely on movie-based maps being better than alternative methods for producing maps, such as the newly added anatomical alignment.

      The proposed analysis above solves a critical problem with the analyses presented in the current manuscript: the data used to generate maps is identical to the data used to validate those maps. For the task-evoked maps, the same data are used to draw the lines along gradients and then test for gradient organization. For the component maps, the maps are manually selected to show the clearest gradients among many noisy options, and then the same data are tested for gradient organization. This is a double-dipping error. To fix this problem, the data must be split into independent train and test subsets.

      We appreciate the reviewer’s concern; however, we believe it is a result of a miscommunication in our analytic strategy. We have now provided more details on the analyses to clarify how double-dipping was avoided. 

      To summarize, a retinotopy task produced visual maps that were used to trace both area boundaries and gradients across the areas. These data were then fixed and unchanged, and we make no claims about the nature of these maps in this paper, other than to treat them as the ground truth to be used as a benchmark in our analyses. The movie data, which are collected independently from the same infant in the session, used the boundaries from the retinotopy task (in the case of homotopy) or were compared with the maps from the retinotopy task (in the case of ICA and SRM). In other words, the statement that “the data used to generate maps is identical to the data used to validate those maps” is incorrect because we generated the maps with a retinotopy task and validated the maps with the movie data. This means no double dipping occurred.

      Perhaps a cause of the reviewer’s interpretation is that the gradients used in the analysis are not clearly described. We now provide this additional description:  “Using the same manually traced lines from the retinotopy task, we measured the intensity gradients in each component from the movie-watching data. We can then use the gradients of intensity in the retinotopy task-defined maps as a benchmark for comparison with the ICA-derived maps.” Pg. 10

      Regarding the SRM analyses, we take great pains to avoid the possibility of data contamination. To emphasize how independent the SRM analysis is, the prediction of the retinotopic map from the test participant does not use their retinotopy data at all; in fact, the predicted maps could be made before that participant’s retinotopy data were ever collected. To make this prediction for a test participant, we need to learn the inversion of the SRM, but this only uses the movie data of the test participant. Hence, there is no double-dipping in the SRM analyses. We have elaborated on this point in the revision, and we remade the figure and its caption to clarify this point:

      We also have updated the description of these results to emphasize how double-dipping was avoided:

      “We then mapped the held-out participant's movie data into the learned shared space without changing the shared space (Figure 5c). In other words, the shared response model was learned and frozen before the held-out participant’s data was considered.

      This approach has been used and validated in prior SRM studies45.” Pg. 14

      The reviewer suggests that manually choosing components from ICA is double-dipping. Although the reviewer is correct that the manual selection of components in ICA means that the components chosen ought to be good candidates, we are testing whether those choices were good by evaluating those components against the task-based maps that were not used for the ICA. Our statistical analyses evaluate whether the components chosen were better than the components that would have been chosen by random chance. Critically: all decisions about selecting the components happen before the components are compared to the retinotopic maps. Hence there is no double-dipping in the selection of components, as the choice of candidate ICA maps is not informed by the ground-truth retinotopic maps. We now clarify what the goal of this process is in the results:

      “Success in this process requires that 1) retinotopic organization accounts for sufficient variance in visual activity to be identified by ICA and 2) experimenters can accurately identify these components.” Pg. 10

      The reviewer also alludes to a concern that the researcher selecting the maps was not blind to the ground-truth retinotopic maps from participants and this could have influenced the results. In such a scenario, the researcher could have selected components that have the gradients of activity in the places that the infant has as ground truth. The researcher who made the selection of components (CTE) is one of the researchers who originally traced the areas in the participants approximately a year prior to the identification of ICs. The researcher selecting the components didn’t use the ground-truth retinotopic maps as reference, nor did they pay attention to the participant IDs when sorting the IC components. Indeed, they weren’t trying to find participants-specific maps per se, but rather aimed to find good candidate retinotopic maps in general. In the case of the newly added adult analyses, the ICs were selected before the retinotopic mapping was reviewed or traced; hence, no knowledge about the participant-specific ground truth could have influenced the selection of ICs. Even with this process from adults, we find results of comparable strength as we found in infants, as shown in Figure S3. Nonetheless, there is a possibility that this researcher’s previous experience of tracing the infant maps could have influenced their choice of components at the participant-specific level. If so, it was a small effect since the components the researcher selected were far from the best possible options (i.e., rankings of the selected components averaged in the 64th percentile for spatial frequency maps and the 68th percentile for meridian maps). We believe all reasonable steps were taken to mitigate bias in the selection of ICs.

      Reviewer #3 (Public Review):

      The manuscript reports data collected in awake toddlers recording BOLD while watching videos. The authors analyse the BOLD time series using two different statistical approaches, both very complex but do not require any a priori determination of the movie features or contents to be associated with regressors. The two main messages are that 1) toddlers have occipital visual areas very similar to adults, given that an SRM model derived from adult BOLD is consistent with the infant brains as well; 2) the retinotopic organization and the spatial frequency selectivity of the occipital maps derived by applying correlation analysis are consistent with the maps obtained by standard and conventional mapping.

      Clearly, the data are important, and the author has achieved important and original results. However, the manuscript is totally unclear and very difficult to follow; the figures are not informative; the reader needs to trust the authors because no data to verify the output of the statistical analysis are presented (localization maps with proper statistics) nor so any validation of the statistical analysis provided. Indeed what I think that manuscript means, or better what I understood, may be very far from what the authors want to present, given how obscure the methods and the result presentation are.

      In the present form, this reviewer considers that the manuscript needs to be totally rewritten, the results presented each technique with appropriate validation or comparison that the reader can evaluate.

      We are grateful to the reviewer for the chance to improve the paper. We have broken their review into three parts: clarification of the methods, validation of the analyses, and enhancing the visualization.

      Clarification of the methods

      We acknowledge that the methods we employed are complex and uncommon in many fields of neuroimaging. That said, numerous papers have conducted these analyses on adults (Beckman et al., 2005; Butt et al., 2015; Guntupalli et al., 2016; Haak & Beckman, 2018; Knapen, 2021; Lu et al., 2017) and non-human primates (Arcaro & Livingstone, 2017; Moeller et al., 2009). We have redoubled our efforts in the revision to make the methods as clear as possible, expanding on the original text and providing intuitions where possible. These changes have been added throughout and are too vast in number to repeat here, especially without context, but we hope that readers will have an easier time following the analyses now. 

      Additionally, we updated Figures 3 and 5 in which the main ICA and SRM analyses are described. For instance, in Figure 3’s caption we now add details about how the gradient analyses were performed on the components: 

      “We used the same lines that were manually traced on the task-evoked map to assess the change in the component’s response. We found a monotonic trend within area from medial to lateral, just like we see in the ground truth.” Pg. 11

      Regarding Figure 5, we reconsidered the best way to explain the SRM analyses and decided it would be helpful to partition the diagram into steps, reflecting the analytic process. These updates have been added to Figure 5, and the caption has been updated accordingly.

      We hope that these changes have improved the clarity of the methods. For readers interested in learning more, we encourage them to either read the methods-focused papers that debut the analyses (e.g., Chen et al., 2015), read the papers applying the methods (e.g., Guntupalli et al., 2016), or read the annotated code we publicly release which implements these pipelines and can be used to replicate the findings.

      Validation of the analyses

      One of the requests the reviewer makes is to validate our analyses. Our initial approach was to lean on papers that have used these methods in adults or primates (e.g., Arcaro,

      & Livingstone, 2017; Beckman et al., 2005; Butt et al., 2015; Guntupalli et al., 2016; Haak & Beckman, 2018; Knapen, 2021; Moeller et al., 2009) where the underlying organization and neurophysiology is established. However, we have made changes to these methods that differ from their original usage (e.g., we used SRM rather than hyperalignment, we use meridian mapping rather than traveling wave retinotopy, we use movie-watching data rather than rest). Hence, the specifics of our design and pipeline warrant validation. 

      To add further validation, we have rerun the main analyses on an adult sample. We collected 8 adult participants who completed the same retinotopy task and a large subset of the movies that infants saw. These participants were run under maximally similar conditions to infants (i.e., scanned using the same parameters and without the top of the head-coil) and were preprocessed using the same pipeline. Given that the relationship between adult visual maps and movie-driven (or resting-state) analyses has been shown in many studies (Beckman et al., 2005; Butt et al., 2015; Guntupalli et al., 2016; Haak & Beckman, 2018; Knapen, 2021; Lu et al., 2017), these adult data serve as a validation of our analysis pipeline. These adult participants were included in the original manuscript; however, they were previously only used to support the SRM analyses (i.e., can adults be used to predict infant visual maps). The adult results are described before any results with infants, as a way to engender confidence. Moreover, we have provided new supplementary figures of the adult results that we hope will be integrated with the article when viewing it online, such that it will be easy to compare infant and adult results, as per the reviewer’s request. 

      As per the figures and captions below, the analyses were all successful with the adult participants: 1) Homotopic correlations are higher than correlations between comparable areas in other streams or areas that are more distant within stream. 2) A multidimensional scaling depiction of the data shows that areas in the dorsal and ventral stream are dissimilar. 3) Using independent components analysis on the movie data, we identified components that are highly correlated with the retinotopy task-based spatial frequency and meridian maps. 4) Using shared response modeling on the movie data, we predicted maps that are highly correlated with the retinotopy task-based spatial frequency and meridian maps.

      These supplementary analyses are underpowered for between-group comparisons, so we do not statistically compare the results between infants and adults. Nonetheless, the pattern of adult results is comparable overall to the infant results. 

      We believe these adult results provide a useful validation that the infant analyses we performed can recover fine-grained organization.

      The reviewer raises an additional concern about the lack of visualization of the results. We recognize that the plots of the summary statistics do not provide information about the intermediate analyses. Indeed, we think the summary statistics can understate the degree of similarity between the components or predicted visual maps and the ground truth. Hence, we have added 6 new supplementary figures showing the intensity gradients for the following analyses: 1. spatial frequency prediction using ICA, 2. meridian prediction using ICA, 3. spatial frequency prediction using infant SRM, 4.

      meridian prediction using infant SRM, 5. spatial frequency prediction using adult SRM, and 6. meridian prediction using adult SRM.

      We hope that these visualizations are helpful. It is possible that the reviewer wishes us to also visually present the raw maps from the ICA and SRM, akin to what we show in Figure 3A and 3B. We believe this is out of scope of this paper: of the 1140 components that were identified by ICA, we selected 36 for spatial frequency and 17 for meridian maps. We also created 20 predicted maps for spatial frequency and 20 predicted meridian maps using SRM. This would result in the depiction of 93 subfigures, requiring at least 15 new full-page supplementary figures to display with adequate resolution. Instead, we encourage the reader to access this content themselves: we have made the code to recreate the analyses publicly available, as well as both the raw and preprocessed data for these analyses, including the data for each of these selected maps.

      Recommendations for the authors:

      Reviewer #1 (Recommendations For The Authors):

      (1) As mentioned in the public review, the authors should consider incorporating relevant adult fMRI research into the Introduction and explain the importance of testing this question in infants.

      Our public response describes the several citations to relevant adult research we have added, and have provided further motivation for the project.

      (2) The authors should conduct additional analyses to support their conclusion that movie data alone can generate accurate retinotopic maps (i.e., by comparing this approach to other available alternatives).

      We have clarified in our public response that we did not wish to conclude that movie data alone can generate accurate retinotopic maps, and have made substantial edits to the text to emphasize this. Thus, because this claim is already not supported by our analyses, we do not think it is necessary to test it further.

      (3) The authors should re-do the homotopy analyses using movie-defined ROIs (i.e., by splitting the movie-viewing data into independent folds for functional ROI definition and analyses).

      As stated above, defining ROIs based on the movie content is not the intended goal of this project. Even if that were the general goal, we do not believe that it would be appropriate to run this specific analysis with the data we collected. Firstly, halving the data for ROI definition (e.g., using half the movie data to identify and trace areas, and then use those areas in the homotopy analysis to run on the other half of data) would qualitatively change the power of the analyses described here. Secondly, we would be unable to define areas beyond hV4/V3AB with confidence, since our retinotopic mapping only affords specification of early visual cortex. Thus we could not conduct the MDS analyses shown in Figure 2.

      (4) If the authors agree that a primary contribution of this study and paper is to showcase what is possible to do with a limited amount of movie-viewing data, then they should make it clearer, sooner, how much usable movie data they have from infants. They could also consider conducting additional analyses to determine the minimum amount of fMRI data necessary to reveal the same detailed characteristics of functional responses in the visual cortex.

      We agree it would be good to highlight the amount of movie data used. When the infant data is first introduced in the results section, we now state the durations:

      “All available movies from each session were included (Table S2), with an average duration of 540.7s (range: 186--1116s).” Pg. 5

      Additionally, we have added a homotopy analysis that describes the contribution of data quantity to the results observed. We compare the amount of data collected with the magnitude of same vs. different stream effect (Figure 1B) and within stream distance effect (Figure 1C). We find no effect of movie duration in the sample we tested, as reported below:

      “We found no evidence that the variability in movie duration per participant correlated with this difference [of same stream vs. different stream] (r=0.08, p=.700).” Pg. 6-7

      “There was no correlation between movie duration and the effect (Same > Adjacent: r=-

      0.01, p=.965, Adjacent > Distal: r=-0.09, p=.740).” Pg. 7

      (5) If any of the methodological approaches are novel, the authors should make this clear. In particular, has the approach of visually inspecting and categorizing components generated from ICA and movie data been done before, in adults/other contexts?

      The methods we employed are similar to others, as described in the public review.

      However, changes were necessary to apply them to infant samples. For instance, Guntupalli et al. (2016) used hyperalignment to predict the visual maps of adult participants, whereas we use SRM. SRM and hyperalignment have the same goal — find a maximally aligned representation between participants based on brain function — but their implementation is different. The application of functional alignment to infants is novel, as is their use in movie data that is relatively short by comparison to standard adult data. Indeed, this is the most thorough demonstration that SRM — or any functional alignment procedure — can be usefully applied to infant data, awake or sleeping. We have clarified this point in the discussion.

      “This is initial evidence that functional alignment may be useful for enhancing signal quality, like it has in adults27,32,33, or revealing changing function over development45, which may prove especially useful for infant fMRI52.” Pg. 21

      (6) The authors found that meridian maps were less identifiable from ICA and movie data and suggest that this may be because these maps are more susceptible to noise or gaze variability. If this is the case, you might predict that these maps are more identifiable in adult data. The authors could consider running additional analyses with their adult participants to better understand this result.

      As described in the manuscript, we hypothesize that meridian maps are more difficult to identify than spatial frequency maps because meridian maps are a less smooth, more fine-grained map than spatial frequency. Indeed, it has previously been reported (Moeller et al., 2009) that similar procedures can result in meridian maps that are constituted by multiple independent components (e.g., a component sensitive to horizontal orientations, and a separate component sensitive to vertical components). Nonetheless, we have now conducted the ICA procedure on adult participants and again find it is easier to identify spatial frequency components compared to meridian maps, as reported in the public review.

      Minor corrections:

      (1) Typo: Figure 3 title: "Example retintopic task vs. ICA-based spatial frequency maps.".

      Fixed

      (2) Given the age range of the participants, consider using "infants and toddlers"? (Not to diminish the results at all; on the contrary, I think it is perhaps even more impressive to obtain awake fMRI data from ~1-2-year-olds). Example: Figure 3 legend: "A) Spatial frequency map of a 17.1-monthold infant.".

      We agree with the reviewer that there is disagreement about the age range at which a child starts being considered a toddler. We have changed the terms in places where we refer to a toddler in particular (e.g., the figure caption the reviewer highlights) and added the phrase “infants and toddlers” in places where appropriate. Nonetheless, we have kept “infants” in some places, particularly those where we are comparing the sample to adults. Adding “and toddlers” could imply three samples being compared which would confuse the reader.

      (3) Figure 6 legend: The following text should be omitted as there is no bar plot in this figure: "The bar plot is the average across participants. The error bar is the standard error across participants.".

      Fixed

      (4) Table S1 legend: Missing first single quote: Runs'.

      Fixed

      Reviewer #2 (Recommendations For The Authors):

      I request that this paper cite more of the existing literature on the fMRI of human infants and toddlers using task-driven and resting-state data. For example, early studies by (first authors) Biagi, Dehaene-Lambertz, Cusack, and Fransson, and more recent studies by Chen, Cabral, Truzzi, Deen, and Kosakowski.

      We have added several new citations of recent task-based and resting state studies to the second sentence of the main text:

      “Despite the recent growth in infant fMRI1-6, one of the most important obstacles facing this research is that infants are unable to maintain focus for long periods of time and struggle to complete traditional cognitive tasks7.”

      Reviewer #3 (Recommendations For The Authors):

      In the following, I report some of my main perplexities, but many more may arise when the material is presented more clearly.

      The age of the children varies from 5 months to about 2 years. While the developmental literature suggests that between 1 and 2 years children have a visual system nearly adult-like, below that age some areas may be very immature. I would split the sample and perhaps attempt to validate the adult SRM model with the youngest children (and those can be called infants).

      We recognize the substantial age variability in our sample, which is why we report participant-specific data in our figures. While splitting up the data into age bins might reveal age effects, we do not think we can perform adequately powered null hypothesis testing of the age trend. In order to investigate the contribution of age, larger samples will be needed. That said, we can see from the data that we have reported that any effect of age is likely small. To elaborate: Figures 4 and 6 report the participant-specific data points and order the participants by age. There are no clear linear trends in these plots, thus there are no strong age effects.

      More broadly, we do not think there is a principled way to divide the participants by age. The reviewer suggests that the visual system is immature before the first year of life and mature afterward; however, such claims are the exact motivation for the type of work we are doing here, and the verdict is still out. Indeed, the conclusion of our earlier work reporting retinotopy in infants (Ellis et al., 2021) suggests that the organization of the early visual cortex in infants as young as 5 months — the youngest infant in our sample — is surprisingly adult-like.

      The title cannot refer to infants given the age span.

      There is disagreement in the field about the age at which it is appropriate to refer to children as infants. In this paper, and in our prior work, we followed the practice of the most attended infant cognition conference and society, the International Congress of Infant Studies (ICIS), which considers infants as those aged between 0-3 years old, for the purposes of their conference. Indeed, we have never received this concern across dozens of prior reviews for previous papers covering a similar age range. That said, we understand the spirit of the reviewer’s comment and now refer to the sample as “infants and toddlers” and to older individuals in our sample as “toddlers” wherever it is appropriate (the younger individuals would fairly be considered “infants” under any definition).

      Figure 1 is clear and an interesting approach. Please also show the average correlation maps on the cortical surface.

      While we would like to create a figure as requested, we are unsure how to depict an area-by-area correlation map on the cortical surface. One option would be to generate a seed-based map in which we take an area and depict the correlation of that seed (e.g., vV1) with all other voxels. This approach would result in 8 maps for just the task-defined areas, and 17 maps for anatomically-defined areas. Hence, we believe this is out of scope of this paper, but an interested reader could easily generate these maps from the data we have released.

      Figure 2 results are not easily interpretable. Ventral and dorsal V1-V3 areas represent upper or lower VF respectively. Higher dorsal and ventral areas represent both upper and lower VF, so we should predict an equal distance between the two streams. Again, how can we verify that it is not a result of some artifacts?

      In adults, visual areas differ in their functional response properties along multiple dimensions, including spatial coding. The dorsal/ventral stream hypothesis is derived from the idea that areas in each stream support different functions, independent of spatial coding. The MDS analysis did not attempt to isolate the specific contribution of spatial representations of each area but instead tested the similarity of function that is evoked in naturalistic viewing. Other covariance-based analyses specifically isolate the contribution of spatial representations (Haak et al., 2013); however, they use a much more constrained analysis than what was implemented here. The fact that we find broad differentiation of dorsal and ventral visual areas in infants is consistent with adults (Haak & Beckman, 2018) and neonate non-human primates (Arcaro & Livingstone, 2017). 

      Nonetheless, we recognize that we did not mention the differences in visual field properties across areas and what that means. If visual field properties alone drove the functional response then we would expect to see a clustering of areas based on the visual field they represent (e.g., hV4 and V3AB should have similar representations). Since we did not see that, and instead saw organization by visual stream, the result is interesting and thus warrants reporting. We now mention this difference in visual fields in the manuscript to highlight the surprising nature of the result.

      “This separation between streams is striking when considering that it happens despite differences in visual field representations across areas: while dorsal V1 and ventral V1 represent the lower and upper visual field, respectively, V3A/B and hV4 both have full visual field maps. These visual field representations can be detected in adults41; however, they are often not the primary driver of function39. We see that in infants too: hV4 and V3A/B represent the same visual space yet have distinct functional profiles.” Pg. 8

      The reviewer raises a concern that the MDS result may be spurious and caused by noise. Below, we present three reasons why we believe these results are not accounted for by artifacts but instead reflect real functional differentiation in the visual cortex. 

      (1) Figure 2 is a visualization of the similarity matrix presented in Figure S1. In Figure S1, we report the significance testing we performed to confirm that the patterns differentiating dorsal and ventral streams — as well as adjacent areas from distal areas — are statistically reliable across participants. If an artifact accounted for the result then it would have to be a kind of systematic noise that is consistent across participants.

      (2) One of the main sources of noise (both systematic and non-systematic) with infant fMRI is motion. Homotopy is a within-participant analysis that could be biased by motion. To assess whether motion accounts for the results, we took a conservative approach of regressing out the framewise motion (i.e., how much movement there is between fMRI volumes) from the comparisons of the functional activity in regions. Although the correlations numerically decreased with this procedure, they were qualitatively similar to the analysis that does not regress out motion:

      “Additionally, if we control for motion in the correlation between areas --- in case motion transients drive consistent activity across areas --- then the effects described here are negligibly different (Figure S5).” Pg. 7

      (3) We recognize that despite these analyses, it would be helpful to see what this pattern looks like in adults where we know more about the visual field properties and the function of dorsal and ventral streams. This has been done previously (e.g., Haak & Beckman, 2018), but we have now run those analyses on adults in our sample, as described in the public review. As with infants, there are reliable differences in the homotopy between streams (Figure S1). The MDS results show that the adult data was more complex than the infant data, since it was best described by 3 dimensions rather than 2. Nonetheless, there is a rotation of the MDS such that the structure of the ventral and dorsal streams is also dissociable. 

      Figure 3 also raises several alternative interpretations. The spatial frequency component in B has strong activity ONLY at the extreme border of the VF and this is probably the origin of the strong correlation. I understand that it is only one subject, but this brings the need to show all subjects and to report the correlation. Also, it is important to show the putative average ICA for retinotopy and spatial frequencies across subjects and for adults. All methods should be validated on adults where we have clear data for retinotopy and spatial frequency.

      The reviewer notes that the component in Figure 3 shows strong negative response in the periphery. It is often the case, as reported elsewhere (Moeller et al., 2009), that ICA extracts portions of visual maps. To make a full visual map would require combining components into a composite (e.g., a component that has a high response in the periphery and another component that has a high response in the fovea). If we were to claim that this component, or others like it, could replace the need for retinotopic mapping, then we would want to produce these composite maps; however, our conclusion in this project is that the topographic information of retinotopic maps manifest in individual components of ICA. For this purpose, the analysis we perform adequately assesses this topography.

      Regarding the request to show the results for all subjects, we address this in the public response and repeat it here briefly: we have added 6 new figures to show results akin to Figure 3C and D. It is impractical to show the equivalent of Figure 3A and B for all participants, yet we do release the data necessary to see to visualize these maps easily.

      Finally, the reviewer suggests that we validate the analyses on adult participants. As shown in Figure S3 and reported in the public response, we now run these analyses on adult participants and observe qualitatively similar results to infants.

      How much was the variation in the presumed spatial frequency map? Is it consistent with the acuity range? 5-month-old infants should have an acuity of around 10c/deg, depending on the mean luminance of the scene.

      The reviewer highlights an important weakness of conducting ICA: we cannot put units on the degree of variation we see in components. We now highlight this weakness in the discussion:

      “Another limitation is that ICA does not provide a scale to the variation: although we find a correlation between gradients of spatial frequency in the ground truth and the selected component, we cannot use the component alone to infer the spatial frequency selectivity of any part of cortex. In other words, we cannot infer units of spatial frequency sensitivity from the components alone.” Pg. 20

      Figure 5 pipeline is totally obscure. I presumed that I understood, but as it is it is useless. All methods should be clearly described, and the intermediate results should be illustrated in figures and appropriately discussed. Using such blind analyses in infants in principle may not be appropriate and this needs to be verified. Overall all these techniques rely on correlation activities that are all biased by head movement, eye movement, and probably the dummy sucking. All those movements need to be estimated and correlated with the variability of the results. It is a strong assumption that the techniques should work in infants, given the presence of movements.

      We recognize that the SRM methods are complex. Given this feedback, we remade Figure 5 with explicit steps for the process and updated the caption (as reported in the public review).

      Regarding the validation of these methods, we have added SRM analyses from adults and find comparable results. This means that using these methods on adults with comparable amounts of data as what we collected from infants can predict maps that are highly similar to the real maps. Even so, it is not a given that these methods are valid in infants. We present two considerations in this regard. 

      First, as part of the SRM analyses reported in the manuscript, we show that control analyses are significantly worse than the real analyses (indicated by the lines on Figure 6). To clarify the control analysis: we break the mapping (i.e., flip the order of the data so that it is backwards) between the test participant and the training participants used to create the SRM. The fact that this control analysis is significantly worse indicates that SRM is learning meaningful representations that matter for retinotopy. 

      Second, we believe that this paper is a validation of SRM for infants. Infant fMRI is a nascent field and SRM has the potential to increase the signal quality in this population. We hope that readers will see these analyses as a proof of concept that SRM can be used in their work with infants. We have stated this contribution in the paper now.

      “Additionally, we wish to test whether methods for functional alignment can be used with infants. Functional alignment finds a mapping between participants using functional activity -- rather than anatomy -- and in adults can improve signal-to-noise, enhance across participant prediction, and enable unique analyses27,32-34.” Pg. 4

      “This is initial evidence that functional alignment may be useful for enhancing signal quality, like it has in adults27,32,33, or revealing changing function over development45.” Pg. 21

      Regarding the reviewer’s concern that motion may bias the results, we wish to emphasize the nature of the analyses being conducted here: we are using data from a group of participants to predict the neural responses in a held-out participant. For motion to explain consistency between participants, the motion would need to be timelocked across participants. Even if motion was time-locked during movie watching, motion will impair the formation of an adequate model that can contain retinotopic information. Thus, motion should only hurt the ability for a shared response to be found that can be used for predicting retinotopic maps. Hence, the results we observed are despite motion and other sources of noise.

      What is M??? is it simply the mean value??? If not, how it is estimated?

      M is an abbreviation for mean. We have now expanded the abbreviation the first time we use it.

      Figure 6 should be integrated with map activity where the individual area correlation should be illustrated. Probably fitting SMR adult works well for early cortical areas, but not for more ventral and associative, and the correlation should be evaluated for the different masks.

      With the addition of plots showing the gradients for each participant and each movie (Figures S10–S13) we hope we have addressed this concern. We additionally want to clarify that the regions we tested in the analysis in Figure 6 are only the early visual areas V1, V2, V3, V3A/B, and hV4. The adult validation analyses show that SRM works well for predicting the visual maps in these areas. Nonetheless, it is an interesting question for future research with more extensive retinotopic mapping in infants to see if SRM can predict maps beyond extrastriate cortex.

      Occipital masks have never been described or shown.

      The occipital mask is from the MNI probabilistic structural atlas (Mazziotta et al., 2001), as reported in the original version and is shared with the public data release. We have added the additional detail that the probabilistic atlas is thresholded at 0% in order to be liberally inclusive. 

      “We used the occipital mask from the MNI structural atlas63 in standard space -- defined liberally to include any voxel with an above zero probability of being labelled as the occipital lobe -- and used the inverted transform to put it into native functional space.” Pg. 27–28

      Methods lack the main explanation of the procedures and software description.

      We hope that the additions we have made to address this reviewer’s concerns have provided better explanations for our procedures. Additionally, as part of the data and code release, we thoroughly explain all of the software needed to recreate the results we have observed here.

    1. Norman Kelly analyzes the rap music industry asan extension of colonial economic structures that exploit African Americans. Accordingto Kelly, the white-owned music industry has agency over the content of hip hop becausethey control the apparatus of distribution and the means of production. Since blacks failedto develop a viable alternative to corporate music production, when hip hop becamecommercialized, black artists lost their creative control over hip hop to the marketplace

      I never really thought about the music being some sort of economic strategy for economic dominance and power. After reading this part I realize that it has now become a chain of reactions. Black artist create their art, but don't have the resources needed to produce their music, thus forcing them to rely on the individuals that can produce their music and provide connections. The taking advantage of colored artist truly has become just another white-mans game and it's interesting to see how art has now become a business deal.

    1. And when you’re part of a large, multi-generational Italian-American family with roots in the same city for hundreds of years, you start to collect not just your own things but all of the things from all of the relatives who’ve passed over the years. Because, you know, “antiques.”

      I love how this sentence was structured. It's very descriptive and comical in describing this idea that "everything has value."

    1. Welcome back.

      In this lesson, I want to talk about network address translation known as NAT.

      NAT is used within home networks, business networks and cloud environments such as AWS.

      If you have a thorough understanding of NAT and how it works, it will make using any type of networking including AWS so much easier.

      Now I want to keep this video as brief and efficient as possible to let you jump in and take a look at exactly what NAT is and how it works.

      So NAT is a process which is designed to address the growing shortage of IP version 4 addresses.

      IP version 4 addresses are either publicly routable or they fall within the private address space of IP version 4.

      Publicly routable addresses are assigned by a central agency and regional agencies which in turn assign them to ISPs and these ISPs allocate them to business or consumer end users.

      An IP version 4 publicly routable addresses have to be unique in order to function correctly.

      Private addresses such as those in the 10.0.0.0 range can be used in multiple places but can't be routed over the internet.

      And so to give internet access to private devices, we need to use network address translation.

      In addition to this, NAT also provides some additional security benefits which I'll be covering soon.

      Now there are actually multiple types of NAT which I'm going to cover and all of them, they translate private IP addresses into public IP addresses so the packets can flow over public internet and then translate back in reverse.

      So that internet-based hosts can communicate back with these private services.

      So that's the high level function of NAT, which each type of NAT handles this process differently.

      First we've got static NAT which is where you have a network of private IP version 4 addresses and can allocate a public IP version 4 address to individual private IP addresses.

      So the static NAT device translates from one specific private address to one specific public address in effect giving that private address access to the public internet in both directions.

      And this is how the internet gateway within AWS works which I'll be covering in another video.

      Static NAT is what you would use when certain specific private IP addresses need access to the internet using a public ID and where these IPs need to be consistent.

      Dynamic NAT is similar but there isn't this static allocation.

      Instead you have a pool of public IP addresses to use and these are allocated as needed so when private IP addresses attempt to use the internet for something.

      This method of NAT is generally used when you have a large number of private IP addresses and want them all to have internet access via public IPs but when you have less public IP addresses than private IP addresses and you want to be efficient with how they're used.

      Then lastly we have port address translation and this is where many private addresses are translated onto a single public address.

      This is likely what your home internet route does, you might have many devices so laptops, computers, tablets, phones and all of those will use port address translation also known as overloading to use a single public IP address.

      Now this method as the name suggests uses ports to help identify individual devices and I'll cover in detail how this method works later in this video.

      This is actually the method that the NAT gateway or NAT instances use within AWS if you have any AWS experience then you'll recognise this process when I'm talking about the NAT gateway and NAT instances in a separate video.

      Now NAT is a process that only makes sense for IP version 4.

      Since IP version 6 adds so many more addresses we don't need any form of private addressing and as such we don't need translation.

      So try and remember this one IP version 6 generally means you don't need any form of network address translation.

      Okay so now I want to step through each of the different methods graphically so you can understand how they work and I'm going to be starting with static network address translation or static NAT.

      To illustrate this we want to use a visual example so let's start with a router and NAT gateway in the middle and a private network on the left and then a public network on the right.

      We have a situation where we have two devices in the private network, a server and a laptop and both of these need access to external services and let's use the example of Netflix and the CAT API.

      So the devices on the left they are private and this means they have addresses in the IP version 4, private address space in this case 10.0.0.10 for the server toward the top and 10.0.0.42 for the laptop toward the bottom.

      This means that these two devices packets that they generate cannot be routed over the public internet because they only have private addressing.

      Now the CAT API and Netflix both have public IP addresses in the case of the CAT API this is 1.3.7.

      So the problem we have with this architecture is that the private addresses can't be routed over the public internet because they're private only.

      The public addresses of the public internet-based services can't directly communicate with these private addresses because public and private addresses can't communicate over the public internet.

      What we need is to translate the private addresses that these devices have on the left to public IP addresses which can communicate with the services on the right and vice versa.

      Now with static NAT the router or NAT device maintains what's known as a NAT table and in the case of static network address translation the NAT table stores a one-to-one device mapping between private IP and public IP.

      So any private device which is enabled will have a dedicated, allocated public IP version 4 address.

      Now the private device won't have the public IP address configured on it, it's just an allocation.

      So let's say that the laptop on the bottom left wants to communicate with Netflix.

      Well to do so it generates a packet as normal.

      The source IP of the packet is the laptop's private IP address and the destination IP of the packet is one of Netflix's IPs.

      Let's say for this example we get issues in DNS.

      Now the router in the middle is the default gateway for any destinations so any IP packets which are destined for anything but the local network are sent to this router.

      Let's assume that we've allocated a public IP address to this laptop of 52.95.36.67.

      So there's an entry in the NAT table containing 10.0.0.42 which is the private address and 52.95.36.67 which is the public address and these are statically mapped to one another.

      In this case as the packet passes through the NAT device the source address of the packet is translated from the private address to the applicable public address and this results in this new packet.

      So this new packet still has Netflix as the destination but now it has a valid public IP address as the source.

      So because we've allocated this bottom laptop a public IP address as the packet moves through the NAT device the NAT device translates the source IP address of this packet from the private laptop's IP address to the allocated public address.

      So this is an example of static NAT and for anyone who's interested in AWS this is the process which is performed by the internet gateway so one to one static network address translation.

      Now this process works in a similar way in both directions.

      So let's say that the API client so the server on the top left wants to communicate with the CAT API.

      Well the same process is followed it generates a packet with the destination IP address of the CAT API and it sends it as it's passing through the NAT device the router replaces or translates the source address from the private IP address to the allocated public address.

      In this case 52.95.36.68.

      The CAT API once it receives the packet sees the source as this public IP so when it responds with data its packet has its IP address as the source and the previous public IP address as the destination the one which is allocated to the server on the top left.

      So it sends this packet back to this public IP and remember this public IP is allocated by the NAT device in the middle to the private device at the top left of the API client.

      So when this packet arrives at the NAT device the NAT table is checked it sees the allocation is for the server on the top left and so this time for incoming traffic the destination IP address is updated to the corresponding private IP address and then the packet is forwarded through to the private server.

      This is how static networks public IPs are allocated to private IPs.

      For outgoing traffic the source IP address is translated from the private address to the corresponding public address and for incoming traffic the destination IP address is translated from the allocated public address through to the corresponding private IP address.

      Now at no point are the private devices configured with a public IP.

      They always have private IP addresses and just to reiterate this is how the AWS internet gateway works which you'll either already know about or will learn about in a different video.

      So this is static NAT now let's move on to dynamic NAT.

      Okay so this is the end of part one of this lesson.

      It was getting a little bit on the long side and so I wanted to add a break.

      It's an opportunity just to take a rest or grab a coffee.

      Part two will be continuing immediately from the end of part one.

      So go ahead complete the video and when you're ready join me in part two.

    1. Simply let the stress be leaky so if the cell out here that's that's stressed out all it has to do is release some of that some of those stress molecules in this case like literally molecules that are that serve as signals of how systemic level stress and the cells around it now they're stressed out and they're it's it's not that they're altruistic it's just that um their plasticity goes up where they start to move around and to be a little more willing to do new things then the cell gets to where it's going then everybody's stress drops

      for - crisis management - cellular biology example - Michael Levin

    1. the sacramental vision of reality

      The phrase “the sacramental vision of reality” refers to a way of perceiving the world that sees all of reality as imbued with divine presence or spiritual significance. This vision treats material objects, natural phenomena, and human experiences not merely as physical or mundane, but as sacraments—signs or conduits through which a deeper, sacred reality is revealed or mediated.

      To break this down further:

      1. Sacrament:

      In many religious traditions, particularly Christianity, a sacrament is an outward, visible sign of an inward, spiritual grace. For example, in Christian practice, the Eucharist (bread and wine) is not just symbolic but is understood to convey divine grace and the presence of Christ. A sacrament thus bridges the material and the spiritual, connecting the visible world to invisible, transcendent truths.

      1. Vision of Reality:

      A sacramental vision sees the entire world itself as a kind of sacrament, where the material universe is not separated from spiritual meaning but is charged with divine significance. In this view, everything in creation, from nature to human interactions, can reflect or reveal the presence of God or ultimate reality. This idea rejects the notion that the physical and spiritual are strictly separate realms and instead embraces the idea that the divine is interwoven with the material world.

      1. How It Differs from a Secular or Materialist View:

      A secular or materialist vision of reality tends to focus on the physical world as self-contained, without inherent spiritual or transcendent meaning. In contrast, the sacramental vision of reality understands that the material world has a spiritual dimension. It’s not merely about what things are but about what they mean or reveal about deeper truths.

      1. Examples:

        • In the writings of Christian mystics, poets, or theologians like Gerard Manley Hopkins, this idea is expressed in the belief that the natural world reveals God’s presence. Hopkins famously wrote, “The world is charged with the grandeur of God.” • In Eastern Orthodox Christianity, the sacramental vision might emphasize the transfiguration of the world, where material things are seen as potential reflections of divine beauty and truth. • Similarly, in certain forms of Hinduism, especially Advaita Vedanta, everything in the material world can be seen as a manifestation of Brahman (the ultimate reality), leading to a kind of sacramental view of existence where the divine pervades all things.

      2. Philosophical and Rhetorical Implications:

      In a sacramental vision of reality, the separation between the sacred and the profane, or between the spiritual and the material, is blurred or dissolved. This way of seeing aligns with metaphysical traditions that emphasize immanence—the idea that the divine is present within the world and not just transcendent, far removed from it.

      Summarized Meaning:

      “The sacramental vision of reality” means seeing all aspects of existence, from the everyday to the extraordinary, as signs that point toward or participate in a higher spiritual reality. This vision assumes that the material world is not merely a place of physical phenomena, but a living symbol of the divine, where everything is infused with deeper meaning and purpose. It’s a holistic way of understanding reality, where every part of the world is connected to the sacred.

    1. “Wealth is What You Don’t See,”

      The quote, "Wealth is what you don't see", shows that it doesn't take a high income or a lot of luxurious spending to make someone rich. Even with a lower income, long term saving will make someone rich in the end. It's more important to consistently save your money instead of just having a high income and spending that money on everything.

    1. Author response:

      Reviewer #1:

      Summary:

      García-Vázquez et al. identify GTSE1 as a novel target of the cyclin D1-CDK4/6 kinases. The authors show that GTSE1 is phosphorylated at four distinct serine residues and that this phosphorylation stabilizes GTSE1 protein levels to promote proliferation.

      Strengths:

      The authors support their Kindings with several previously published results, including databases. In addition, the authors perform a wide range of experiments to support their Kindings.

      Weaknesses:

      I feel that important controls and considerations in the context of the cell cycle are missing. Cyclin D1 overexpression, Palbociclib treatment and apparently also AMBRA1 depletion can lead to major changes in cell cycle distribution, which could strongly inKluence many of the observed effects on the cell cycle protein GTSE1. It is therefore important that the authors assess such changes and normalize their results accordingly.

      We have approached the question of GTSE1 phosphorylation to account for potential cell cycle effects from multiple angles:  

      (i) We conducted in vitro experiments with puriIied, recombinant proteins and shown that GTSE1 is phosphorylated by cyclin D1-CDK4 in a cell-free system (Figure 2A-C). This experiment provides direct evidence of GTSE1 phosphorylation by cyclin D1-CDK4 without the inIluence of any other cell cycle effectors.  

      (ii) We present data using synchronized AMBRA1 KO cells (Figure 2G and Supplementary Figure 3B).  As shown previously (Simoneschi et al., Nature 2021, PMC8875297), AMBRA1 KO cells progress faster in the cell cycle but they are still synchronized as shown, for example by the mitotic phosphorylation of Histone H3. Under these conditions we observed that while phosphorylation of GTSE1 in parental cells peaks at the G2/M transition, AMBRA1 KO cells exhibited sustained phosphorylation of GTSE1 across all cell cycle phases.  This is evident when using Phos-tag gels as in the current top panel of Figure 2G. We now re-run one the biological triplicates of the synchronized cells using higher concentration of Zn+2-Phos-tag reagent and lower voltage to allow better separation.  Under these conditions, GTSE1 phosphorylation is more apparent. In the new version of the paper, we will either show both blots or substitute the old panel with the new one. This experiment provides evidence that high levels of cyclin D1 in AMBRA1 KO cells affect GTSE1 independently of the speciIic points in the cell cycle.  

      (iii) The relative short half-life of GTSE1 (<4 hours) makes its levels sensitive to acute treatments such as Palbococlib or AMBRA1 depletion. The effects of these treatments on GTSE1 levels are measurable within a time frame too short to affect cell cycle progression in a meaningful way. For example, we used cells with fusion of endogenous AMBRA1 to a mini-Auxin Inducible Degron (mAID) at the N-terminus. This system allows for rapid and inducible degradation of AMBRA1 upon addition of auxin, thereby minimizing compensatory cellular rewiring. Again, we observed an increase in GTSE1 levels upon acute ablation of AMBRA1 (i.e., in 8 hours) (Figure 3B), when no signiIicant effects on cell cycle distribution are observed (please see Simoneschi et al., Nature 2021, PMC8875297 and Rona et al., Mol. Cell 2024, PMC10997477). 

      All together, these lines of evidence support our conclusion that GTSE1 is a target of cyclin D1-CDK4, independent of cell cycle effects. In conclusion, as stated in the Discussion section, GTSE1 has been established as a substrate of mitotic cyclins, but we observed that overexpression of cyclin D1-CDK4 induce GTSE1 phosphorylation at any point of the cell cycle. Thus, we propose that GTSE1 is phosphorylated by CDK4 and CDK6 particularly in pathological states, such as cancers displaying overexpression of D-type cyclins beyond the G1 phase. In turn, GTSE1 phosphorylation induces its stabilization, leading to increased levels that, as expected based on the existing literature, contribute to enhanced cell proliferation. So, the cyclin D1-CDK4/6 kinase-dependent phosphorylation of GTSE1 induces its stabilization independently of the cell cycle.  

      Reviewer #2:

      Summary:

      The manuscript by García-Vázquez et al identifies the G2 and S phases expressed protein

      1(GTSE1) as a substrate of the CycD-CDK4/6 complex. CycD-CDK4/6 is a key regulator of the G1/S cell cycle restriction point, which commits cells to enter a new cell cycle. This kinase is also an important therapeutic cancer target by approved drugs including Palbocyclib. Identification of substrates of CycD-CDK4/6 can therefore provide insights into cell cycle regulation and the mechanism of action of cancer therapeutics. A previous study identified GTSE1 as a target of CycB-Cdk1 but this appears to be the first study to address the phosphorylation of the protein by Cdk4/6.

      The authors identified GTSE1 by mining an existing proteomic dataset that is elevated in AMBRA1 knockout cells. The AMBRA1 complex normally targets D cyclins for degradation. From this list, they then identified proteins that contain a CDK4/6 consensus phosphorylation site and were responsive to treatment with Palbocyclib. 

      The authors show CycD-CDK4/6 overexpression induces a shift in GTSE1 on phostag gels that can be reversed by Palbocyclib. In vitro kinase assays also showed phosphorylation by CDK4. The phosphorylation sites were then identified by mutagenizing the predicted sites and phostag got to see which eliminated the shift. 

      The authors go on to show that phosphorylation of GTSE1 affects the steady state level of the protein. Moreover, they show that expression and phosphorylation of GTSE1 confer a growth advantage on tumor cells and correlate with poor prognosis in patients.

      Strengths:

      The biochemical and mutagenesis evidence presented convincingly show that the GTSE1 protein is indeed a target of the CycD-CDK4 kinase. The follow-up experiments begin to show that the phosphorylation state of the protein affects function and has an impact on patient outcomes. 

      Weaknesses:

      It is not clear at which stage in the cell cycle GTSE1 is being phosphorylated and how this is affecting the cell cycle. Considering that the protein is also phosphorylated during mitosis by CycB-Cdk1, it is unclear which phosphorylation events may be regulating the protein.

      In cells that do not overexpress cyclin D1, GTSE1 is phosphorylated at the G2/M transition, consistent with the known cyclin B1-CDK1-mediated phosphorylation of this protein. However, AMBRA1 KO cells exhibited high levels of cyclin D1 throughout the cell cycle and sustained phosphorylation of GTSE1 across all cell cycle points (Figure 2G and Supplementary Figure 3B). Please see also answer to Reviewer #1.  Moreover, we show that, compared to the amino acids phosphorylated by cyclin D1-CDK4, cyclin B1-CDK1 phosphorylates GTSE1 on either additional residues or different sites (Figure 2H). Finally, we show that expression of a phospho-mimicking GTSE1 mutant leads to accelerated growth and an increase in the cell proliferative index (Figure 4C).  However, we have not evaluated how phosphorylation affects the cell cycle distribution.  We will perform FACS analyses and include them in the new version. 

      Reviewer #3:

      Summary:

      This paper identifies GTSE1 as a potential substrate of cyclin D1-CDK4/6 and shows that GTSE1 correlates with cancer prognosis, probably through an effect on cell proliferation. The main problem is that the phosphorylation analysis relies on the over-expression of cyclin D1. It is unclear if the endogenous cyclin D1 is responsible for any phosphorylation of GTSE1 in vivo, and what, if anything, this moderate amount of GTSE1 phosphorylation does to drive proliferation.

      Strengths: 

      There are few bonafide cyclin D1-Cdk4/6 substrates identified to be important in vivo so GTSE1 represents a potentially important finding for the field. Currently, the only cyclin D1 substrates involved in proliferation are the Rb family proteins.

      Weaknesses:

      The main weakness is that it is unclear if the endogenous cyclin D1 is responsible for phosphorylating GTSE1 in the G1 phase. For example, in Figure 2G there doesn't seem to be a higher band in the phos-tag gel in the early time points for the parental cells. This experiment could be redone with the addition of palbociclib to the parental to see if there is a reduction in GTSE1 phosphorylation and an increase in the amount in the G1 phase as predicted by the authors' model. The experiments involving palbociclib do not disentangle cell cycle effects. Adding Cdk4 inhibitors will progressively arrest more and more cells in the G1 phase and so there will be a reduction not just in Cdk4 activity but also in Cdk2 and Cdk1 activity. More experiments, like the serum starvation/release in Figure 2G, with synchronized populations of cells would be needed to disentangle the cell cycle effects of palbociclib treatment.    

      In normal cells, GTSE1 is phosphorylated at the G2/M transition in a cyclin B1-CDK1dependent manner.  During G1, when the levels of cyclin D1 peak, GTSE1 is not phosphorylated. This could be due to a higher affinity between GTSE1 and mitotic cyclins as compared to G1 cyclins or to a higher concentration of mitotic cyclins compared to G1 cyclins.  We show that higher levels of cyclin D1 induce GTSE1 phosphorylation during interphase, but we do not rely only on the overexpression of exogenous cyclin D1. In fact, we observe similar effect when we deplete endogenous AMBRA1, resulting in the stabilization of endogenous cyclin D1.  As mentioned in the Discussion section, we propose that GTSE1 is phosphorylated by CDK4 and CDK6 particularly in pathological states, such as cancers displaying overexpression of D-type cyclins (i.e., the overexpression appears to overcome the lower afIinity of the cyclin D1-GTSE1 complex). In sum, our study suggests that overexpression of cyclin D1, which is often observed in cancers cells beyond the G1 phase, induces phosphorylation of GTSE1 at all points in the cell cycle displaying high levels of cyclin D1.  Please see also response to Reviewer #1.  Concerning the experiments involving palbociclib, we limited confounding effects on the cell cycle by treating cells with palbociclib for only 4-6 hours. Under these conditions, there is simply not enough time for the cells to arrest in G1.

      It is unclear if GTSE1 drives the G1/S transition. Presumably, this is part of the authors' model and should be tested.

      We are not claiming that GTSE1 drives the G1/S transition.  GTSE1 is known to promote cell proliferation, but how it performs this task is not well understood.  Our experiments indicate that, when overexpressed, cyclin D1 promotes GTSE1 phosphorylation and its consequent stabilization.  In agreement with the literature, we show that higher levels of GTSE1 promote cell proliferation.  To measure cell cycle distribution upon expressing various forms of GTSE1, we will now perform FACS analyses and include them in the new version. 

      The proliferation assays need to be more quantitative. Figure 4B should be plotted on a log scale so that the slope can be used to infer the proliferation rate of an exponentially increasing population of cells. Figure 4c should be done with more replicates and error analysis since the effects shown in the lower right-hand panel are modest.

      In Figure 4B, we plotted data in a linear scale as done in the past (Donato et al. Nature Cell Biol. 2017, PMC5376241) to better represent the changes in total cell number overtime.  The experiments in Figure 4C were performed in triplicate. Error analysis was not included for simplicity, given the complexity of the data. We will include the other two sets of experiments in the revised version.  While the effects shown in the lower right-hand panel of Figure 4C are modest, they demonstrate the same trend as those observed in the AMBRA KO cells (Figure 4C and Simoneschi et al., Nature 2021, PMC8875297). It's important to note that this effect is achieved through the stable expression of a single phosphomimicking protein, whereas AMBRA KO cells exhibit changes in numerous cell cycle regulators.

      We appreciate the constructive comments and suggestions made by the reviewers, and we believe that the resulting additions and changes will improve the clarity and message of our study.

    1. Here is what I'm recommending: R. seems to suggest that mindfulness has two problems: 1) it's overrated as a creative force; 2) it detaches us from our emotions and thus makes us indifferent to problems. The other two authors seem to be "solving" those problems in their own way. Can you put them all together?

      Second thing: what to do we do with all this? An applied conclusion gives your audience something to do instead of just information. You can even relate it back to yourself and what you do.

    Annotators

    1. Author response:

      The following is the authors’ response to the original reviews.

      Recommendations for the authors:

      Reviewer #1 (Recommendations For The Authors):

      Below, I will list the points that should be addressed by the authors:

      (1) Line 139: The authors conclude that the lack of a phenotype induced by knockdown of Polr1F is due to reduced baseline sleep because of the leakiness of the Genswitch system. However, it is not clear why the argument of the SybGS being leaky should not apply to all experiments done with this tool. The authors should comment on that aspect. Furthermore, this claim is testable since it should be detectable against genetic controls. An alternative explanation to the proposed scenario is that the Polr1F sleep phenotype observed in the constitutive knockdown experiment is based on developmental defects. The authors should provide additional evidence to explain the discrepancy.

      We appreciate the reviewer’s insightful feedback. We assume the reviewer is referring to Regnase-1 RNAi (and not Polr1F) as Regnase-1 RNAi flies exhibit reduced sleep before dusk, potentially hindering further detection of sleep reduction. The leaky sleep reduction was based upon comparison with genetic controls in that experiment. Nevertheless, to discern whether our observations stem from developmental effects, we conducted adult-specific knockdowns of both Polr1F and Regnase-1 using the TARGET system. We generated the R35B12-Gal4:TubGal80ts line and crossed it with the UAS-Polr1FRNAi and UAS-Regnase-1RNAi lines. We confirmed that Polr1F RNAi promotes sleep when knocked down in adults (Figure 3 - supplemental figure 1). Conversely, Regnase-1 showed no effect on sleep in the adult stage, which is consistent with our nSyb-GS experiments, and suggests, as noted by the reviewer, that the Regnase-1 RNAi sleep effect is likely developmental (Figure 3 – supplemental figure 3).

      (2) Line 170: Regnase1 knockdown affects all memory types, including short-term and long-term memory. The authors conclude that these genes are involved in consolidation. However, besides consolidation, it has been shown that α′β′ KCs are involved in short-term appetitive memory retrieval. Thus, an equally possible explanation is that the knockdown impairs the neuronal function per se, which would lead to a defect in all behaviors related to α′β′ KCs, rather than a specific role for consolidation. The authors have to provide additional evidence to substantiate their claim.

      The exact role of Regnase-1 in the α′β′ KCs remains unclear.  We acknowledge the reviewer’s concern and have amended our conclusion to include this potential explanation suggested by the reviewer.

      (3) Line 87-88: For the protocol used, it was reported that GFPnls cannot be used for FACS sorting. The authors might want to comment/clarify that aspect. https://star-protocols.cell.com/protocols/1669.

      For our RNA-seq experiments, we conducted single cell isolation by FACS sorting cells, instead of nuclei, labeled with GFP.nls. The protocol mentioned that GFP.nls is not effective for single nuclear RNA-seq as it is not specific for nuclei, but for our cell sorting purposes that did not matter.

      (4) Line 131: The authors should report the concentration of RU486.

      Sorry, this is now in methods.

      (5) Line 155: Is that really 42 hours? This might be a typo. If not, it would be good to justify the prolonged re-starvation period.

      Flies fed after training form sleep-dependent memories but did not show robust long-term memory after 30 h of restarvation. As starvation is a requisite for appetitive memory retrieval (Krashes and Waddell 2008), the low memory scores after 30 h could be due to inadequate starvation. Therefore, we starved flies for 42h, which is similar to the sleep-independent memory paradigm in which flies are starved for 18 h before training and then tested 24 h after training; this protocol resulted in robust long-term memory performance. These flies were fine and able to make choices in a T-maze after 42 h starvation.

      (6) I will be listing mistakes/unclear points in the figures. However, all figures should be checked very carefully for clarity.

      Thanks for these valuable comments. We have gone over the figures carefully and fixed any issues we found.

      (7) Figure 1C: It is not entirely clear to me how this heatmap was created and what the values mean.

      The 59 differentially expressed genes (DEGs) were selected based on DESeq2 described in the methods. For the heatmap, Transcripts per million (TPM) of these 59 DEGs were log-transformed and then scaled row-wise and plotted with IDEP v0.95 (http://bioinformatics.sdstate.edu/idep95/).

      (8) Figures 2A and 2B: The units might be missing. For Supplementary Figure 2, it is not clear what the different groups are without looking at the main figure.

      Fixed.

      (9) Figure 3: The panel arrangement is confusing. Furthermore, the "B)" is cut. The same issue is present in the Supplementary Figure.

      Sorry! We rearranged the panels, and fixed the issue in both figures.

      (10) Figure 5B: It is not clear what the scale bar means.

      Now indicated

      (11) Line 119: The citation "Marygold et al n.d."?

      Fixed

      (12) Line 620: I'm not sure that the rate and localization of nascent peptide synthesis are measured.

      Great point. We used the puromycin assay to estimate significant changes in translation. However, we did not measure the absolute translational rate or the localization of newly synthesized proteins. We rephrased this in the updated manuscript.

      (13) Line 627, the authors should give the NA of the objective, further the authors should double-check the information they provide on the resolution.

      Fixed, it was 20X.

      (14) Line 629 "Fuji" is unclear, it might refer to the Fiji software, and in that case, it should be listed in the used software. Further, the authors have to check on the information they provide on the intensity, e.g. is that GFP fluorescence?

      Yes, it was Fiji and GFP. The manuscript has been updated accordingly.

      (15) Line 634, It is stated that two concentrations of CX-5461 are used, however, as far as I can see only data for the 0.2 mM.

      We apologize for the confusion. Data are indeed only shown for 0.2 mM. We also tested 0.4 mM and 0.6 mM under fed conditions once and 0.1 mM under starved conditions twice. Since all effects were not significant, we only presented the complete 0.2 mM results in the supplementary figure.

      (16) Line 352 "Marygold et al nd" is probably a glitch in the citation?

      It’s a citation tool issue and has been fixed.

      (17) The authors use apostrophe rather than a prime in describing the α "prime" β "prime" KCs

      We have corrected this.

      Reviewer #2 (Recommendations For The Authors):

      The authors have generated an interesting study that promises to advance the understanding of how context-dependent changes in sleep and memory are executed at the molecular level. The manuscript is well-written and the statistical analyses appear robust. Major and minor comments are detailed below.

      Overall, I would suggest that the authors try to obtain additional evidence that Pol1rF modulates sleep and test the effect of acute adult-stage knockdown of Polr1F and Regnase-1 specifically in ap α'β' MBNs rather than pan-neuronally.

      Major comments

      (1) In Figures 2 and 3 and associated supplemental figures, the authors first test for a role for Polr1F and Regnase-1 specifically in ap α'β' MBNs (Fig. 2), then test for an acute role for these proteins via pan-neuronal drug inducible expression (Fig. 3). Because the former manipulation is cell-specific and the latter is pan-neuronal, it is hard for the reader to draw conclusions pertaining to ap α'β' MBNs from the second dataset. Perhaps Regnase-1 indeed acutely regulates sleep in ap α'β' MBNs, but that effect is masked by counteracting roles in other neurons? Conversely, it remains possible that Polr1F and Regnase-1 act during development in ap α'β' MBNs to modulate sleep. Indeed, since silencing the output of ap α'β' MBNs using temperature-sensitive shibire does not alter baseline sleep (Chouhan et al., (2021) Nature), the notion that Regnase-1 could act acutely in ap α'β' MBNs to reduce baseline sleep is somewhat surprising.

      The authors could address this by using a method such as TARGET (temperature-sensitive GAL80) to acutely reduce Polr1F and Regnase-1 expression specifically in ap α'β' MBNs and test how this impacts sleep.

      Thanks for the very helpful suggestions. We have done the suggested experiments and discuss them above in response to Reviewer 1. They are included in the manuscript as Figure 3 – supplemental figure 1 and figure 3 – supplemental figure 3.

      (2) Figure 4 presents data examining whether Polr1F and Regnase-1 knockdown suppresses training-induced increases in sleep. For the untrained flies, based on the data in Fig. 2C, E I expected that Polr1F knockdown flies would exhibit more sleep than their respective controls (Fig. 4E), but this was not the case. These data suggest that more evidence may be warranted to strengthen the link between Polr1F (and potentially Regnase-1) knockdown and sleep. Could the authors use independent RNAi constructs or cell-specific CRISPR (all available from current stock centres) to validate their current results? Related to this, it would be useful to know whether the authors outcrossed any of their transgenic reagents into a defined genetic background.

      The untrained flies in figure 4E are not equivalent to flies tested for Polr1F effects on sleep in figure 2C. In Figure 4E, flies were starved for 18 h and then exposed to sucrose without an odor at ZT6. Following sucrose exposure, flies were moved to sucrose locomotor tubes, and sleep was assessed only in the ZT8-12 interval. Sleep was not significantly different between untrained R35B12>Polr1FRNAi and Polr1FRNAi/+ flies, and while it was higher in R35B12>Polr1FRNAi than in R35B12/+ untrained flies, the data overall indicate that Polr1F downregulation has no impact on sleep under these conditions and at this time. Similarly, in fully satiated settings (Figure 2C), we found no difference in sleep during the ZT8-12 period between R35B12>Polr1FRNAi flies and genetic controls. We did not outcross our transgenic lines but have now tested another available Polr1F RNAi (VDRC: v103392) (Figure 3 – supplemental figure 1). As shown in the figure, adult-specific knockdown of Polr1F by this RNAi line promoted sleep, as did the initial RNAi line.

      (3) Could the authors provide additional evidence that Polr1F knockdown in ap α'β' MBNs does not enhance sleep by reducing movement? A separate assay such as climbing would be beneficial. Alternatively, examining peak activity levels at dawn/dusk from the 12L: 12D DAM data.

      We checked the peak activity per minute per day for adult specific knockdown of PorlF1 and Regnase-1 (data shown in Figure 3 – supplemental figure 4). The results show that Polr1F knockdown in ap α'β' MBNs does not enhance sleep by reducing movement.

      (4) In terms of validating their proposed model, over-expressing of Polr1F during appetitive training might be predicted to suppress training-induced sleep increases and potentially long-term memory. Do the authors have any evidence for this?

      We were unable to find any Pol1rF overexpression line. However, we obtained the Regnase-1 over-expression line from Dr. Ryuya Fukunaga’s lab and found that Regnase-1 OE does not affect sleep (Figure 4 – supplemental figure 1).

      Minor comments

      (1) Abstract: can the authors please define 'ap' as anterior posterior?

      Fixed.

      (2) Figure 2 Supplemental 1: can the authors please denote the genotypes each color refers to in?

      Fixed.

      (3) In Figure 3 Supplemental 1, the authors state that acute Regnase-1 knockdown did not reduce sleep, but sleep during the night period does appear to be reduced (panel A). Was this quantified?

      We quantified this, and it was not significant.

      (4) Discussion, line 234: the heading of this section is 'Polr1F regulates ribosome RNA synthesis and memory' but the data presented in Figure 4 suggests that Polr1F does not affect memory. Can the authors clarify this?

      We made an adjustment to the title and acknowledge that at the present time we cannot say Polr1F affects memory.

      (5) Methods, Key Resource Table: can the authors please identify which fly lines were used for Polr1F and Regnase-1 knockdown experiments?

      Fixed. Fly line BDSC64553 was used for Polr1F RNAi except in Figure 3 – supplemental figure 1 and 4, where VDRC 103392 was used. VDRC 27330 was used for Regnase-1 knockdown experiments.

      Reviewer #3 (Recommendations For The Authors):

      (1) Figure 1B: This plot is currently labelled as PCA of DEGs, which I believe is inaccurate, as such a plot is a quality control that examines the overall clustering of samples by using all read counts (not just the DEGs). In addition, the color key value of this Figure 1B is not provided.

      Thank you for the insightful suggestion. The reviewer’s comment here that typically PCA plots are used for overall clustering of RNA-seq samples is indeed valid. We've acknowledged that our samples, due to their high similarity in cell populations and mild treatments, do not exhibit clear separation when we use all genes. However, we show a PathwayPCA plot of all DEGs. We aim to highlight that RNA processing pathways enriched among the DEGs account for much of the separation of the groups.

      (2) A reviewer token is not provided to examine the sequencing data set.

      The RNA-seq data has been submitted to the Sequence Read Archive (SRA) with NCBI BioProject accession number PRJNA1132369. The reviewer token is https://dataview.ncbi.nlm.nih.gov/object/PRJNA1132369?reviewer=cvqkddp8rjuebsjefk0f19556r.

      (3) In the discussion, the author pointed out that many of the 59 DEGs have implicated functions in RNA processing. To strengthen the statement, it would be beneficial to conduct the Gene Ontology analysis to test whether the DEGs are enriched for RNA processing-related GO terms.

      We have included the GO analysis results in Figure1 and another GO analysis of all DEGs in Figure 1 – supplemental figure 1.

      (4) Figure 4E presents an intriguing finding because it shows that the untrained R35B12>Polr1FRNAi flies exhibit reduced sleep (instead of increased sleep) when compared to untrained Polr1/+ control flies.

      Please see above response to reviewer #2 question2.

      (5) For the memory assay method, the identity of odor A and odor B is not provided.

      We used 4-methylcyclohexanol and 3-octanol; this information has been added into the methods section.

      (6) Female flies were used for the sleep assay. However, it is not clear whether only female flies were used for the memory assay.

      Mixed sexes are used for memory assays because a huge number of files is needed for these experiments. We added this information in the methods.

      (7) It is important to provide olfactory acuity data on control and experimental animals to rule out that the learning/memory phenotype is caused by defects in sensing the odor used for training and testing.

      Since Polr1F RNAi flies perform well, odor acuity is not an issue. Regnase1RNAi affects both short-term and long-term memories, but this seems to be a developmental issue, so we did not do the odor acuity experiments here.

      (8) Line 20: "ap alpha'/beta'" neurons should be spelled as "anterior posterior (ap) alpha'/beta' neurons", as this is the first time that this anatomical name appears in this manuscript.

      Fixed.

      (9) Figure 2C and 2D labelling: R35B12>control; UAS control should be changed to R35B12/+ control; UAS-RNAi/+ control.

      Fixed.

      (10) Line 155: it is unclear why the flies were re-starved for 42hr before testing. Is this a different protocol from the 30hr re-starvation that was used by Chouhan et al., 2021?

      We have explained the rationale above. The starvation period was increased to get better memory scores.

      (11) Line 160: it is stated that knocking down Polr1F did not affect memory, which is consistent with Polr1f levels typically decreasing during memory consolidation. Is there a reference demonstrating that Polr1f levels typically decrease during memory consolidation?

      It’s from our RNA-seq dataset from Figure1C. The level of Polr1F decreased in fed trained flies compared with other control flies.

      (12)  Genotype labeling in Figure 4F is inconsistent with the rest of the manuscript.

      Fixed.

    1. Author response:

      The following is the authors’ response to the original reviews.

      Public Reviews:

      Reviewer #1 (Public Review):

      This is a very nice study of Belidae weevils using anchored phylogenomics that presents a new backbone for the family and explores, despite a limited taxon sampling, several evolutionary aspects of the group. The phylogeny is useful to understand the relationships between major lineages in this group and preliminary estimation of ancestral traits reveals interesting patterns linked to host-plant diet and geographic range evolution. I find that the methodology is appropriate, and all analytical steps are well presented. The paper is well-written and presents interesting aspects of Belidae systematics and evolution. The major weakness of the study is the very limited taxon sampling which has deep implications for the discussion of ancestral estimations.

      Thank you for these comments.

      The taxon sampling only appears limited if counting the number of species. However, 70 % of belid species diversity belongs to just two genera. Moreover, patterns of host plant and host organ usage and distribution are highly conserved within genera and even tribes. Therefore, generic-level sampling is a reasonable measure of completeness. Although 60 % of the generic diversity was sampled in our study, we acknowledge that our discussion of ancestral estimations would be stronger if at least one genus of

      Afrocorynina and the South American genus of Pachyurini could be included.

      Reviewer #2 (Public Review):

      Summary:

      The authors used a combination of anchored hybrid enrichment and Sanger sequencing to construct a phylogenomic data set for the weevil family Belidae. Using evidence from fossils and previous studies they can estimate a phylogenetic tree with a range of dates for each node - a time tree. They use this to reconstruct the history of the belids' geographic distributions and associations with their host plants. They infer that the belids' association with conifers pre-dates the rise of the angiosperms. They offer an interpretation of belid history in terms of the breakup of Gondwanaland but acknowledge that they cannot rule out alternative interpretations that invoke dispersal.

      Strengths:

      The strength of any molecular-phylogenetic study hinges on four things: the extent of the sampling of taxa; the extent of the sampling of loci (DNA sequences) per genome; the quality of the analysis; and - most subjectively - the importance and interest of the evolutionary questions the study allows the authors to address. The first two of these, sampling of taxa and loci, impose a tradeoff: with finite resources, do you add more taxa or more loci? The authors follow a reasonable compromise here, obtaining a solid anchored-enrichment phylogenomic data set (423 genes, >97 kpb) for 33 taxa, but also doing additional analyses that included 13 additional taxa from which only Sanger sequencing data from 4 genes was available. The taxon sampling was pretty solid, including all 7 tribes and a majority of genera in the group. The analyses also seemed to be solid - exemplary, even, given the data available.

      This leaves the subjective question of how interesting the results are. The very scale of the task that faces systematists in general, and beetle systematists in particular, presents a daunting challenge to the reader's attention: there are so many taxa, and even a sophisticated reader may never have heard of any of them. Thus it's often the case that such studies are ignored by virtually everyone outside a tiny cadre of fellow specialists. The authors of the present study make an unusually strong case for the broader interest and importance of their investigation and its focal taxon, the belid weevils.

      The belids are of special interest because - in a world churning with change and upheaval, geologically and evolutionarily - relatively little seems to have been going on with them, at least with some of them, for the last hundred million years or so. The authors make a good case that the Araucaria-feeding belid lineages found in present-day Australasia and South America have been feeding on Araucaria continuously since the days when it was a dominant tree taxon nearly worldwide before it was largely replaced by angiosperms. Thus these lineages plausibly offer a modern glimpse of an ancient ecological community.

      Weaknesses:

      I didn't find the biogeographical analysis particularly compelling. The promise of vicariance biogeography for understanding Gondwanan taxa seems to have peaked about 3 or 4 decades ago, and since then almost every classic case has been falsified by improved phylogenetic and fossil evidence. I was hopeful, early in my reading of this article, that it would be a counterexample, showing that yes, vicariance really does explain the history of *something*. But the authors don't make a particularly strong claim for their preferred minimum-dispersal scenario; also they don't deal with the fact that the range of Araucaria was vastly greater in the past and included places like North America. Were there belids in what is now Arizona's petrified forest? It seems likely. Ignoring all of that is methodologically reasonable but doesn't yield anything particularly persuasive.

      Thank you for these comments.

      The criticism that the biogeographical analysis is “not very compelling” is true to a degree, but it is only a small part of the discussion and, as stated by the reviewer, cannot be made more “persuasive”, in part because of limitations in taxon sampling but also because of uncertainties of host associations (e.g. with ferns). We tried to draw persuasive conclusions while not being too speculative at the same time. Elaborating on our short section here would only make it much more speculative — and dispersal scenarios more so than vicariance ones (at least in Belinae).

      Recommendations for the authors:

      Reviewer #1 (Recommendations For The Authors):

      I have a few comments relative to this last point of a more general nature:

      - I think it would be informative in Figure 1 to present family names for the outgroups.

      Family names for outgroups have been added to Figure 1.

      - There is a summary of matrix composition in the results but I think a table would be better listing all necessary information for each dataset (number of taxa, number of taxa with only Sanger data, parsimony informative sites, GC content, missing data, etc...).

      We added Table S4 with detailed information about the matrices.

      - Perhaps I missed it, but I didn't find how fossil calibrations were implemented in BEAST (which prior distribution was chosen and with which parameters).

      We used uniform priors, this has been added to the Methods section.

      - I am worried that the taxon sampling (ca. 10% of the family) is too low to conduct meaningful ancestral estimations, without mentioning the moderately supported relationships among genera and large time credibility intervals. This should be better acknowledged in the paper and perhaps should weigh more into the discussion.

      Belidae in general are a rare group of weevils, and it has been a huge effort and a global collaboration to sample all tribes and over 60 % of the generic diversity in the present study. A high degree of conservation of host plant associations, host plant organ usage and distribution are observed within genera and even tribes. Therefore, we feel strongly that the resulting ancestral states are meaningful.

      Moreover, 70 % of the belid species diversity belongs to only two genera, Rhinotia and Proterhinus. Our species sampling is about 36 % if we disregard the 255 species of these two genera.

      However, we acknowledge that our results could be improved by sampling more genera of Afrocorynina and Pachyurini. However, these taxa are very hard to collect. We have acknowledged the limitation of our taxon sampling, branching supports and timetree credibility intervals in the discussion to minimize speculative in conclusions.

      - It might be nice to have a more detailed discussion of flanking regions. In my experience and from the literature there seems to be increasing concern about the use of these regions in phylogenomic inferences for multiple solid reasons especially the more you go back in time (complex homology assessment, overall gappyness, difficulty to partition the data, etc...)

      We tested the impact of flanking regions on the results of our analyses and showed this data did not having a detrimental impact. We added more details about this to the results section of the paper, including information about the cutoffs we used to trim the flanking regions.

      Reviewer #2 (Recommendations For The Authors):

      Line 42, change "recent temporal origins" to "recent origins".

      Modified in the text.

      Line 97-98, "phylogenetic hypotheses have been proposed for all genera" This is ambiguous. The syntax makes it sound like these were separate hypotheses for each genus - the relationships of the species within them, maybe. However, the context implies that the hypotheses relate to the relationships between the genera. Clarify. "A phylogenetic hypothesis is available for generic relationships in each subfamily. . . " or something.

      Modified in the text.

      Line 162, ". . . all three subtribes (Agnesiotinidi, Belini. . . " Something's wrong here. Change "subtribes" to "tribes"?

      Modified in the text.

      Line 219, the comma after "unequivocally" needs to be a semicolon.

      Modified in the text.

      Line 327 and elsewhere, the abbreviation "AHE" is used but never spelled out; spell out what it stands for at first use. Or why not spell it out every single time? You hardly ever use it and scientists' habit of using lots of obscure abbreviations is a bad one that's worth resisting, especially now that it no longer requires extra ink and paper to spell things out.

      Modified in the text.

    1. Just as language models come with knowledge baked into them, an action model is also capable of holding knowledge, but I’ve included a separate memory module. The motivation for the recent memory module in the mind model is a place that can essentially memorize exactly what has happened recently before it’s integrated (through some kind of training) into the action model.

      So Kafka event queue?

    1. I always want to give readers a sense of the story (boy meets girl, blah, blah, blah) without providing a detailed blow-by-blow synopsis. That’s why Wikipedia and movie sites like IMDB exist. But I’m also aware that if I withhold too much information about a particular story (especially one as complicated as “Dune”), I may lose readers. So, I try to sprinkle in just enough about the story to give readers something to hold onto. It’s always a balancing act.

      initially Manohla Dargis provides a concise and simple introduction enough to captivate the reader to keep reading. But she also uses balancing strategy that allows her to provide the readers with just the right amount information to keep them entertained, hooked, and spoil the movie completely.

    1. Reviewer #1 (Public review):

      The authors investigate the function and neural circuitry of reentrant signals in the visual cortex. Recurrent signaling is thought to be necessary to common types of perceptual experience that are defined by long-range relationships or prior expectations. Contour illusions - where perceptual objects are implied by stimuli characteristics - are a good example of this. The perception of these illusions is thought to emerge as recurrent signals from higher cortical areas feedback onto the early visual cortex, to tell the early visual cortex that it should be seeing object contours where none are actually present.

      The authors test the involvement of reentrant cortical activity in this kind of perception using a drug challenge. Reentrance in the visual cortex is thought to rely on NMDAR-mediated glutamate signalling. The authors accordingly employ an NMDA antagonist to stop this mechanism, looking for the effect of this manipulation on visually evoked activity recorded in EEG.

      The motivating hypothesis for the paper is that NMDA antagonism should stop recurrent activity and that this should degrade perceptual activity supporting the perception of a contour illusion, but not other types of visual experience. Results in fact show the opposite. Rather than degrading cortical activity evoked by the illusion, memantine makes it more likely that machine learning classification of EEG will correctly infer the presence of the illusion.

      On the face of it, this is confusing, and the paper currently does not entirely resolve this confusion. But there are relatively easy ways to improve this. The authors would be well served by entertaining more possible outcomes in the introduction - there's good reason to expect a positive effect of memantine on perceptual brain activity, and I provide details on this below. The authors also need to further emphasize that the directional expectations that motivated E1 were, of course, adapted after the results from this experiment emerged. The authors presumably at least entertained the notion that E2 would reproduce E1 - meaning that E2 was motivated by a priori expectations that were ultimately met by the data.

      I broadly find the paper interesting, graceful, and creative. The hypotheses are clear and compelling, the techniques for both manipulation of brain state and observation of that impact are cutting edge and well suited, and the paper draws clear and convincing conclusions that are made necessary by the results. The work sits at the very interesting crux of systems neuroscience, neuroimaging, and pharmacology. I believe the paper can be improved in revision, but my suggestions are largely concerning presentation and nuance of interpretation.

      (1) I miss some treatment of the lack of behavioural correlate. What does it mean that metamine benefits EEG classification accuracy without improving performance? One possibility here is that there is an improvement in response latency, rather than perceptual sensitivity. Is there any hint of that in the RT results? In some sort of combined measure of RT and accuracy?

      (2) An explanation is missing, about why memantine impacts the decoding of illusion but not collinearity. At a systems level, how would this work? How would NMDAR antagonism selectively impact long-range connectivity, but not lateral connectivity? Is this supported by our understanding of laminar connectivity and neurochemistry in the visual cortex?

      (3) The motivating idea for the paper is that the NMDAR antagonist might disrupt the modulation of the AMPA-mediated glu signal. This is in line with the motivating logic for Self et al., 2012, where NMDAR and AMPAR efficacy in macacque V1 was manipulated via microinfusion. But this logic seems to conflict with a broader understanding of NMDA antagonism. NMDA antagonism appears to generally have the net effect of increasing glu (and ACh) in the cortex through a selective effect on inhibitory GABA-ergic cells (eg. Olney, Newcomer, & Farber, 1999). Memantine, in particular, has a specific impact on extrasynaptic NMDARs (that is in contrast to ketamine; Milnerwood et al, 2010, Neuron), and this type of receptor is prominent in GABA cells (eg. Yao et al., 2022, JoN). The effect of NMDA antagonists on GABAergic cells generally appears to be much stronger than the effect on glutamergic cells (at least in the hippocampus; eg. Grunze et al., 1996).

      This all means that it's reasonable to expect that memantine might have a benefit to visually evoked activity. This idea is raised in the GD of the paper, based on a separate literature from that I mentioned above. But all of this could be better spelled out earlier in the paper, so that the result observed in the paper can be interpreted by the reader in this broader context.

      To my mind, the challenging task is for the authors to explain why memantine causes an increase in EEG decoding, where microinfusion of an NMDA antagonist into V1 reduced the neural signal Self et al., 2012. This might be as simple as the change in drug... memantine's specific efficacy on extrasynaptic NMDA receptors might not be shared with whatever NMDA antagonist was used in Self et al. 2012. Ketamine and memantine are already known to differ in this way.

      (4) The paper's proposal is that the effect of memantine is mediated by an impact on the efficacy of reentrant signaling in visual cortex. But perhaps the best-known impact of NMDAR manipulation is on LTP, in the hippocampus particularly but also broadly. Perception and identification of the kanisza illusion may be sensitive to learning (eg. Maertens & Pollmann, 2005; Gellatly, 1982; Rubin, Nakayama, Shapley, 1997); what argues against an account of the results from an effect on perceptual learning? Generally, the paper proposes a very specific mechanism through which the drug influences perception. This is motivated by results from Self et al 2012 where an NMDA antagonist was infused into V1. But oral memantine will, of course, have a whole-brain effect, and some of these effects are well characterized and - on the surface - appear as potential sources of change in illusion perception. The paper needs some treatment of the known ancillary effects of diffuse NMDAR antagonism to convince the reader that the account provided is better than the other possibilities.

      (5) The cross-decoding approach to data analysis concerns me a little. The approach adopted here is to train models on a localizer task, in this case, a task where participants matched a kanisza figure to a target template (E1) or discriminated one of the three relevant stimuli features (E2). The resulting model was subsequently employed to classify the stimuli seen during separate tasks - an AB task in E1, and a feature discrimination task in E2. This scheme makes the localizer task very important. If models built from this task have any bias, this will taint classifier accuracy in the analysis of experimental data. My concern is that the emergence of the kanisza illusion in the localizer task was probably quite salient, respective to changes in stimuli rotation or collinearity. If the model was better at detecting the illusion to begin with, the data pattern - where drug manipulation impacts classification in this condition but not other conditions - may simply reflect model insensitivity to non-illusion features.

      I am also vaguely worried by manipulations implemented in the main task that do not emerge in the localizer - the use of RSVP in E1 and manipulation of the base rate and staircasing in E2. This all starts to introduce the possibility that localizer and experimental data just don't correspond, that this generates low classification accuracy in the experimental results and ineffective classification in some conditions (ie. when stimuli are masked; would collinearity decoding in the unmasked condition potentially differ if classification accuracy were not at a floor? See Figure 3c upper, Figure 5c lower).

      What is the motivation for the use of localizer validation at all? The same hypotheses can be tested using within-experiment cross-validation, rather than validation from a model built on localizer data. The argument may be that this kind of modelling will necessarily employ a smaller dataset, but, while true, this effect can be minimized at the expense of computational cost - many-fold cross-validation will mean that the vast majority of data contributes to model building in each instance.

      It would be compelling if results were to reproduce when classification was validated in this kind of way. This kind of analysis would fit very well into the supplementary material.

    2. Reviewer #2 (Public review):

      Summary:

      In this paper, the authors investigate the role of NMDA-receptors in recurrent processing. In doing so, the authors present data from two studies, where they attempt to decode different stimulus features, namely contrast, collinearity, and illusory contours. The latter of which the authors claim relies uniquely on recurrent processing. Therefore, to test whether NMDA receptors are particularly involved in recurrent processing they administer a NMDA-antagonist to see whether the decoding of illusory contours is specifically perturbed, and leaves the decoding of other features intact. They further aim to disentangle the role of NMDA-receptors by manipulating visibility and task relevance of the decoded features

      In the first experiment, the authors decode two targets, the first was always presented clearly, the second's visibility was manipulated by presenting it after a short lag rather than a long lag (inducing attentional blink), as well as masking the target on half the trials. First, they find for target 1 clear evidence for the NMDA-receptor increasing (rather than decreasing) decoding performance of illusory contours. They move on to analyse target 2 to explore the manipulations of lag and masking. Here they find that masking reduced decoding of all three stimulus features, but only the lag reduced decoding of illusory contours. Importantly, the NMDA-antagonist improved decoding only in the unmasked, long lag condition, in the cluster analyses. However, the interaction with the lag condition was not significant, and the effect on decoding was primarily present in the later decoding time window, and not significant when exploring the peak of the decoding time window.

      The second experiment was highly similar, but got rid of the lag manipulation, and replaced it with a manipulation of task relevance. Notably, masking did not abolish the decoding of illusory contours completely, in contrast to the first experiment. More importantly, they find that the NMDA-receptor now clearly increases decoding of illusory contours, particularly when the illusory contours are not masked. No effect of task relevance is found.

      Taken together the authors state that evidence is found for NMDA-receptors role in recurrent processing.

      Strengths:

      This is an interesting study using state-of-the-art methods in combination with drug manipulation to study recurrent processing. Their analysis methods are state-of-the-art, and the question that they are trying to address is topical and interesting to a wide research audience, encompassing both researchers interested in visual perception and consciousness, as well as those interested in perturbed vision as found in psychiatric disorders.

      Weaknesses:

      The experimental design is somewhat complicated, which can make it difficult to match the authors' claims to the actual evidence that is provided. I have some reservations about the paper which are born out of a few issues.<br /> (1) The title, abstract, and introduction hide their counterintuitive finding of increased decoding, presumably as it was unexpected.<br /> (2) Their analysis choices are sometimes unclear, making it difficult to assess whether the analyses are sensible.<br /> (3) The appropriate tests for the interactions that the authors claim they found are often lacking.

      To start off, I think the reader is being a bit tricked when reading the paper. Perhaps my priors are too strong, but I assumed, just like the authors, that NMDA-receptors would disrupt recurrent processing, in line with previous work. However, due to the continuous use of the ambiguous word 'affected' rather than the more clear increased or perturbed recurrent processing, the reader is left guessing what is actually found. That's until they read the results and discussion finding that decoding is actually improved. This seems like a really big deal, and I strongly urge the authors to reword their title, abstract, and introduction to make clear they hypothesized a disruption in decoding in the illusion condition, but found the opposite, namely an increase in decoding. I want to encourage the authors that this is still a fascinating finding.

      Apologies if I have missed it, but it is not clear to me whether participants were given the drug or placebo during the localiser task. If they are given the drug this makes me question the logic of their analysis approach. How can one study the presence of a process, if their very means of detecting that process (the localiser) was disrupted in the first place? If participants were not given a drug during the localiser task, please make that clear. I'll proceed with the rest of my comments assuming the latter is the case. But if the former, please note that I am not sure how to interpret their findings in this paper.

      The main purpose of the paper is to study recurrent processing. The extent to which this study achieves this aim is completely dependent to what extent we can interpret decoding of illusory contours as uniquely capturing recurrent processing. While I am sure illusory contours rely on recurrent processing, it does not follow that decoding of illusory contours capture recurrent processing alone. Indeed, if the drug selectively manipulates recurrent processing, it's not obvious to me why the authors find the interaction with masking in experiment 2. Recurrent processing seems to still be happening in the masked condition, but is not affected by the NMDA-receptor here, so where does that leave us in interpreting the role of NMDA-receptors in recurrent processing? If the authors can not strengthen the claim that the effects are completely driven by affecting recurrent processing, I suggest that the paper will shift its focus to making claims about the encoding of illusory contours, rather than making primary claims about recurrent processing.

      An additional claim is being made with regards to the effects of the drug manipulation. The authors state that this effect is only present when the stimulus is 1) consciously accessed, and 2) attended. The evidence for claim 1 is not supported by experiment 1, as the masking manipulation did not interact in the cluster-analyses, and the analyses focussing on the peak of the timing window do not show a significant effect either. There is evidence for this claim coming from experiment 2 as masking interacts with the drug condition. Evidence for the second claim (about task relevance) is not presented, as there is no interaction with the task condition. A classical error seems to be made here, where interactions are not properly tested. Instead, the presence of a significant effect in one condition but not the other is taken as sufficient evidence for an interaction, which is not appropriate. I therefore urge the authors to dampen the claim about the importance of attending to the decoded features. Alternatively, I suggest the authors run their interactions of interest on the time-courses and conduct the appropriate cluster-based analyses.

      How were the length of the peak-timing windows established in Figure 1E? My understanding is that this forms the training-time window for the further decoding analyses, so it is important to justify why they have different lengths, and how they are determined. The same goes for the peak AUC time windows for the interaction analyses. A number of claims in the paper rely on the interactions found in these post-hoc analyses, so the 223- to 323 time window needs justification.

    1. Bad briefing: (1) unfairly shifts the burden to opposingcounsel who must discern what arguments are being made; (2) unfairly shifts theburden of deciphering briefs to judges and other court personnel; (3) slows thecourts’ evaluative processes; and (4) disrespects “the judicial system

      Before reading this article, my original thought was, "bad briefing only effects the attorney that's writing it." This is completely untrue. Bad writing can cause tremendous downstream problems. I think back to cases we have read in class where the writing is so convoluted I have to spend extra hours trying to decipher what the case meant. I would find myself wishing the writer was more clear. This goes to show that judges, other attorneys, law students, and even people just trying to understand the law better get frustrated at poor writing. It's important to master this skill for the sake of so many others.

    1. The effect is an uncanny combination of realism and hopefulness (if a musical ever embodied Gramsci’s “pessimism of the intellect, optimism of the will,” it’s this one), and anything but escapist or nostalgic. I had one gorgeous line ringing in my ears over and over again as I left the theater: “Let the world we dream about be the one we live in now!”

      I feel like what the critic is trying to say here is that even though Hadestown has a rather rough subject matter, that it's still ultimately a hopeful and inspirational form of art. It has the potential to be a call to work towards a better world, and not just a dream (even though it is very difficult). You can really see how collective action was not only impactful in the musical, but how it could be impactful in the everyday world.

    1. came to the realization that procrastination might be more than just a bad habit.

      As I read through the article, the author also mentioned that procrastination could stem from health issue such as anxiety, lack of confidence or if it's an unpleasant task.

    2. Philosophers are interested in procrastination for another reason. It’s a powerful example of what the Greeks called akrasia—doing something against one’s own better judgment.

      Procrastination is something I have always wanted others opinion about and to read about how philosophers have delve into it, a sort of "been there done that" is refreshing to know. I really enjoy philosophy and the different avenues that you can go off of just one subject.

  8. drive.google.com drive.google.com
    1. There is a cause for this poverty; and, if you trace it down, you will find its rootin a primary injustice

      This line stands out because it’s pointing out that poverty isn’t just random it’s rooted in a system of inequality. It's saying that there’s something deeply unfair that’s causing so many people to struggle, and it’s not just about government policies or specific issues. This hits home because it makes me think of how even though we live in such an advanced society, so many still don’t have enough to meet basic needs.

    1. Author response:

      The following is the authors’ response to the original reviews.

      In this useful study, a solid machine learning approach based on a broad set of systems to predict the R2 relaxation rates of residues in intrinsically disordered proteins (IDPs) is described. The ability to predict the patterns of R2 will be helpful to guide experimental studies of IDPs. A potential weakness is that the predicted R2 values may include both fast and slow motions, thus the predictions provide only limited new physical insights into the nature of the relevant protein dynamics.

      Fast motions are less sequence-dependent (e.g., as shown by R1). Hence the sequence-dependent part of R2 singles out slow motion.

      Public Reviews:

      Reviewer #1 (Public Review):

      Solution state 15N backbone NMR relaxation from proteins reports on the reorientational properties of the N-H bonds distributed throughout the peptide chain. This information is crucial to understanding the motions of intrinsically disordered proteins and as such has focussed the attention of many researchers over the last 20-30 years, both experimentally, analytically and using numerical simulation.

      This manuscript proposes an empirical approach to the prediction of transverse 15N relaxation rates, using a simple formula that is parameterised against a set of 45 proteins. Relaxation rates measured under a wide range of experimental conditions are combined to optimize residuespecific parameters such that they reproduce the overall shape of the relaxation profile. The purely empirical study essentially ignores NMR relaxation theory, which is unfortunate, because it is likely that more insight could have been derived if theoretical aspects had been considered at any level of detail.

      NMR relaxation theory is very valuable in particular regarding motions on different timescales. However, it has very little to say about the sequence dependence of slow motions, which is the focus of our work.

      Despite some novel aspects, in particular the diversity of the relaxation data sets, the residuespecific parameters do not provide much new insight beyond earlier work that has also noted that sidechain bulkiness correlated with the profile of R2 in disordered proteins.

      The novel insight from our work is that R2 can mostly be predicted based on the local sequence.

      Nevertheless, the manuscript provides an interesting statistical analysis of a diverse set of deposited transverse relaxation rates that could be useful to the community.

      Thank you!

      Crucially, and somewhat in contradiction to the authors stated aims in the introduction, I do not feel that the article delivers real insight into the nature of IDP dynamics. Related to this, I have difficulty understanding how an approximate prediction of the overall trend of expected transverse relaxation rates will be of further use to scientists working on IDPs. We already know where the secondary structural elements are (from 13C chemical shifts which are essential for backbone assignment) and the necessary 'scaling' of the profile to match experimental data actually contains a lot of the information that researchers seek.

      Again, the novel insight is that slow motions that dictate the sequence dependence of R2 can mostly be predicted based on the local sequence. The scaling factor may contain useful information but does not tell us anything about the sequence dependence of IDP dynamics.

      This reviewer brings up a lot of valuable points, clearly from an NMR spectroscopist’s perspective. The emphasis of our paper is somewhat different from that perspective. For example, we were interested in whether tertiary contacts make significant contributions to R2, as sometimes claimed. Our results show that, in general, they do not; instead local contacts dominate the sequence dependence of R2.

      (1) The introduction is confusing, mixing different contributions to R2 as if they emanated from the same physics, which is not necessarily true. 15N transverse relaxation is said to report on 'slower' dynamics from 10s of nanoseconds up to 1 microsecond. Semi-classical Redfield theory shows that transverse relaxation is sensitive to both adiabatic and non-adiabatic terms, due to spin state transitions induced by stochastic motions, and dephasing of coherence due to local field changes, again induced by stochastic motions. These are faster than the relaxation limit dictated by the angular correlation function. Beyond this, exchange effects can also contribute to measured R2. The extent and timescale limit of this contribution depends on the particular pulse sequence used to measure the relaxation. The differences in the pulse sequences used could be presented, and the implications of these differences for the accuracy of the predictive algorithm discussed.

      Indeed pulse sequences affect the measured R2 values. We make the modest assumption that such experimental idiosyncrasy would not corrupt the sequence dependence of IDP dynamics. As for exchange effects, our expectation is that the current SeqDYN may not do well for R2s where slow exchange plays a dominant role in generating sequence dependence, as tertiary contacts would be prominent in those cases; we now present one such case (new Fig. S5).

      (2) Previous authors have noted the correlation between observed transverse relaxation rates and amino acid sidechain bulkiness. Apart from repeating this observation and optimizing an apparently bulkiness-related parameter on the basis of R2 profiles, I am not clear what more we learn, or what can be derived from such an analysis. If one can possibly identify a motif of secondary structure because raised R2 values in a helix, for example, are missed from the prediction, surely the authors would know about the helix anyway, because they will have assigned the 13C backbone resonances, from which helical propensity can be readily calculated.

      We think that a sequence-based method that is demonstrated to predict well R2 values from expensive NMR experiments is significant. That pi-pi and cation-pi interactions are prominent features of local contacts and may seed tertiary contacts and mediate inter-chain contacts that drive phase separation is a valuable insight.

      (3) Transverse relaxation rates in IDPs are often measured to a precision of 0.1s-1 or less. This level of precision is achieved because the line-shapes of the resonances are very narrow and high resolution and sensitivity are commonly measurable. The predictions of relaxation rates, even when applying uniform scaling to optimize best-agreement, is often different to experimental measurement by 10 or 20 times the measured accuracy. There are no experimental errors in the figures. These are essential and should be shown for ease of comparison between experiment and prediction.

      Again, our focus is not the precision of the absolute R2 values, but rather the sequence dependence of R2.

      (4) The impact of structured elements on the dynamic properties of IDPs tethered to them is very well studied in the literature. Slower motions are also increased when, for example the unfolded domain binds a partner, because of the increased slow correlation time. The ad hoc 'helical boosting' proposed by the authors seems to have the opposite effect. When the helical rates are higher, the other rates are significantly reduced. I guess that this is simply a scaling problem. This highlights the limitation of scaling the rates in the secondary structural element by the same value as the rest of the protein, because the timescales of the motion are very different in these regions. In fact the scaling applied by the authors contains very important information. It is also not correct to compare the RMSD of the proposed method with MD, when MD has not applied a 'scaling'. This scaling contains all the information about relative importance of different components to the motion and their timescales, and here it is simply applied and not further analysed.

      Actually, applying the boost factor achieves the effect of a different scaling factor for the secondary structure element than for the rest of the protein.

      Regarding comparing RMSEs of SeqDYN and MD, it is true that SeqDYN applies a scaling factor whereas MD does not. However, even if we apply scaling to MD results it will not change the basic conclusion that “SeqDYN is very competitive against MD in predicting _R_2, but without the significant computational cost.”

      (5) Generally, the uniform scaling of all values by the same number is serious oversimplification. Motions are happening on all timescales they are giving rise to different transverse relaxation. It is not possible to describe IDP relaxation in terms of one single motion. Detailed studies over more than 30 years, have demonstrated that more than one component to the autocorrelation function is essential in order to account for motions on different timescales in denatured, partially disordered or intrinsically unfolded states. If one could 'scale' everything by the same number, this would imply that only one timescale of motion were important and that all others could be neglected, and this at every site in the protein. This is not expected to be the case, and in fact in the examples shown by the authors it is also never the case. There are always regions where the predicted rates are very different from experiment (with respect to experimental error), presumably because local dynamics are occurring on different timescales to the majority of the molecule. These observations contain useful information, and the observation that a single scaling works quite well probably tells us that one component of the motion is dominant, but not universally. This could be discussed.

      The reviewer appears to equate a single scaling factor with a single type of motion -- this is not correct. A single scaling factor just means that we factor out effects (e.g., temperature or magnetic field) that are uniform across the IDP sequence.

      (6) With respect to the accuracy of the prediction, discussion about molecular detail such as pi-pi interactions and phase separation propensity is possibly a little speculative.

      It is speculative; we now add more support to this speculation (p. 18 and new Fig. S6).

      (7) The authors often declare that the prediction reproduces the experimental data. The comparisons with experimental data need to be presented in terms of the chi2 per residue, using the experimentally measured precision which as mentioned, is often very high.

      Again, our interest is the sequence dependence of R2, not the absolute R2 value and its measurement precision.

      Reviewer #2 (Public Review):

      Qin, Sanbo and Zhou, Huan-Xiang created a model, SeqDYN, to predict nuclear magnetic resonance (NMR) spin relaxation spectra of intrinsically disordered proteins (IDPs), based primarily on amino acid sequence. To fit NMR data, SeqDYN uses 21 parameters, 20 that correspond to each amino acid, and a sequence correlation length for interactions. The model demonstrates that local sequence features impact the dynamics of the IDP, as SeqDYN performs better than a one residue predictor, despite having similar numbers of parameters. SeqDYN is trained using 45 IDP sequences and is retrained using both leave-one-out cross validation and five-fold cross validation, ensuring the model's robustness. While SeqDYN can provide reasonably accurate predictions in many cases, the authors note that improvements can be made by incorporating secondary structure predictions, especially for alpha-helices that exceed the correlation length of the model. The authors apply SeqDYN to study nine IDPs and a denatured ordered protein, demonstrating its predictive power. The model can be easily accessed via the website mentioned in the text.

      While the conclusions of the paper are primarily supported by the data, there are some points that could be extended or clarified.

      (1) The authors state that the model includes 21 parameters. However, they exclude a free parameter that acts as a scaling factor and is necessary to fit the experimental data (lambda). As a result, SeqDYN does not predict the spectrum from the sequence de-novo, but requires a one parameter fitting. The authors mention that this factor is necessary due to non-sequence dependent factors such as the temperature and magnetic field strength used in the experiment.

      Given these considerations, would it be possible to predict what this scaling factor should be based on such factors?

      There are still too few data to make such a prediction.

      (2) The authors mention that the Lorentzian functional form fits the data better than a Gaussian functional form, but do not present these results.

      We tested the different functional forms at the early stage of the method development. The improvement of the Lorentzian over the Gaussian was slight and we simply decided on the Lorentzian and did not go back and do a systematic analysis.

      (3) The authors mention that they conducted five-fold cross validation to determine if differences between amino acid parameters are statistically significant. While two pairs are mentioned in the text, there are 190 possible pairs, and it would be informative to more rigorously examine the differences between all such pairs.

      We now present t-test results for other pairs in new Fig. S3.

      Reviewer #3 (Public Review):

      The manuscript by Qin and Zhou presents an approach to predict dynamical properties of an intrinsically disordered protein (IDP) from sequence alone. In particular, the authors train a simple (but useful) machine learning model to predict (rescaled) NMR R2 values from sequence. Although these R2 rates only probe some aspects of IDR dynamics and the method does not provide insight into the molecular aspects of processes that lead to perturbed dynamics, the method can be useful to guide experiments.

      A strength of the work is that the authors train their model on an observable that directly relates to protein dynamics. They also analyse a relatively broad set of proteins which means that one can see actual variation in accuracy across the proteins.

      A weakness of the work is that it is not always clear what the measured R2 rates mean. In some cases, these may include both fast and slow motions (intrinsic R2 rates and exchange contributions). This in turn means that it is actually not clear what the authors are predicting. The work would also be strengthened by making the code available (in addition to the webservice), and by making it easier to compare the accuracy on the training and testing data.

      Our method predicts the sequence dependence of R2, which is dominated by slower dynamics.

      Recommendations for the authors:

      Reviewer #2 (Recommendations For The Authors):

      (1) Should make sure to define abbreviations such as NMR and SeqDYN.

      We now spell out NMR at first use. SeqDYN is the name of our method and is not an abbreviation.

      (2) The authors do not mention how the curves in Figure 2A are calculated.

      As we stated in the figure caption, these curves are drawn to guide the eye.

      (3) May be interesting to explore how the model parameters (q) correlate with different measures of hydrophobicity (especially those derived for IDPs like Urry). This may point to a relationship between amino acid interactions and amino acid dynamics

      We now present the correlation between q and a stickiness parameter refined by Tesei et al. (new ref 45) and used for predicting phase separation equilibrium (new Fig. S6).

      (4) The authors demonstrate that secondary structure cannot be fully accounted for by their model. They make a correction for extended alpha-helices, but the strength of this correction seems to only be based on one sequence. Would a more rigorous secondary structure correction further improve the model and perhaps allow its transferability to ordered proteins?

      We have five 4 test cases (Figs. 4E, F and 5H, I). However, we doubt that the SeqDYN method will be transferable to ordered proteins.

      Reviewer #3 (Recommendations For The Authors):

      Changes that could strengthen the manuscript substantially.

      (1) The authors do not really define what they mean by dynamics, but given that they train and benchmark on R2 measurements, the directly probe whatever goes into the measured R2. Using a direct measurement is a strength since it makes it clear what they are predicting. It also, however, makes it difficult to interpret. This is made clear in the text when the authors, for example write "𝑅2 is the one most affected by slower dynamics (10s of ns to 1 μs and beyond)." First, with the "and beyond" it could literally mean anything. Second, the "normal" R2 rate is limited up to motions up to the (local) "tumbling/reorganization" time (which is much faster), so any slow motions that go into R2 would be what one would normally call "exchange". The authors should thus make it clearer what exactly it is they are probing. In the end, this also depends on the origin of the experimental data, and whether the "R2" measurements are exchange-free or not. This may be a mixture, which hampers interpretations and which may also explain some of the rescaling that needs to be done.

      We now remove “and beyond”, and also raise the possibility that R2 measurements based on 15N relaxation may have relatively small exchange contributions (p. 17).

      (2) Related to the above, the authors might consider comparing their predictions to the relaxation experiments from Kriwacki and colleagues on a fragment of p27. In that work, the authors used dispersion experiments to probe the dynamics on different timescales. The authors would here be able to compare both to the intrinsic R2 rates (when slow motions are pulsed away) as well as the effective R2 rates (which would be the most common measurement). This would help shed light on (at least in one case) which type of R2 the prediction model captures. https://doi.org/10.1021/jacs.7b01380

      We now report this comparison in new Fig. S5 and discuss its implications (p. 17-18).

      (3) In some cases, disagreement between prediction and experiments is suggested to be due to differences in temperature, and hence is used as an argument for the rescaling done. Here, the authors use a factor of 2.0 to explain a difference between 278K and 298K, and a factor of 2.4 to explain the difference between 288K and 298K. It would be surprising if the temperature effect from 288K->298K is larger than from 278K->298K. Does this not suggest that the differences come as much from other sources?

      Note that the scaling factors 2.0 and 2.4 were obtained on two different IDPs. It is most likely that different IDPs have different scaling factors for temperature change. As a simple model, the tumbling time for a spherical particle scales with viscosity and the particle volume; correspondingly the scaling factor for temperature change should be greater for a larger particle than for a smaller particle.

      (4) The authors find (as have others before) aromatic residues to be common at/near R2 peaks. They suggest this to be indicative for Pi-Pi interactions. Could this not be other types of interactions since these residues are also "just" more hydrophobic? Also, can the authors rule out that the increased R2 rates near aromatic residues is not due to increased dynamics, but simply due to increased Rex-terms due to greater fluctuations in the chemical shifts near these residues (due to the large ring current effects).

      We noted both pi-pi and cation-pi as possible interactions that raise R2. There can be other interactions involving aromatic residues, but it’s unlikely to be only hydrophobic as Arg is also in the high-q end. For the same reason, a ring-current based explanation would be inadequate.

      (5) The authors write: "We found that, by filtering PsiPred (http://bioinf.cs.ucl.ac.uk/psipred) (35) helix propensity scores (𝑝,-.) with a very high cutoff of 0.99, the surviving helix predictions usually correspond well with residues identified by NMR as having high helix propensities." It would be good to show the evidence for this in the paper, and quantify this statement.

      The cases of most interest are the ones with long predicted helices, of which there are only 3 in the training set. For Sev-NT and CBP-ID4, we already summarize the NMR data for helix identification in the first paragraph of Results; the third case is KRS-NT, which we elaborate in p. 14.

      (6) When analysing the nine test proteins, it would be very useful for the reader to get a number for the average accuracy on the nine proteins and a corresponding number for the training proteins. The numbers are maybe there, but hard to find/compare. This would be important so that one can understand how well the model works on the training vs testing data.

      We now present the mean RMSE comparison in p. 14.

      (7) The authors write: "The 𝑞 parameters, while introduced here to characterize the propensities of amino acids to participate in local interactions, appear to correlate with the tendencies of amino acids to drive liquid-liquid phase separation." It would be good to show this data and quantify this.

      We now list supporting data in p. 18 and present new Fig. S6 for further support.

      (8) It is great that the authors have made a webservice available for easy access to the work. They should in my opinion also make the training code and data available, as well as the final trained model. Here it would also be useful to show the results from the use of a Gaussian that was also tested, and also state whether this model was discarded before or after examining the testing data.

      We have listed the IDP characteristics and sequences in Tables S1 and S2. We’re unsure whether we can disseminate the experimental R2 data without the permission of the original authors. As for the Gaussian function, as stated above, it was abandoned at an early state, before examining the testing data.

      Changes that would also be useful

      (1) The authors should make it clearer what they predict and what they don't. They mention transient helix formation and various contacts, but there isn't a one-to-one relationship between these structural features and R2 rates. Hence, they should make it clearer that they don't predict secondary structure and that an increased R2 rate may be indicative of many different structural/dynamical features on many different time scales.

      We clearly state that we apply a helix boost after the regular SeqDYN prediction.

      (2) The authors write "Instead, dynamics has emerged as a crucial link between sequence and function for IDPs" and cite their own work (reference 1) as reference for this statement. As far as I can see, that work does not study function of IDPs. Maybe the authors could cite additional work showing that the dynamics (time scales) affects function of IDPs beyond "just" structure? Otherwise, the functional consequences are not clear. Maybe the authors mean that R2 rates are indicative of (residual) structure, but that is not quite the same. Also, even in that case, there are likely more appropriate references.

      Ref. 1 summarized a number of scenarios where dynamics is related to function.

      (3) The authors might want to look at some of the older literature on interpreting NMR relaxation rates and consider whether some of it is worth citing.

      Fitting/understanding R2 profiles https://doi.org/10.1021/bi020381o https://doi.org/10.1007/s10858-006-9026-9

      MD simulations and comparisons to R2 rates without ad hoc reweighting (in addition to the papers from the authors themselves). https://doi.org/10.1021/ja710366c https://doi.org/10.1021/ja209931w

      The R2 data for the two unfolded proteins are very helpful! We now present the comparison of these data to SeqDYN prediction in Fig. 6C, D. The MD papers are superseded by more recent studies (e.g., refs. 1 and 14).

      There are more like these.

      (4) In the analysis of unfolded lysozyme, I assume that the authors are treating the methylated cysteines (which are used in the experiments) simply as cysteine. If that is the case, the authors should ideally mention this specifically.

      Treatment of methylated cysteines is now stated in the Fig. 6 caption.

      (5) The authors write "Pro has an excessively low ms𝑅2 [with data from only two IDPs (32, 33)], but that is due to the absence of an amide proton." It would be useful with an explanation why lacking a proton gives rise to low 15N R2 rates.

      That assertion originated from ref. 32.

      (6) When applying the model, the authors predict msR2 and then compare to experimental R2 by rescaling with a factor gamma. It would be good to make it clearer whether this parameter is always fitted to the experiments in all the comparisons. It would be useful to list the fitted gamma values for all the proteins (e.g. in Table S1).

      We already give a summary of the scaling factors (“For 39 of the 45 IDPs, Υ values fall in the range of 0.8 to 2.0 s–1”, p. 10).

      (7) p. 14 "nineth" -> "ninth"

      Corrected

    1. In time you would become so eloquent that just to gaze upon you would reveal it all. And so it is with these silent green lives.

      Eventually it gets easier to see people's stories. It is similar to how if we look at a plant we can tell what stage of life it's in because of the way it looks on the outside. (standing up, bending, wilting, color, etc.)

    2. There is an earthy sexuality to a garden, and most of the students get drawn in to the revelation of fruit.

      It's interesting how people view food so simply and almost inhumanely. They'd rather just see their food as a material with little depth. Once they make those genuine scientific connections that humans have to food, it feels gross. *We have no idea what we're eating and we don't really want to know. *

    3. A sculpture is just a piece of rock with topography hammered out and chiseled in, but that piece of rock can open your heart in a way that makes you different for having seen it. It brings its message without a single word.

      This again continues that message that actions and the intent of something can create a message on it's own. Like the sculpture conveying a message without word, plants do the same, and I think that in some cases this can also relate to people and how they act and present themselves to others.

    1. Author response:

      The following is the authors’ response to the previous reviews.

      Public Reviews: 

      Reviewer #1 (Public Review): 

      Summary: 

      The manuscript proposes an alternative method by SDS-PAGE calibration of Halo-Myo10 signals to quantify myosin molecules at specific subcellular locations, in this specific case filopodia, in epifluorescence datasets compared to the more laborious and troublesome single molecule approaches. Based on these preliminary estimates, the authors developed further their analysis and discussed different scenarios regarding myosin 10 working models to explain intracellular diffusion and targeting to filopodia. 

      Strengths: 

      I confirm my previous assessment. Overall, the paper is elegantly written and the data analysis is appropriately presented. Moreover, the novel experimental approach offers advantages to labs with limited access to high-end microscopy setups (super-resolution and/or EM in particular), and the authors proved its applicability to both fixed and live samples. 

      Weaknesses: 

      Myself and the other two reviewers pointed to the same weakness, the use of protein overexpression in U2OS. The authors claim that Myosin10 is not expressed by U2OS, based on Western blot analysis. Does this completely rule out the possibility that what they observed (the polarity of filopodia and the bulge accumulation of Myo10) could be an artefact of overexpression? I am afraid this still remains the main weakness of the paper, despite being properly acknowledged in the Limitations.

      Respectfully, our observations do not capture an “artefact” of overexpression but rather the “response” to overexpression. Our goal in this project was to overexpress Myo10 in a situation where it is the limiting reagent for generating filopodia. As Reviewer 3 notes below, overexpression shows that filopodial tips “can accommodate a surprisingly (shockingly) large number of motors.” This is exactly the point. Reviewer 2 considered our handling of this issue to be a strength of the paper. As far as whether bulges occur in endogenous Myo10 systems, please see our comments to Reviewer 3. 

      I consider all the remaining issues I expressed during the first revision solved. 

      Reviewer #2 (Public Review): 

      Summary: 

      The paper sought to determine the number of myosin 10 molecules per cell and localized to filopodia, where they are known to be involved in formation, transport within, and dynamics of these important actin-based protrusions. The authors used a novel method to determine the number of molecules per cell. First, they expressed HALO tagged Myo10 in U20S cells and generated cell lysates of a certain number of cells and detected Myo10 after SDS-PAGE, with fluorescence and a stained free method. They used a purified HALO tagged standard protein to generate a standard curve which allowed for determining Myo10 concentration in cell lysates and thus an estimate of the number of Myo10 molecules per cell. They also examined the fluorescence intensity in fixed cell images to determine the average fluorescence intensity per Myo10 molecule, which allowed the number of Myo10 molecules per region of the cell to be determined. They found a relatively small fraction of Myo10 (6%) localizes to filopodia. There are hundreds of Myo10 in each filopodia, which suggests some filopodia have more Myo10 than actin binding sites. Thus, there may be crowding of Myo10 at the tips, which could impact transport, the morphology at the tips, and dynamics of the protrusions themselves. Overall, the study forms the basis for a novel technique to estimate the number of molecules per cell and their localization to actin-based structures. The implications are broad also for being able to understand the role of myosins in actin protrusions, which is important for cancer metastasis and wound healing. 

      Strengths: 

      The paper addresses an important fundamental biological question about how many molecular motors are localized to a specific cellular compartment and how that may relate to other aspects of the compartment such as the actin cytoskeleton and the membrane. The paper demonstrates a method of estimating the number of myosin molecules per cell using the fluorescently labeled HALO tag and SDS-PAGE analysis. There are several important conclusions from this work in that it estimates the number of Myo10 molecules localized to different regions of the filopodia and the minimum number required for filopodia formation. The authors also establish a correlation between number of Myo10 molecules filopodia localized and the number of filopodia in the cell. There is only a small % of Myo10 that tip localized relative to the total amount in the cell, suggesting Myo10 have to be activated to enter the filopodia compartment. The localization of Myo10 is log-normal, which suggests a clustering of Myo10 is a feature of this motor. 

      One of the main critiques of the manuscript was that the results were derived from experiments with overexpressed Myo10 and therefore are hard to extrapolate to physiological conditions. The authors counter this critique with the argument that their results provide insight into a system in which Myo10 is a limiting factor for controlling filopodia formation. They demonstrate that U20S cells do not express detectable levels of Myo10 (supplementary Figure 1E) and thus introducing Myo10 expression demonstrates how triggering Myo10 expression impacts filopodia. An example is given how melanoma cells often heavily upregulate Myo10. 

      In addition, the revised manuscript addresses the concerns about the method to quantitate the number of Myo10 molecules per cell and therefore puncta in the cell. The authors have now made a good faith effort to correct for incomplete labeling of the HALO tag (Figure 2A-C, supplementary Figure 2D-E). The authors also address the concerns about variability in transfection efficiency (Figure 1D-E). 

      A very interesting addition to the revised manuscript was the quantitation of the number of Myo10 molecules present during an initiation event when a newly formed filopodia just starts to elongate from the plasma membrane. They conclude that 100s of Myo10 molecules are present during an initiation event. They also examined other live cell imaging events in which growth occurs from a stable filopodia tip and correlated with elongation rates. 

      Weaknesses: 

      The authors acknowledge that a limitation of the study is that all of the experiments were performed with overexpressed Myo10. They address this limitation in the discussion but also provide important comparisons for how their work relates to physiological conditions, such as melanoma cells that only express large amounts of Myo10 when they are metastatic. Also, the speculation about how fascin can outcompete Myo10 should include a mechanism for how the physiological levels of fascin can complete with the overabundance of Myo10 (page 10, lines 401-408). 

      We have expanded the discussion about fascin competing with high concentrations of Myo10 in filopodial tips on pg. 15. The key feature is that fascin binding in a bundle is essentially irreversible, so it wins if any space opens up and it manages to bind before the next Myo10 arrives.

      Reviewer #3 (Public Review): 

      Summary 

      The work represents progress in quantifying the number of Myo10 molecules present in the filopodia tip. It reveals that cells overexpressing fluorescently labeled Myo10 that the tip can accommodate a wide range of Myo10 motors, up to hundreds of molecules per tip. 

      The revised, expanded manuscript addresses all of this reviewer's original comments. The new data, analysis and writing strengthen the paper. Given the importance of filopodia in many cellular/developmental processes and the pivotal, as yet not fully understood role of Myo10 in their formation and extension, this work provides a new look at the nature of the filopodial tip and its ability to accommodate a large number of Myo10 motor proteins through interactions with the actin core and surrounding membrane. 

      Specific comments - 

      (1) One of the comments on the original work was that the analysis here is done using cells ectopically expressing HaloTag-Myo10. The author's response is that cells express a range of Myo10 levels and some metastatic cancer cells, such as breast cancer, have significantly increased levels of Myo10 compared to non-transformed cell lines. It is not really clear how much excess Myo10 is present in those cells compared to what is seen here for ectopic expression in U2OS cells, making a direct correspondence difficult.

      We agree, a direct correspondence is difficult, and is further complicated by other variables (e.g., expression levels of Myo10 activators, cargoes, fascin, or other filopodial components) that may differ among cell lines. Properly sorting this out will require additional work in a few key cellular systems.

      However, there are two points to keep in mind that somewhat mitigate this concern. First, because ectopic expression of Myo10 causes an ~30x increase in the number of filopodia, the activated Myo10 population is divided over that larger filopodial population. Second, the log-normal distribution of Myo10 across filopodia has a long tail, which means that some cells with low levels of Myo10 will concentrate that Myo10 in a few filopodia. 

      In response to comments about the bulbous nature of many filopodia tips the authors point out that similar-looking tips are seen when cells are immunostained for Myo10, citing Berg & Cheney (2002). In looking at those images as well as images from papers examining Myo10 immunostaining in metastatic cancer cells (Arjonen et al, 2014, JCI; Summerbell et al, 2020, Sci Adv) the majority of the filopodia tips appear almost uniformly dot-like or circular. There is not too much evidence of the elongated, bulbous filopodial tips seen here.

      Yes, the tips in Berg and Cheney are circular, but their size varies considerably (just as a balloon is roughly circular, its size varies with the amount of air it contains). Non-bulbous filopodial tips have a theoretical radius of ~100 nm, which is below the diffraction limit. However, many of the filopodial tips are larger than the diffraction limit in Berg and Cheney, Fig. 1a. We cropped and zoomed in the images to show each fully visible filopodial tip

      We attempted to perform a similar analysis of the images in Arjonen and Summerbell. Unfortunately, their images are too small to do so. 

      However, in reconsidering the approach and results, it is the case that the finding here do establish the plasticity of filopodia tips that can accommodate a surprisingly (shockingly) large number of motors. The authors discuss that their results show that targeting molecules to the filopodia tip is a relatively permissive process (lines 262 - 274). That could be an important property that cells might be able to use to their advantage in certain contexts. 

      (2) The method for arriving at the intensity of an individual filopodium puncta (starting on line 532 and provided in the Response), and how this is corrected for transfection efficiency and the cell-to-cell variation in expression level is still not clear to this reviewer. The first part of the description makes sense - the authors obtain total molecules/cell based on the estimation on SDS-PAGE using the signal from bound Halo ligand. It then seems that the total fluorescence intensity of each expressing cell analyzed is measured, then summed to get the average intensity/cell. The 'total pool' is then arrived at by multiplying the number of molecules/cell (from SDS-PAGE) by the total number of cells analyzed. After that, then: 'to get the number of molecules within a Myo10 filopodium, the filopodium intensity was divided by the bioreplicate signal intensity and multiplied by 'total pool.' ' The meaning of this may seem simple or straightforward to the authors, but it's a bit confusing to understand what the 'bioreplicate signal intensity' is and then why it would be multiplied by the 'total pool'. This part is rather puzzling at first read.

      We agree, such information is critical. We have now revised this description with more precise terms and have included a formula on pg. 20.

      Since the approach described here leads the authors to their numerical estimates every effort should be made to have it be readily understood by all readers. A flow chart or diagram might be helpful. 

      We have added a diagram of the calculations to the supplemental material (Figure 1—figure supplement 3). We hope that both changes will make it easier for others to follow our work.

      (3) The distribution of Myo10 punctae around the cell are analyzed (Fig 2E, F) and the authors state that they detect 'periodic stretches of higher Myo10 density along the plasma membrane' (line 123) and also that there is correlation and anti-correlation of molecules and punctae at opposite ends of the cells. 

      In the first case, it is hard to know what the authors really mean by the phrase 'periodic stretches'. It's not easy to see a periodicity in the distribution of the punctae in the many cells shown in Supp Fig 3. Also, the correlation/anti-correlation is not so easily seen in the quantification shown in Fig 2F. Can the authors provide some support or clarification for what they are stating? 

      The periodic pattern that we refer to is most apparent in the middle panels of Fig. 2E, F. These panels show the density of Myo10 puncta. These puncta numbers closely correspond to filopodia counts, with the caveat that some filopodia might have multiple puncta. This periodic density might not be as apparent in the raw data shown in Supp. Fig. 3. We have therefore rewritten this paragraph to clarify our observations (pg. 6).

      (4) The authors are no doubt aware that a paper from the Tyska lab that employs a completely different method of counting molecules arrives at a much lower number of Myo10 molecules at the filopodial tip than is reported here was just posted (Fitz & Tyska, 2024, bioRxiv, DOI: 10.1101/2024.05.14.593924). 

      While it is not absolutely necessary for the authors to provide a detailed discussion of this new work given the timing, they may wish to consider adding a note briefly addressing it. 

      We are aware of this manuscript and that it uses a different approach for calibrating the fluorescence signal in microscopy. However, we are not comfortable commenting on that manuscript at this time, given that it has not yet been peer reviewed with the chance for author revisions.

      Recommendations for the authors: 

      Reviewer #1 (Recommendations For The Authors): 

      The manuscript the authors are now presenting does not comply with the formatting limits of a Short report, but it is instead presented as a full article type. I believe the authors could shorten the Discussion, and meet the criteria for a more appropriate Short Report format. 

      For instance, I continue to believe that the study of truncation variants could sustain the claim that membrane binding represents the driving force that leads to Myo10 accumulation. I understand the authors want to address these mechanisms in a follow-up story, for this reason, I encourage them to shorten the discussion, which seems unnecessarily long for a technique-based manuscript.

      In the first round of review, Reviewer 3 asked us to expand the discussion. Given that, we are happy with where we have landed on the length of the discussion.

      Figure 2, could include some images to facilitate the readers on the different messages of the two rose plots E and F, by picking one of the examples from the supplementary Figure 3 

      We have now added a supplemental figure showing an example cell (Fig. 2 figure supplement 2). But please note that the averaging of ~150 cells (Fig. 2E, F) should be more reliable to show these overall trends.

      Reviewer #2 (Recommendations For The Authors): 

      Also, the speculation about how fascin can outcompete Myo10 should include a mechanism for how the physiological levels of fascin can complete with the overabundance of Myo10 (page 10, lines 401-408). 

      As noted above, we have now clarified this point. 

      Reviewer #3 (Recommendations For The Authors): 

      line 495 - what is GOC? 

      We have now defined this oxygen scavenger system in the main text.

      lines 603/604 - it is stated that 'velocity analysis does not only account for Myo10 punctum that moved away from the starting point of the trajectory.' It's not clear what this really means. 

      The sentence now reads: "For Figure 4 parts G-H, note that velocity analysis includes a few Myo10 puncta that switch direction within a single trajectory (e.g., a retracting punctum that then elongates)."

      References #4 and #14 are the same. 

      Thank you for catching that; it has now been corrected.

      Fig 1C - the plot for signal intensity versus fmol of protein has numbers for the standard and then live and fixed cells. While the R2 value is quite good, it seems a bit odd that the three (?) data points for live cells are all quite small relative to the fixed cells and all bunched together at the left side of the plot. 

      As mentioned in the main text, the time post-transfection has a noticeable effect on the level of Myo10 expression. The three fixed-cell bioreplicates had higher Myo10 expression because they were analyzed 48 hours post-transfection compared to the three live-cell bioreplicates (24 hours). Therefore, the fixed cell data points are larger in value because they represent more molecules, and the live cell data points are on the left side of the plot because they represent fewer molecules.

    1. Author response:

      The following is the authors’ response to the original reviews.

      We thank the reviewers and the editorial team for a thoughtful and constructive assessment. We appreciate all comments, and we try our best to respond appropriately to every reviewer’s queries below. It appears to us that one main worry was regarding appropriate modelling of the complex and rich structure of confounding variables in our movie task. 

      One recent approach fits large feature vectors that include confounding variables along the variable(s) of interest to the activity of each voxel in the brain to disentangle the contributions of each variable to the total recorded brain response. While these encoding models have yielded some interesting results, they have two major drawbacks which makes using them unfeasible for our purposes (as we explain in more detail below): first, by fitting large vectors to individual voxels, they tend to over-estimate effect size; second, they are very ineffective at unveiling group-level effects due to high variability between subjects. Another approach able to deal with at least the second of these worries is “inter-subject-correlation”. In this technique brain responses are recorded from multiple subjects while they are presented with natural stimuli. For each brain area, response time courses from different subjects are correlated to determine whether the responses are similar across subjects. Our “peak and valley” analysis is a special case of this analysis technique, as we explain in the manuscript and below. 

      For estimating individual-level brain-activation, we opted for an approach that adapts a classical method of analysing brain data – convolution - to naturalistic settings. Amplitude modulated deconvolution extends classical brain analysis tools in several ways to handle naturalistic data:

      (1) The method does not assume a fixed hemodynamic response function (HRF). Instead, it estimates the HRF over a specified time window from the data, allowing it to vary in amplitude based on the stimulus. This flexibility is crucial for naturalistic stimuli, where the timing and nature of brain responses can vary widely. 

      (2) The method only models the modulation of the amplitude of the HRF above its average with respect to the intensity or characteristics of the stimulus. 

      (3) By allowing variation in the response amplitude, non-linear relationships between the stimulus and brain-response can be captured. 

      It is true that amplitude modulated deconvolution does not come without its flaws – for example including more than a few nuisance regressors becomes computationally very costly. Getting to grips with naturalistic data (especially with fMRI recordings) continuous to be an active area of research and presents a new and exciting challenge. We hope that we can convince reviewers and editors with this response and the additional analyses and controls performed, that the evidence presented for the visual context dependent recruitment of brain areas for abstract and concrete conceptual processing is not incomplete. 

      Overview of Additional Analyses and Controls Performed by the Authors:

      (1) Individual-Level Peaks and Valleys Analysis (Supplementary Material, Figures S3, S4, and S5)

      (2) Test of non-linear correlations of BOLD responses related to features used in the Peak and Valley Analysis (Supplementary Material, Figures S6, S7)

      (3) Comparison of Psycholinguistic Variables Surprisal and Semantic Diversity between groups of words analysed (no significant differences found)  

      (4) Comparison of Visual Variables Optical Flow, Colour Saturation, and Spatial Frequency for 2s Context Window between groups of words analysed (no significant differences found)

      These controls are in addition to the five low-level nuisance regressors included in our model, which are luminance, loudness, duration, word frequency, and speaking rate (calculated as the number of phonemes divided by duration) associated with each analysed word. 

      Public Reviews:

      Reviewer #1 (Public Review):

      Peaks and Valleys Analysis: 

      (1) Doesn't this method assume that the features used to describe each word, like valence or arousal, will be linearly different for the peaks and valleys? What about non-linear interactions between the features and how they might modulate the response? 

      Within-subject variability in BOLD response delays is typically about 1 second at most (Neumann et al., 2003). As individual words are presented briefly (a few hundred Ms at most) and the BOLD response to these stimuli falls within that window (1s/TR), any nonlinear interactions between word features and a participant’s BOLD response within that window are unlikely to significantly affect the detection of peaks and valleys.

      To quantitatively address the concern that non-linear modulations could manifest outside of that window, we include a new analysis in Figure S6, which compares the average BOLD responses of each participant in each cluster and each combination of features, showing that only a very few of all possible comparisons differ significantly from each other (~ 5000 combinations of features were significantly different from each other given an overall number of ~130.000 comparisons between BOLD responses to features, which amounts to 3.85%), suggesting that there are no relevant non-linear interactions between features. For a full list of the most non-linearly interacting features see Figure S7. 

      (2) Doesn't it also assume that the response to a word is infinitesimal and not spread across time? How does the chosen time window of analysis interact with the HRF? From the main figures and Figures S2-S3 there seem to be differences based on the timelag. 

      The Peak and Valley (P&V) method does not assume that the response to a word is infinitesimal or confined to an instantaneous moment. The units of analysis (words) fall within one TR, as they are at most hundreds of Ms long – for this reason, we are looking at one TR only. The response of each voxel at that TR will be influenced by the word of interest, as well as all other words that have been uttered within the 1s TR, and the multimodal features of the video stimulus that fall within that timeframe. So, in our P&V, we are not looking for an instantaneous response but rather changes in the BOLD signal that correspond to the presence of linguistic features within the stimuli. 

      The chosen time window of analysis interacts with the human response function (HRF) in the following way: the HRF unfolds over several seconds, typically peaking around 5-6 seconds after stimulus onset and returning to baseline within 20-30 seconds (Handwerker et al., 2004).

      Our P&V is designed to match these dynamics of fMRI data with the timing of word stimuli. We apply different lags (4s, 5s, and 6s) to account for the delayed nature of the HRF, ensuring that we capture the brain's response to the stimuli as it unfolds over time, rather than assuming an immediate or infinitesimal effect. We find that the P&V yields our expected results for a 5s and a 6s lag, but not a 4s lag. This is in line with literature suggesting that the HRF for a given stimulus peaks around 5-6s after stimulus onset (Handwerker et al., 2004). As we are looking at very short stimuli (a few hundred ms) it makes sense that the distribution of features would significantly change with different lags. The fact that we find converging results for both a 5s and 6s lag, suggests that the delay is somewhere between 5s and 6s. There is no way of testing this hypothesis with the resolution of our brain data, however (1 TR). 

      (3) Were the group-averaged responses used for this analysis? 

      Yes, the response for each cluster was averaged across participants. We now report a participant-level overview of the Peak and Valley analysis (lagged at 5s) with similar results as the main analysis in the supplementary material see Figures S3, S4, and S5.

      (4) Why don't the other terms identified in Figure 5 show any correspondence to the expected categories? What does this mean? Can the authors also situate their results with respect to prior findings as well as visualize how stable these results are at the individual voxel or participant level? It would also be useful to visualize example time courses that demonstrate the peaks and valleys. 

      The terms identified in figure 5 are sensorimotor and affective features from the combined Lancaster and Brysbaert norms. As for the main P&V analysis, we only recorded a cluster as processing a given feature (or term) when there were significantly more instances of words highly rated in that dimension occurring at peaks rather than valleys in the HRF. For some features/terms, there were never significantly more words highly rated on that dimension occurring at peaks compared to valleys, which is why some terms identified in figure 5 do not show any significant clusters.  We have now also clarified this in the figure caption. 

      We situate the method in previous literature in lines 289 – 296. In essence, it is a variant of the well-known method called “reverse correlation” first detailed in Hasson et al., 2004 (reference from the manuscript) and later adapter to a peak and valley analysis in Skipper et al., 2009 (reference from the manuscript). 

      We now present a more fine-grained characterisation of each cluster on an individual participant level in the supplementary material. We doubt that it would be useful to present an actual example time-course as it would only represent a fraction of over one hundred thousand analysed time-series. We do already present an exemplary time-course to demonstrate the method in Figure 1. 

      Estimating contextual situatedness: 

      (1) Doesn't this limit the analyses to "visual" contexts only? And more so, frequently recognized visual objects? 

      Yes, it was the point of this analysis to focus on visual context only, and it may be true that conducting the analysis in this way results in limiting it to objects that are frequently recognized by visual convolutional neural networks. However, the state-of-the-art strength of visual CNNs in recognising many different types of objects has been attested in several ways (He et al., 2015). Therefore, it is unlikely that the use of CNNs would bias the analysis towards any specific “frequently recognised” objects. 

      (2) The measure of situatedness is the cosine similarity of GloVe vectors that depend on word co-occurrence while the vectors themselves represent objects isolated by the visual recognition models. Expectedly, "science" and the label "book" or "animal" and the label "dog" will be close. But can the authors provide examples of context displacement? I wonder if this just picks up on instances where the identified object in the scene is unrelated to the word. How do the authors ensure that it is a displacement of context as opposed to the two words just being unrelated? This also has a consequence on deciding the temporal cutoff for consideration (2 seconds). 

      The cosine similarity is between the GloVe vectors of the word (that is situated or displaced) and the words referring to the objects identified by the visual recognition model. Therefore, the correlation is between more than just two vectors and both correlated representations depend on co-occurrence. The cosine similarity value reported is not from a comparison between GloVe vectors and vectors that are (visual) representations of objects from the visual recognition model. 

      A word is displaced if all the identified object-words in the defined context window (2s before word-onset) are unrelated to the word (_see lines 105-110 (pg. 5); lines 371-380 pg. 1516 and Figure 2 caption). Thus, a word is considered to be displaced if _all identified objects (not just two as claimed by the reviewer) in the scene are unrelated to the word. Given a context of 60 frames and an average of 5 identified objects per frame (i.e. an average candidate set of 300 objects that could be related) per word, the bar for “displacement” is set high. We provide some further considerations justifying the context window below in our responses to reviewers 2 and 3. 

      (3) While the introduction motivated the problem of context situatedness purely linguistically, the actual methods look at the relationship between recognized objects in the visual scene and the words. Can word surprisal or another language-based metric be used in place of the visual labeling? Also, it is not clear how the process identified in (2) above would come up with a high situatedness score for abstract concepts like "truth". 

      We disagree with the reviewer that the introduction motivated the problem of context situatedness purely linguistically, as we explicitly consider visual context in the abstract as well as the introduction. Examples in text include lines 71-74 and lines 105-115. This is also reflected in the cited studies that use visual context, including Kalenine et al., 2014; Hoffmann et al., 2013; Yee & Thompson-Schill, 2016; Hsu et al., 2011. However, we appreciate the importance of being very clear about this point, so we added various mentions of this fact at the beginning of the introduction to avoid confusion.

      We know that prior linguistic context (e.g. measured by surprisal) does affect processing. The point of the analysis was to use a non-language-based metric of visual context to understand how this affects conceptual representation in naturalist settings. Therefore, it is not clear to us why replacing this with a language-based metric such as surprisal would be an adequate substitution. However, the reviewer is correct that we did not control for the influence of prior context. We obtained surprisal values for each of our words but could not find any significant differences between conditions and therefore did not include this factor in the analyses conducted.  For considerations of differences in surprisal between each of the analysed sets of words, see the supplementary material.  

      The method would yield a high score of contextual situatedness for abstract concepts if there were objects in the scene whose GloVe embeddings have a close cosine distance to the GloVe embedding of that abstract word (e.g., “truth” and “book”). We believe this comment from the reviewer is rooted in a misconception of our method. They seem to think we compared GloVe vectors for the spoken word with vectors from a visual recognition model directly (in which case it is true that there would be a concern about how an abstract concept like “truth” could have a high situatedness). Apart from the fact that there would be concerns about the comparability of vectors derived from GloVe and a visual recognition model more generally, this present concern is unwarranted in our case, as we are comparing GloVe embeddings.  

      (4) It is a bit hard to see the overlapping regions in Figures 6A-C. Would it be possible to show pairs instead of triples? Like "abstract across context" vs. "abstract displaced"? Without that, and given (2) above, the results are not yet clear. Moreover, what happens in the "overlapping" regions of Figure 3? 

      To make this clearer, we introduced the contrasts (abstract situated vs displaced and concrete situated vs displaced) that were previously in the supplementary materials in the main text (now Figure 6, this was also requested by reviewer 2). We now show the overlap between the abstract situated (from the contrast in Figure 6) with concrete across context and the overlap between concrete displaced (from the contrast in Figure 6) with abstract across context separately in Figure 7. 

      The overlapping regions of Figure 3 indicate that both concrete and abstract concepts are processed in these regions (though at different time-points). We explain why this is a result of our deconvolution analysis on page 23:  

      “Finally, there was overlap in activity between modulation of both concreteness and abstractness (Figure 3, yellow). The overlap activity is due to the fact that we performed general linear tests for the abstract/concrete contrast at each of the 20 timepoints in our group analysis. Consequently, overlap means that activation in these regions is modulated by both concrete and abstract word processing but at different time-scales. In particular, we find that activity modulation associated with abstractness is generally processed over a longer time-frame. In the frontal, parietal, and temporal lobes, this was primarily in the left IFG, AG, and STG, respectively. In the occipital lobe, processing overlapped bilaterally around the calcarine sulcus.”

      Miscellaneous comments: 

      (1) In Figure 3, it is surprising that the "concrete-only" regions dominate the angular gyrus and we see an overrepresentation of this category over "abstract-only". Can the authors place their findings in the context of other studies? 

      The Angular Gyrus (AG) is hypothesised to be a general semantic hub; therefore it is not surprising that it should be active for general conceptual processing (and there is some overlap activation in posterior regions). We now situate our results in a wider range of previous findings in the results section under “Conceptual Processing Across Context”. 

      “Consistent with previous studies, we predicted that across naturalistic contexts, concrete and abstract concepts are processed in a separable set of brain regions. To test this, we contrasted concrete and abstract modulators at each time point of the IRF (Figure 3). This showed that concrete produced more modulation than abstract processing in parts of the frontal lobes, including the right posterior inferior frontal gyrus (IFG) and the precentral sulcus (Figure 3, red). Known for its role in language processing and semantic retrieval, the IFG has been hypothesised to be involved in the processing of action-related words and sentences, supporting both semantic decision tasks and the retrieval of lexical semantic information (Bookheimer, 2002; Hagoort, 2005). The precentral sulcus is similarly linked to the processing of action verbs and motor-related words (Pulvermüller, 2005). In the temporal lobes, greater modulation occurred in the bilateral transverse temporal gyrus and sulcus, planum polare and temporale. These areas, including primary and secondary auditory cortices, are crucial for phonological and auditory processing, with implications for the processing of sound-related words and environmental sounds (Binder et al., 2000). The superior temporal gyrus (STG) and sulcus (STS) also showed greater modulation for concrete words and these are said to be central to auditory processing and the integration of phonological, syntactic, and semantic information, with a particular role in processing meaningful speech and narratives (Hickok & Poeppel, 2007). In the parietal and occipital lobes, more concrete modulated activity was found bilaterally in the precuneus, which has been associated with visuospatial imagery, episodic memory retrieval, and self-processing operations and has been said to contribute to the visualisation aspects of concrete concepts (Cavanna & Trimble, 2006). More activation was also found in large swaths of the occipital cortices (running into the inferior temporal lobe), and the ventral visual stream. These regions are integral to visual processing, with the ventral stream (including areas like the fusiform gyrus) particularly involved in object recognition and categorization, linking directly to the visual representation of concrete concepts (Martin, 2007). Finally, subcortically, the dorsal and posterior medial cerebellum were more active bilaterally for concrete modulation. Traditionally associated with motor function, some studies also implicate the cerebellum in cognitive and linguistic processing, including the modulation of language and semantic processing through its connections with cerebral cortical areas (Stoodley & Schmahmann, 2009).

      Conversely, activation for abstract was greater than concrete words in the following regions (Figure 3, blue): In the frontal lobes, this included right anterior cingulate gyrus, lateral and medial aspects of the superior frontal gyrus. Being involved in cognitive control, decision-making, and emotional processing, these areas may contribute to abstract conceptualization by integrating affective and cognitive components (Shenhav et al., 2013). More left frontal activity was found in both lateral and medial prefrontal cortices, and in the orbital gyrus, regions which are key to social cognition, valuation, and decision-making, all domains rich in abstract concepts (Amodio & Frith, 2006). In the parietal lobes, bilateral activity was greater in the angular gyri (AG) and inferior parietal lobules, including the postcentral gyrus. Central to the default mode network, these regions are implicated in a wide range of complex cognitive functions, including semantic processing, abstract thinking, and integrating sensory information with autobiographical memory (Seghier, 2013). In the temporal lobes, activity was restricted to the STS bilaterally, which plays a critical role in the perception of intentionality and social interactions, essential for understanding abstract social concepts (Frith & Frith, 2003). Subcortically, activity was greater, bilaterally, in the anterior thalamus, nucleus accumbens, and left amygdala for abstract modulation. These areas are involved in motivation, reward processing, and the integration of emotional information with memory, relevant for abstract concepts related to emotions and social relations (Haber & Knutson, 2010, Phelps & LeDoux, 2005).

      Finally, there was overlap in activity between modulation of both concreteness and abstractness (Figure 3, yellow). The overlap activity is due to the fact that we performed general linear tests for the abstract/concrete contrast at each of the 20 timepoints in our group analysis. Consequently, overlap means that activation in these regions is modulated by both concrete and abstract word processing but at different time-scales. In particular, we find that activity modulation associated with abstractness is generally processed over a longer time-frame (for a comparison of significant timing differences see figure S9). In the frontal, parietal, and temporal lobes, this was primarily in the left IFG, AG, and STG, respectively. Left IFG is prominently involved in semantic processing, particularly in tasks requiring semantic selection and retrieval and has been shown to play a critical role in accessing semantic memory and resolving semantic ambiguities, processes that are inherently time-consuming and reflective of the extended processing time for abstract concepts (Thompson-Schill et al., 1997; Wagner et al., 2001; Hofman et al., 2015). The STG, particularly its posterior portion, is critical for the comprehension of complex linguistic structures, including narrative and discourse processing. The processing of abstract concepts often necessitates the integration of contextual cues and inferential processing, tasks that engage the STG and may extend the temporal dynamics of semantic processing (Ferstl et al., 2008; Vandenberghe et al., 2002). In the occipital lobe, processing overlapped bilaterally around the calcarine sulcus, which is associated with primary visual processing (Kanwisher et al., 1997; Kosslyn et al., 2001).”

      The finding that concrete concepts activate more brain voxels compared to abstract concepts is generally aligned with existing research, which often reports more extensive brain activation for concrete versus abstract words. This is primarily due to the richer sensory and perceptual associations tied to concrete concepts - see for example Binder et al., 2005 (figure 2 in the paper). Similarly, a recent meta-analysis by Bucur & Pagano (2021) consistently found wider activation networks for the “concrete > abstract” contrast compared to the “abstract > concrete contrast”.   

      (2) The following line (Pg 21) regarding the necessary differences in time for the two categories was not clear. How does this fall out from the analysis method? 

      - Both categories overlap **(though necessarily at different time points)** in regions typically associated with word processing - 

      This is answered in our response above to point (4) in the reviewer’s comments. We now also provide more information on the temporal differences in the supplementary material (Figure S9). 

      Reviewer #2 (Public Review):

      The critical contrasts needed to test the key hypothesis are not presented or not presented in full within the core text. To test whether abstract processing changes when in a situated context, the situated abstract condition would first need to be compared with the displaced abstract condition as in Supplementary Figure 6. Then to test whether this change makes the result closer to the processing of concrete words, this result should be compared to the concrete result. The correlations shown in Figure 6 in the main text are not focused on the differences in activity between the situated and displaced words or comparing the correlation of these two conditions with the other (concrete/abstract) condition. As such they cannot provide conclusive evidence as to whether the context is changing the processing of concrete/abstract words to be closer to the other condition. Additionally, it should be considered whether any effects reflect the current visual processing only or more general sensory processing. 

      The reviewer identifies the critical contrast as follows:

      “The situated abstract condition would first need to be contrasted with the displaced abstract condition. Then, these results should be compared to the concrete result.” 

      We can confirm that this is indeed what had been done and we believe the reviewer’s confusion stems from a lack of clarity on our behalf. We have now made various clarifications on this point in the manuscript, and we changed the figures to make clear that our results are indeed based on the contrasts identified by this reviewer as the essential ones.

      Figure 6 in the main text now reflects the contrast between situated and displaced abstract and concrete conditions (as requested by the reviewer, this was previously Figure S7 from the supplementary material). To compare the results from this contrast to conceptual processing across context, we use cosine similarity, and we mention these results in the text. We furthermore show the overlap between the conditions of interest (abstract situated x concrete across context; concrete displaced x abstract across context) in a new figure (Figure 7) to bring out the spatial distribution of overlap more clearly.

      We also discussed the extent to which these effects reflect current visual processing only or more general sensory processing in lines 863 – 875 (pg. 33 and 34).   

      “In considering the impact of visual context on the neural encoding of concepts generally, it is furthermore essential to recognize that the mechanisms observed may extend beyond visual processing to encompass more general sensory processing mechanisms. The human brain is adept at integrating information across sensory modalities to form coherent conceptual representations, a process that is critical for navigating the multimodal nature of real-world experiences (Barsalou, 2008; Smith & Kosslyn, 2007). While our findings highlight the role of visual context in modulating the neural representation of abstract and concrete words, similar effects may be observed in contexts that engage other sensory modalities. For instance, auditory contexts that provide relevant sound cues for certain concepts could potentially influence their neural representation in a manner akin to the visual contexts examined in this study. Future research could explore how different sensory contexts, individually or in combination, contribute to the dynamic neural encoding of concepts, further elucidating the multimodal foundation of semantic processing.”

      Overall, the study would benefit from being situated in the literature more, including a) a more general understanding of the areas involved in semantic processing (including areas proposed to be involved across different sensory modalities and for verbal and nonverbal stimuli), and b) other differences between abstract and concrete words and whether they can explain the current findings, including other psycholinguistic variables which could be included in the model and the concept of semantic diversity (Hoffman et al.,). It would also be useful to consider whether difficulty effects (or processing effort) could explain some of the regional differences between abstract and concrete words (e.g., the language areas may simply require more of the same processing not more linguistic processing due to their greater reliance on word co-occurrence). Similarly, the findings are not considered in relation to prior comparisons of abstract and concrete words at the level of specific brain regions. 

      We now present an overview of the areas involved in semantic processing (across different sensory modalities for verbal and nonverbal stimuli) when we first present our results (section: “Conceptual Processing Across Context”).

      We looked at surprisal as a potential cofound and found no significant differences between any of the set of words analysed. Mean surprisal of concrete words is 22.19, mean surprisal of abstract words is 21.86. Mean surprisal ratings for concrete situated words are 21.98 bits, 22.02 bits for the displaced concrete words, 22.10 for the situated abstract words and 22.25 for the abstract displaced words. We also calculated the semantic diversity of all sets of words and found now significant differences between the sets. The mean values for each condition are: abstract_high (2.02); abstract_low (1.95); concrete_high (1.88); concrete_low (2.19); abstract_original (1.96); concrete_original (1.92). Hence processing effort related to different predictability (surprisal), or greater semantic diversity cannot explain our findings. 

      We submit that difficulty effects do not explain any aspects of the activation found for conceptual processing, because we included word frequency in our model as a nuisance regressor and found no significant differences associated with surprisal. Previous work shows that surprisal (Hale, 2001) and word frequency (Brysbaert & New, 2009) are good controls for processing difficulty.

      Finally, we added considerations of prior findings comparing abstract and concrete words at the level of specific brain regions to the discussion (section: Conceptual Processing Across Context). 

      The authors use multiple methods to provide a post hoc interpretation of the areas identified as more involved in concrete, abstract, or both (at different times) words. These are designed to reduce the interpretation bias and improve interpretation, yet they may not successfully do so. These methods do give some evidence that sensory areas are more involved in concrete word processing. However, they are still open to interpretation bias as it is not clear whether all the evidence is consistent with the hypotheses or if this is the best interpretation of individual regions' involvement. This is because the hypotheses are provided at the level of 'sensory' and 'language' areas without further clarification and areas and terms found are simply interpreted as fitting these definitions. For instance, the right IFG is interpreted as a motor area, and therefore sensory as predicted, and the term 'autobiographical memory' is argued to be interoceptive. Language is associated with the 'both' cluster, not the abstract cluster, when abstract >concrete is expected to engage language more. The areas identified for both vs. abstract>concrete are distinguished in the Discussion through the description as semantic vs. language areas, but it is not clear how these are different or defined. Auditory areas appear to be included in the sensory prediction at times and not at others. When they are excluded, the rationale for this is not given. Overall, it is not clear whether all these areas and terms are expected and support the hypotheses. It should be possible to specify specific sensory areas where concrete and abstract words are predicted to be different based on a) prior comparisons and/or b) the known locations of sensory areas. Similarly, language or semantic areas could be identified using masks from NeuroSynth or traditional metaanalyses.  A language network is presented in Supplementary Figure 7 but not interpreted, and its source is not given. 

      “The language network” was extracted through neurosynth and projected onto the “overlap” activation map with AFNI. We now specify this in the figure caption. 

      Alternatively, there could be a greater interpretation of different possible explanations of the regions found with a more comprehensive assessment of the literature. The function of individual regions and the explanation of why many of these areas are interpreted as sensory or language areas are only considered in the Discussion when it could inform whether the hypotheses have been evidenced in the results section. 

      We added extended considerations of this to the results (as requested by the reviewer) in the section “Conceptual Processing Across Contexts”. 

      “Consistent with previous studies, we predicted that across naturalistic contexts, concrete and abstract concepts are processed in a separable set of brain regions. To test this, we contrasted concrete and abstract modulators at each time point of the IRF (Figure 3). This showed that concrete produced more modulation than abstract processing in parts of the frontal lobes, including the right posterior inferior frontal gyrus (IFG) and the precentral sulcus (Figure 3, red). Known for its role in language processing and semantic retrieval, the IFG has been hypothesised to be involved in the processing of action-related words and sentences, supporting both semantic decision tasks and the retrieval of lexical semantic information (Bookheimer, 2002; Hagoort, 2005). The precentral sulcus is similarly linked to the processing of action verbs and motor-related words (Pulvermüller, 2005). In the temporal lobes, greater modulation occurred in the bilateral transverse temporal gyrus and sulcus, planum polare and temporale. These areas, including primary and secondary auditory cortices, are crucial for phonological and auditory processing, with implications for the processing of sound-related words and environmental sounds (Binder et al., 2000). The superior temporal gyrus (STG) and sulcus (STS) also showed greater modulation for concrete words and these are said to be central to auditory processing and the integration of phonological, syntactic, and semantic information, with a particular role in processing meaningful speech and narratives (Hickok & Poeppel, 2007). In the parietal and occipital lobes, more concrete modulated activity was found bilaterally in the precuneus, which has been associated with visuospatial imagery, episodic memory retrieval, and self-processing operations and has been said to contribute to the visualisation aspects of concrete concepts (Cavanna & Trimble, 2006). More activation was also found in large swaths of the occipital cortices (running into the inferior temporal lobe), and the ventral visual stream. These regions are integral to visual processing, with the ventral stream (including areas like the fusiform gyrus) particularly involved in object recognition and categorization, linking directly to the visual representation of concrete concepts (Martin, 2007). Finally, subcortically, the dorsal and posterior medial cerebellum were more active bilaterally for concrete modulation. Traditionally associated with motor function, some studies also implicate the cerebellum in cognitive and linguistic processing, including the modulation of language and semantic processing through its connections with cerebral cortical areas (Stoodley & Schmahmann, 2009).

      Conversely,  activation for abstract was greater than concrete words in the following regions (Figure 3, blue): In the frontal lobes, this included right anterior cingulate gyrus, lateral and medial aspects of the superior frontal gyrus. Being involved in cognitive control, decisionmaking, and emotional processing, these areas may contribute to abstract conceptualization by integrating affective and cognitive components (Shenhav et al., 2013). More left frontal activity was found in both lateral and medial prefrontal cortices, and in the orbital gyrus, regions which are key to social cognition, valuation, and decision-making, all domains rich in abstract concepts (Amodio & Frith, 2006). In the parietal lobes, bilateral activity was greater in the angular gyri (AG) and inferior parietal lobules, including the postcentral gyrus. Central to the default mode network, these regions are implicated in a wide range of complex cognitive functions, including semantic processing, abstract thinking, and integrating sensory information with autobiographical memory (Seghier, 2013). In the temporal lobes, activity was restricted to the STS bilaterally, which plays a critical role in the perception of intentionality and social interactions, essential for understanding abstract social concepts (Frith & Frith, 2003). Subcortically, activity was greater, bilaterally, in the anterior thalamus, nucleus accumbens, and left amygdala for abstract modulation. These areas are involved in motivation, reward processing, and the integration of emotional information with memory, relevant for abstract concepts related to emotions and social relations (Haber & Knutson, 2010, Phelps & LeDoux, 2005).

      Finally, there was overlap in activity between modulation of both concreteness and abstractness (Figure 3, yellow). The overlap activity is due to the fact that we performed general linear tests for the abstract/concrete contrast at each of the 20 timepoints in our group analysis. Consequently, overlap means that activation in these regions is modulated by both concrete and abstract word processing but at different time-scales. In particular, we find that activity modulation associated with abstractness is generally processed over a longer timeframe (for a comparison of significant timing differences see figure S9). In the frontal, parietal, and temporal lobes, this was primarily in the left IFG, AG, and STG, respectively. Left IFG is prominently involved in semantic processing, particularly in tasks requiring semantic selection and retrieval and has been shown to play a critical role in accessing semantic memory and resolving semantic ambiguities, processes that are inherently timeconsuming and reflective of the extended processing time for abstract concepts (ThompsonSchill et al., 1997; Wagner et al., 2001; Hofman et al., 2015). The STG, particularly its posterior portion, is critical for the comprehension of complex linguistic structures, including narrative and discourse processing. The processing of abstract concepts often necessitates the integration of contextual cues and inferential processing, tasks that engage the STG and may extend the temporal dynamics of semantic processing (Ferstl et al., 2008; Vandenberghe et al., 2002). In the occipital lobe, processing overlapped bilaterally around the calcarine sulcus, which is associated with primary visual processing (Kanwisher et al., 1997; Kosslyn et al., 2001).”

      Additionally, these methods attempt to interpret all the clusters found for each contrast in the same way when they may have different roles (e.g., relate to different senses). This is a particular issue for the peaks and valleys method which assesses whether a significantly larger number of clusters is associated with each sensory term for the abstract, concrete, or both conditions than the other conditions. The number of clusters does not seem to be the right measure to compare. Clusters differ in size so the number of clusters does not represent the area within the brain well. Nor is it clear that many brain regions should respond to each sensory term, and not just one per term (whether that is V1 or the entire occipital lobe, for instance). The number of clusters is therefore somewhat arbitrary. This is further complicated by the assessment across 20 time points and the inclusion of the 'both' categories. It would seem more appropriate to see whether each abstract and concrete cluster could be associated with each different sensory term and then summarise these findings rather than assess the number of abstract or concrete clusters found for each independent sensory term. In general, the rationale for the methods used should be provided (including the peak and valley method instead of other possible options e.g., linear regression). 

      We included an assessment of whether each abstract and concrete cluster could be associated with each different sensory term and then summarised these findings on a participant level in the supplementary material (Figures S3, S4, and S5). 

      Rationales for the Amplitude Modulated Deconvolution are now provided on page 10 (specifically the first paragraph under “Deconvolution Analysis” in the Methods section) and for the P&V on pages 13, 14 and 15 (under “Peaks and Valley” (particularly the first paragraph) in the Methods section). 

      The measure of contextual situatedness (how related a spoken word is to the average of the visually presented objects in a scene) is an interesting approach that allows parametric variation within naturalistic stimuli, which is a potential strength of the study. This measure appears to vary little between objects that are present (e.g., animal or room), and those that are strongly (e.g., monitor) or weakly related (e.g., science). Additional information validating this measure may be useful, as would consideration of the range of values and whether the split between situated (c > 0.6) and displaced words (c < 0.4) is sufficient.  

      The main validation of our measure of contextual situatedness derives from the high accuracy and reliability of CNNs in object detection and recognition tasks, as demonstrated in numerous benchmarks and real-world applications. 

      One reason for low variability in our measure of contextual situatedness is the fact that we compared the GloVe vector of each word of interest with an average GloVe vector of all object-words referring to objects present in 56 frames (~300 objects on average). This means that a lot of variability in similarity measures between individual object-words and the word of interest is averaged out. Notwithstanding the resulting low variability of our measure, we thought that this would be the more conservative approach, as even small differences between individual measures (e.g. 0.4 vs 0.6) would constitute a strong difference on average (across the 300 objects per context window).  Therefore, this split ensures a sufficient distinction between words that are strongly related to their visual context and those that are not – which in turn allows us to properly investigate the impact of contextual relevance on conceptual processing.

      Finally, the study assessed the relation of spoken concrete or abstract words to brain activity at different time points. The visual scene was always assessed using the 2 seconds before the word, while the neural effects of the word were assessed every second after the presentation for 20 seconds. This could be a strength of the study, however almost no temporal information was provided. The clusters shown have different timings, but this information is not presented in any way. Giving more temporal information in the results could help to both validate this approach and show when these areas are involved in abstract or concrete word processing. 

      We provide more information on the temporal differences of when clusters are involved in processing concrete and abstract concepts in the supplementary material (Figure S9) and refer to this information where relevant in the Methods and Results sections. 

      Additionally, no rationale was given for this long timeframe which is far greater than the time needed to process the word, and long after the presence of the visual context assessed (and therefore ignores the present visual context). 

      The 20-second timeframe for our deconvolution analysis is justified by several considerations. Firstly, the hemodynamic response function (HRF) is known to vary both across individuals and within different regions of the brain. To accommodate this variability and capture the full breadth of the HRF, including its rise, peak, and return to baseline, a longer timeframe is often necessary. The 20-second window ensures that we do not prematurely truncate the HRF, which could lead to inaccurate estimations of neural activity related to the processing of words. Secondly and related to this point, unlike model-based approaches that assume a canonical HRF shape, our deconvolution analysis does not impose a predefined form on the HRF, instead reconstructing the HRF from the data itself – for this, a longer time-frame is advantageous to get a better estimation of the true HRF. Finally, and related to this point, the use of the 'Csplin' function in our analysis provides a flexible set of basis functions for deconvolution, allowing for a more fine-grained and precise estimation of the HRF across this extended timeframe. The 'Csplin' function offers more interpolation between time points, which is particularly advantageous for capturing the nuances of the HRF as it unfolds over a longer time-frame. 

      Although we use a 20-second timeframe for the deconvolution analysis to capture the full HRF, the analysis is still time-locked to the onset of each visual stimulus. This ensures that the initial stages of the HRF are directly tied to the moment the word is presented, thus incorporating the immediate visual context. We furthermore include variables that represent aspects of the visual context at the time of word presentation in our models (e.g luminance) and control for motion (optical flow), colour saturation and spatial frequency of immediate visual context. 

      Reviewer #3 (Public Review):

      The context measure is interesting, but I'm not convinced that it's capturing what the authors intended. In analysing the neural response to a single word, the authors are presuming that they have isolated the window in which that concept is processed and the observed activation corresponds to the neural representation of that word given the prior context. I question to what extent this assumption holds true in a narrative when co-articulation blurs the boundaries between words and when rapid context integration is occurring. 

      We appreciate the reviewer's critical perspective on the contextual measure employed in our study. We agree that the dynamic and continuous nature of narrative comprehension poses challenges for isolating the neural response to individual words. However, the use of an amplitude modulated deconvolution analysis, particularly with the CSPLIN function, is a methodological choice to specifically address these challenges. Deconvolution allows us to estimate the hemodynamic response function (HRF) without assuming its canonical shape, capturing nuances in the BOLD signal that may reflect the integration of rapid contextual shifts (only beyond the average modulation of the BOLD signal. The CSPLIN function further refines this approach by offering a flexible basis set for modelling the HRF and by providing a detailed temporal resolution that can adapt to the variance in individual responses. 

      Our choice of a 20-second window is informed by the need to encompass not just the immediate response to a word but also the extended integration of the contextual information. This is consistent with evidence indicating that the brain integrates information over longer timescales when processing language in context (Hasson et al., 2015). The neural representation of a word is not a static snapshot but a dynamic process that evolves with the unfolding narrative. 

      Further, the authors define context based on the preceding visual information. I'm not sure that this is a strong manipulation of the narrative context, although I agree that it captures some of the local context. It is maybe not surprising that if a word, abstract or concrete, has a strong association with the preceding visual information then activation in the occipital cortex is observed. I also wonder if the effects being captured have less to do with concrete and abstract concepts and more to do with the specific context the displaced condition captures during a multimodal viewing paradigm. If the visual information is less related to the verbal content, the viewer might process those narrative moments differently regardless of whether the subsequent word is concrete or abstract. I think the claims could be tailored to focus less generally on context and more specifically on how visually presented objects, which contribute to the ongoing context of a multimodal narrative, influence the subsequent processing of abstract and concrete concepts.

      The context measure, though admittedly a simplification, is designed to capture the local visual context preceding word presentation. By using high-confidence visual recognition models, we ensure that the visual information is reliably extracted and reflects objects that have a strong likelihood of influencing the processing of subsequent words. We acknowledge that this does not capture the full richness of narrative context; however, it provides a quantifiable and consistent measure of the immediate visual environment, which is an important aspect of context in naturalistic language comprehension.

      With regards to the effects observed in the occipital cortex, we posit that while some activation might be attributable to the visual features of the narrative, our findings also reflect the influence of these features on conceptual processing. This is especially because our analysis only looks at the modulation of the HRF amplitude beyond the average response (so also beyond the average visual response) when contrasting between conditions of high and low visual-contextual association with important (audio-visual) control variables included in the model. 

      Lastly, we concur that both concrete and abstract words are processed within a multimodal narrative, which could influence their neural representation. We believe our approach captures a meaningful aspect of this processing, and we have refined our claims to specify the influence of visually presented objects on the processing of abstract and concrete concepts, rather than making broader assertions about multimodal context. We also highlight several other signals (e.g. auditory) that could influence processing. 

      Recommendations for the authors:

      Reviewer #1 (Recommendations For The Authors):

      (1) The approach taken here requires a lot of manual variable selection and seems a bit roundabout. Why not build an encoding model that can predict the BOLD time course of each voxel in a participant from the feature-of-interest like valence etc. and then analyze if (1) certain features better predict activity in a specific region (2) the predicted responses/regression parameters are more positive (peaks) or more negative (valleys) for certain features in a specific brain region (3) maybe even use contextual features use a large language model and then per word (like "truth") analyze where the predicted responses diverge based on the associated context. This seems like a simpler approach than having multiple stages of analysis. 

      It is not clear to us why an encoding model would be more suitable for answering the question at hand (especially given that we tried to clarify concerns about non-linear relationships between variables). On the contrary, fitting a regression model to each individual voxel has several drawbacks. First, encoding models are prone to over-estimate effect sizes (Naselaris et al., 2011). Second, encoding models are not good at explaining group-level effects due to high variability between individual participants (Turner et al., 2018). We would also like to point out that an encoding model using features of a text-based LLM would not address the visual context question - unless the LLM was multimodal. Multimodal LLMs are a very recent research development in Artificial Intelligence, however, and models like LLaMA (adapter), Google’s Gemini, etc. are not truly multimodal in the sense that would be useful for this study, because they are first trained on text and later injected with visual data. This relates to our concern that the reviewer may have misunderstood that we are interested in purely visual context of words (not linguistic context).

      (2) In multiple analyses, a subset of the selected words is sampled to create a balanced set between the abstract and concrete categories. Do the authors show standard deviation across these sets? 

      For the subset of words used in the context-based analyses, we give mean ratings of concreteness, log frequency and length and conduct a t-test to show that these variables are not significantly different between the sets. We also included the psycholinguistic control variables surprisal and semantic diversity, as well as the visual variables motion (optical flow), colour saturation and spatial frequency.  

      Reviewer #2 (Recommendations For The Authors):

      Figures S3-5 are central to the argument and should be in the main text (potentially combined).  

      These have been added to the main text

      S5 says the top 3 terms are DMN (and not semantic control), but the text suggests the r value is higher for 'semantic control' than 'DMN'? 

      Fixed this in the text, the caption now reads: 

      “This was confirmed by using the neurosynth decoder on the unthresholded brain image - top keywords were “Semantic Control” and “DMN”.”

      Fig. S7 is very hard to see due to the use of grey on grey. Not used for great effect in the final sentence, but should be used to help interpret areas in the results section (if useful). It has not been specified how the 'language network' has been identified/defined here. 

      We altered the contrast in the figure to make boundaries more visible and specified how the language network was identified in the figure caption. 

      In the Results 'This showed that concrete produced more modulation than abstract modulation in the frontal lobes,' should be parts of /some of the frontal lobes as this isn't true overall. 

      Fixed this in the text.  

      There are some grammatical errors and lack of clarity in the context comparison section of the results. 

      Fixed these in the text.

      Reviewer #3 (Recommendations For The Authors):

      •  The analysis code should be shared on the github page prior to peer review.  

      The code is now shared under: https://github.com/ViktorKewenig/Naturalistic_Encoding_Concepts

      •  At several points throughout the methods section, information was referred to that had not yet been described. Reordering the presentation of this information would greatly improve interpretability. A couple of examples of this are provided below. 

      Deconvolution Analysis: the use of amplitude modulation regression was introduced prior to a discussion of using the TENT function to estimate the shape of the HRF. This was then followed by a discussion of the general benefits of amplitude modulation. Only after these paragraphs are the modulators/model structure described. Moving this information to the beginning of the section would make the analysis clearer from the onset. 

      Fixed this in the text

      Peak and Valley Analysis: the hypotheses regarding the sensory-motor features and experiential features are provided prior to describing how these features were extracted from the data (e.g., using the Lancaster norms). 

      Fixed this in the text.

      •  The justification for and description of the IRF approach seems overdone considering the timing differences are not analyzed further or discussed. 

      We now present a further discussion of timing differences in the supplementary material.

      •  The need and suitability of the cluster simulation method as implemented were not clear. The resulting maps were thresholded at 9 different p values and then combined, and an arbitrary cluster threshold of 20 voxels was then applied. Why not use the standard approach of selecting the significance threshold and corresponding cluster size threshold from the ClustSim table? 

      We extracted the original clusters at 9 different p values with the corresponding cluster size from the ClustSim table, then only included clusters that were bigger than 20 voxels.  

      •  Why was the center of mass used instead of the peak voxel? 

      Peak voxel analysis can be sensitive to noise and may not reliably represent the region's activation pattern, especially in naturalistic imaging data where signal fluctuations are more variable and outliers more frequent. The centre of mass provides a more stable and representative measure of the underlying neural activity. Another reason for using the center of mass is that it better represents the anatomical distribution of the data, especially in large clusters with more than 100 voxels where peak voxels are often located at the periphery. 

      • Figure 1 seems to reference a different Figure 1 that shows the abstract, concrete, and overlap clusters of activity (currently Figure 3). 

      Fixed this in the text.

      • Table S1 seems to have the "Touch" dimension repeated twice with different statistics reported. 

      Fixed this in the text, the second mention of the dimension “touch” was wrong.  

      • It appears from the supplemental files that the Peaks and Valley analysis produces different results at different lag times. This might be expected but it's not clear why the results presented in the main text were chosen over those in the supplemental materials. 

      The results in the main text were chosen over those in the supplementary material, because the HRF is said to peak at 5s after stimulus onset. We added a specification of this rational to the “2. Peak and Valley Analysis” subsection in the Methods section.  

      References (in order of appearance) 

      (1) Neumann J, Lohmann G, Zysset S, von Cramon DY. Within-subject variability of BOLD response dynamics. Neuroimage. 2003 Jul;19(3):784-96. doi: 10.1016/s10538119(03)00177-0. PMID: 12880807.

      (2) Handwerker DA, Ollinger JM, D'Esposito M. Variation of BOLD hemodynamic responses across subjects and brain regions and their effects on statistical analyses. Neuroimage. 2004 Apr;21(4):1639-51. doi: 10.1016/j.neuroimage.2003.11.029. PMID: 15050587.

      (3) Binder JR, Westbury CF, McKiernan KA, Possing ET, Medler DA. Distinct brain systems for processing concrete and abstract concepts. J Cogn Neurosci. 2005 Jun;17(6):90517. doi: 10.1162/0898929054021102. PMID: 16021798

      (4) Bucur, M., Papagno, C. An ALE meta-analytical review of the neural correlates of abstract and concrete words. Sci Rep 11, 15727 (2021). heps://doi.org/10.1038/s41598-021-94506-9 

      (5) Hale., J. 2001. A probabilistic earley parser as a psycholinguistic model. In Proceedings of the second meeting of the North American Chapter of the Association for Computational Linguistics on Language technologies (NAACL '01). Association for Computational Linguistics, USA, 1–8. heps://doi.org/10.3115/1073336.1073357

      (6) Brysbaert, M., New, B. Moving beyond Kučera and Francis: A critical evaluation of current word frequency norms and the introduction of a new and improved word frequency measure for American English. Behavior Research Methods 41, 977–990 (2009). heps://doi.org/10.3758/BRM.41.4.977 

      (7) Hasson, U., Nir, Y., Levy, I., Fuhrmann, G., & Malach, R. (2004). Intersubject Synchronization of Cortical Activity During Natural Vision. Science, 303(5664), 6.

      (8) Naselaris T, Kay KN, Nishimoto S, Gallant JL. Encoding and decoding in fMRI. Neuroimage. 2011 May 15;56(2):400-10. doi: 10.1016/j.neuroimage.2010.07.073. Epub 2010 Aug 4. PMID: 20691790; PMCID: PMC3037423.

      (9) Turner BO, Paul EJ, Miller MB, Barbey AK. Small sample sizes reduce the replicability of task-based fMRI studies. Commun Biol. 2018 Jun 7;1:62. doi: 10.1038/s42003-0180073-z. PMID: 30271944; PMCID: PMC6123695.

      (10) He, K., Zhang, Y., Ren, S., & Sun, J. (2015). Deep Residual Learning for Image Recognition. Bioarchive (Tech Report). heps://doi.org/heps://doi.org/10.48550/arXiv.1512.03385

      (11) Hasson, U., & Egidi, G. (2015). What are naturalistic comprehension paradigms teaching us about language? In R. M. Willems (Ed.), Cognitive neuroscience of natural language use (pp. 228–255). Cambridge University Press. heps://doi.org/10.1017/CBO9781107323667.011

    1. And sometimes, what we buy doesn’t always make sense. We have to figure out how to style it. We're like, ‘It’s going to make sense one day.’”

      This sentence stood out to me because I feel like it applies to my friend group and how they just buy clothes in that moment and make it work afterwards.

    1. What happens if masculinity is analyzed as an internally fractured concept, as it is done in some of the studies that bring race and ethnicity to bear on masculinity (that is, when the lines of differentiation become redrawn; in rather simplistic binary terms, when white and black, rather than male and female, delineate the parameters of masculinity); or where lines of womanliness are drawn through locations in and across religious or national communities rather than vis-à-vis males of the same community.

      I think she makes a good point by challenging the simple idea of traditional gender categories. I agree that masculinity and femininity aren’t fixed and can change based on things like culture, race, or religion. This connects to intersectionality—how race, class, and gender mix together to shape a person’s identity.For example, in a South Asian religious community, masculinity is often more about being responsible for the family, like being a provider or protector, instead of being about physical strength or dominance, which is more common in Western views of masculinity. In Western cultures, masculinity might focus more on independence and competition. Similarly, in South Asian communities, femininity might be tied to family roles and religious duties, while in the West, it could be more about personal empowerment and making independent choices.This shows how gender expectations can be very different depending on the culture, But I wonder if we can fully move away from these gender categories. Even if we know that gender isn’t just man vs. woman, we still use these categories to explain how society works. While I agree with Najmabadi’s point, it feels like it’s hard to stop thinking in terms of these simple categories because they’re so deeply part of how we understand gender and identity across different cultures.

    1. Saul Justin Newman's 2018 paper criticising some papers wrt longevity and aging. Says the results can be generated by having a few randomly distributed age-misreporting errors. Barbi et al's models turn out to be sensitive to that. Barbi posit their data means there's an evolutionary dimension to their aging data, whereas Newman says it's just faulty data that causes the effect. Won an 2024 Ig Nobel for this topic.

      https://doi.org/10.1371/journal.pbio.3000048

    1. Welcome back, this is part two of this lesson. We're going to continue immediately from the end of part one. So let's get started.

      Now that you know the structure of a segment, let's take a look at how it's used within TCP.

      Let's take a few minutes to look at the architecture of TCP.

      TCP, like IP, is used to allow communications between two devices.

      Let's assume a laptop and a game server.

      TCP is connection-based, so it provides a connection architecture between two devices.

      And let's refer to these as the client and the server.

      Once established, the connection provides what's seen as a reliable communication channel between the client and the server, which is used to exchange data.

      Now let's step through how this actually works, now that you understand TCP segments.

      The actual communication between client and server, this will still use packets at layer three.

      We know now that these are isolated.

      They don't really provide error checking, any ordering, and they're isolated, so there's no association between each other.

      There's no connection as such.

      Because they can be received out of order, and because there are no ports, you can't use them in a situation where there will be multiple applications or multiple clients, because the server has no way of separating what relates to what.

      But now we have layer four, so we can create segments.

      Layer four takes data provided to it and chops that data up into segments, and these segments are encapsulated into IP packets.

      These segments contain a sequence number, which means that the order of segments can be maintained.

      If packets arrive out of order, that's okay, because the segments can be reordered.

      If a packet is damaged or lost in transit, that's okay, because even though that segment will be lost, it can be retransmitted, and segments will just carry on.

      TCP gives you this guaranteed reliable ordered set of segments, and this means that layer four can build on this platform of reliable ordered segments between two devices.

      It means that you can create a connection between a client and the server.

      In this example, let's assume segments are being exchanged between the client and the game server.

      The game communicates to a TCP port 443 on the server.

      Now, this might look like this architecturally, so we have a connection from a random port on the client to a well-known port, so 443 on the game server.

      So between these two ports, segments are exchanged.

      When the client communicates to the server, the source port is 23060, and the destination port is 443.

      This architecturally is now a communication channel.

      TCP connections are bi-directional, and this means that the server will send data back to the client, and to do this, it just flips the ports which are in use.

      So then the source port becomes TCP443 on the server, and the destination port on the client is 23060.

      And again, conceptually, you can view this as a channel.

      Now, these two channels you can think of as a single connection between the client and the server.

      Now, these channels technically aren't real, they're created using segments, so they build upon the concept of this reliable ordered delivery that segments provide, and give you this concept at a stream or a channel between these two devices over which data can be exchanged, but understand that this is really just a collection of segments.

      Now, when you communicate with the game server in this example, you use a destination port of 443, and this is known as a well-known port.

      It's the port that the server is running on.

      Now, as part of creating the connection, you also create a port on your local machine, which is temporary, this is known as the ephemeral port.

      This tends to use a higher port range, and it's temporary.

      It's used as a source port for any segments that you send from the client to the server.

      When the server responds, it uses the well-known port number as the source, and the ephemeral port as the destination.

      It reverses the source and destination for any responses.

      Now, this is important to understand, because from a layer 4 perspective, you'll have two sets of segments, one with a source port of 23060 and a destination of 443, and ones which are the reverse, so a source port of 443, and a destination of 23060.

      From a layer 4 perspective, these are different, and it's why you need two sets of rules on a network ACL within AWS.

      One set for the initiating part, so the laptop to the server, and another set for the response part, the server to the laptop.

      When you hear the term ephemeral ports or high ports, this means the port range that the client picks as the source port.

      Often, you'll need to add firewall rules, allowing all of this range back to the client.

      Now, earlier, when I was stepping through TCP segment structure, I mentioned the flags field.

      Now, this field contains, as the name suggests, some actual flags, and these are things which can be set to influence the connection.

      So, Finn will finish a connection, Akk is an acknowledgement, and Sin is used at the start of connections to synchronize sequence numbers.

      With TCP, everything is based on connections.

      You can't send data without first creating a connection.

      Both sides need to agree on some starting parameters, and this is best illustrated visually.

      So, that's what we're going to do.

      So, the start of this process is that we have a client and a server.

      And as I mentioned a moment ago, before any data can be transferred using TCP, a connection needs to be established, and this uses a three-way handshake.

      So, step one is that a client needs to send a segment to the server.

      So, this segment contains a random sequence number from the client to the server.

      So, this is unique in this direction of travel for segments.

      And this sequence number is initially set to a random value known as the ISN or initial sequence number.

      So, you can think of this as the client saying to the server, "Hey, let's talk," and setting this initial sequence number.

      So, the server receives the segment, and it needs to respond.

      So, what it does is it also picks its own random sequence number.

      We're going to refer to this as SS, and it picks this as with the client side randomly.

      Now, what it wants to do is acknowledge that it's received all of the communications from the client.

      So, it takes the client sequence number, received in the previous segment, and it adds one.

      And it sets the acknowledgement part of the segment that it's going to send to the CS plus one value.

      What this is essentially doing is informing the client that it's received all of the previous transmission, so CS, and it wants it to send the next part of the data, so CS plus one.

      So, it's sending this segment back to the client.

      It's picking its own server sequence, so SS, and it's incrementing the client sequence by one, and it sends this back to the client.

      So, in essence, this is responding with, "Sure, let's talk."

      So, this type of segment is known as a SIN-AC.

      It's used to synchronize sequence numbers, but also to acknowledge the receipt of the client sequence number.

      So, when the first segment was called a SIN, to synchronize sequence numbers, the next segment is called a SIN-AC.

      It serves two purposes.

      It's also used to synchronize sequence numbers, but also to acknowledge the segment from the client.

      The client receives the segment from the server.

      It knows the server sequence, and so, to acknowledge to the server that it's received all of that information, it takes the server sequence, so SS, and it adds one to it, and it puts this value as the acknowledgement.

      Then it also increments its own client sequence value by one, and puts that as the sequence, and then sends an acknowledgement segment, containing all this information through to the server.

      Essentially, it's saying, "Autumn, let's go."

      At this point, both the client and server agree on the sequence values.

      The client has acknowledged the initial sequence value decided by the server, and the server has acknowledged the initial value decided by the client.

      So, both of them are synchronized, and at this point, data can flow over this connection between the client and the server.

      Now, from this point on, any time either side sends data, they increment the sequence, and the other side acknowledges the sequence value plus one, and this allows for retransmission when data is lost.

      So, this is a process that you need to be comfortable with, so just make sure that you understand every step of this process.

      Okay, so let's move on, and another concept which I want to cover is sessions, and the state of sessions.

      Now, you've seen this architecture before, a client communicating with the game server.

      The game server is running on a well-known port, so TCP 443, and the client is using an ephemeral port 23060 to connect with port 443 on the game server.

      So, response traffic will come up from the game server, its source port will be 443, and it will be connecting to the client on destination port 23060.

      Now, imagine that you want to add security to the laptop, let's say using a firewall.

      The question is, what rules would you add?

      What types of traffic would you allow from where and to where in order that this connection will function without any issues?

      Now, I'm going to be covering firewalls in more detail in a separate video.

      For now though, let's keep this high level.

      Now, there are two types of capability levels that you'll encounter from a security perspective.

      One of them is called a stateless firewall.

      With a stateless firewall, it doesn't understand the state of a connection.

      So, when you're looking at a layer 4 connection, you've got the initiating traffic, and you've got the response traffic.

      So, the initiating traffic in light with the bottom, and the response traffic in red at the top.

      With a stateless firewall, you need two rules.

      A rule allowing the outbound segments, and another rule which allows the response segments coming in the reverse direction.

      So, this means that the outbound connection from the laptop's IP, using port 23060, connecting to the server IP, using port 443.

      So, that's the outgoing part.

      And then the inbound response coming from the service IP on port 443, going to the laptop's IP on a femoral port 23060.

      So, the stateless firewall, this is two rules, one outbound rule and one inbound rule.

      So, this is a situation where we're securing an outbound connection.

      So, where the laptop is connecting to the server.

      If we were looking to secure, say, a web server, where connections would be made into our server, then the initial traffic would be inbound, and the response would be outbound.

      There's always initiating traffic, and then the response traffic.

      And you have to understand the directionality to understand what rules you need with a stateless firewall.

      So, that's a stateless firewall.

      And if you have any AWS experience, that's what a network access control list is.

      It's a stateless firewall which needs two rules for each TCP connection, one in both directions.

      Now, a stateless firewall is different.

      This understands the state of the TCP segment.

      So, with this, it sees the initial traffic and the response traffic as one thing.

      So, if you allow the initiating connection, then you automatically allow the response.

      So, in this case, if we allowed the initial outbound connection from the client laptop to the server, then the response traffic, the inbound traffic, would be automatically allowed.

      In AWS, this is how a security group works.

      The difference is that a stateless firewall understands level and the state of the traffic.

      It's an extension of what a stateless firewall can achieve.

      Now, this is one of those topics where there is some debate about whether this is layer four or layer five.

      Layer four uses TCP segments and concerns itself with ID addresses and port numbers.

      Strictly speaking, the concept of a session or an ongoing communication between two devices, that is layer five.

      It doesn't matter if this level item can by layer four and layer five anyway, because it's just easier to explain.

      But you need to remember the term stateless and the term stateful and how they change how you create security rules.

      For this point, that's everything I wanted to cover.

      So, go ahead and complete this video. And when you're ready, I'll look forward to you joining me in the next video of this series.

    1. Welcome back. In this part of the series, I'm going to be primarily covering the transport layer, which is layer 4 of the OSI model.

      I'm also going to be touching upon layer 5, which is the session layer of the OSI model, because there is some overlap for certain features, and so it's easier to cover them in one lesson.

      The transport layer runs over the top of the network layer and provides most of the functionality, which supports most of the networking, which we use day-to-day on the internet.

      The session layer runs on top of the transport layer, and many features, which you might use, are often mixed between these two layers.

      Now, as I've already mentioned, it's not generally worth the argument of deciding whether things are covered in layer 4 or layer 5, so I'd only explain both of these layers as one grouping of functionality.

      The OSI model is conceptual, after all, and many things exist between or across two different layers.

      Now, we've got a lot to cover, so let's jump in and get started.

      Before we get started with layer 4, I want to summarize the situation and limitations with layer 3.

      Now, we have a functional layer 3, which means that we can communicate between two devices, say a source and destination laptop, using a source and destination IP address.

      If both of these use public IP addresses, it doesn't matter where on the internet these devices are, layer 3 and IP routing will ensure that any packets generated and sent from the source laptop will move across any layer 2 networks between the source and destination.

      Let's say that using layer 3, the source laptop on the top generates 6 IP packets, and these are all destined for the destination laptop at the bottom right.

      The important thing to understand about layer 3 in this context is that each packet is a separate and isolated thing, and it's routed independently over the internet.

      It might be logical to assume that the packets arrive in the same state, so the same timing, the same order, and the same quality, but sadly, that's not true.

      In ideal conditions, yes, but generally, if you're communicating using only IP, then you're going to have intermittent network conditions, and that can result in a few cases where the arrival condition of packets is different than the condition when they were generated and sent.

      One of the first things which we might encounter is out-of-order arrival.

      In this case, where packet 3 arrives before packet 2, layer 3, specifically IP, provides no method to ensure the ordering of packet arrival.

      For applications which only used IP, this would mean complex logic would need to be built into the application to ensure packets could be sequenced in the same way, and this is not a trivial task.

      Because each packet is routed as an independent thing, it's possible packet 2 could have taken a slow, less efficient route, which is why it arrives later.

      This is a negative of layer 3, which can be fixed at layer 4.

      Another issue with layer 3 is that packets can just go missing.

      This can be due to network outages or network conditions, which cause temporary routing loops.

      Remember, when I talked about packet structure, I talked about the TTL field, which limited the number of hops a packet could go through.

      Well, if the number of hops exceeds this, then it will be discarded.

      With IP, there's no reliable method of ensuring packet delivery, and so it's a relatively regular occurrence that packets go missing.

      Now, network conditions can also cause delay in delivery, and for any latency-sensitive applications, this can cause significant issues.

      The key thing to keep in mind about layer 3, every packet is different.

      It's single, it's isolated.

      It's a different unit of data which is being routed across a layer 3 network using layer 2 networks as transit.

      What happens to one packet might not happen or might happen in a different way to another packet.

      Another limitation with layer 3, and this one is probably the one which has the most obvious effect, is that if you think back to the structure of IP packets, they have a source and destination field.

      They don't have anything beyond that to distinguish channels of communication.

      Packets from a source IP to a destination IP, they're all the same.

      You couldn't have two applications running on the source IP, communicating with two applications running on the destination IP, because there's no method of distinguishing between the applications.

      Any packet sent by one application would look to be the same as one sent by another.

      Think about what you're doing on your device right now.

      You might be watching a video.

      Do you have a web browser open doing something else?

      Do you have an SSH connection or email or any other application which uses the internet?

      This means multiple applications, and IP on its own offers no way to separate the packets for individual applications.

      This is something which is remedied at layer 4.

      Lastly, IP has no flow control.

      If a source device is transmitting packets faster than a destination device can receive them, then it can saturate the destination connection and cause loss of data, packets which will be dropped.

      Now with only layer 3, we wouldn't have anywhere near the flexibility required to have the internet function in the way that it does.

      For that, we need layer 4, and that's what I want to cover in this part of the lesson series.

      So what is layer 4 and how does it function?

      Let's take a look.

      So far, this is what we have network model-wise.

      We've discussed the physical layer which is layer 1 at the OSI model.

      This relates to how raw bit screen data is transmitted to or received from physical shared media.

      We've talked about layer 2 which adds identifiable devices, switches and media access control, but layer 2 ends with isolated layer 2 networks.

      In the previous part of this lesson series, I introduced layer 3 which adds IP addressing and routing, so packets can be routed from source to destination across multiple interconnected networks.

      Layer 4 builds on top of this.

      It adds two new protocols, TCP which stands for transmission control protocol and UDP which stands for user datagram protocol.

      Now both of these run on top of IP, and both of them add a collection of features depending on which one of them is used.

      Now if you've heard the term TCP/IP, that means TCP running on top of IP.

      At a high level, you would pick TCP when you want reliability, error correction and ordering of data.

      It's used for most of the important application layer protocols such as HTTP, HTTPS, SSH and so on.

      Now TCP is a connection-oriented protocol which means that you need to set up a connection between two devices and once set up, it creates a bidirectional channel of communications.

      UDP on your hand is faster because it doesn't have the TCP overhead required for the reliable delivery of data.

      This means that it's less reliable.

      Now there's a great joke about UDP.

      I will tell you about it, but you might not get it.

      Anyway, it's a good job my lessons are better than my jokes.

      In this lesson, I'm going to spend most of my time talking about TCP because it's used by more of the important protocols that you'll use day-to-day on the internet.

      But just know that both TCP and UDP, they both run on top of IP and they're used in the same way.

      They use IP as transit.

      TCP just offers a more reliable connection-oriented architecture whereas UDP is all about performance.

      So there's a simple trade-off.

      Now for this lesson series, as I talk about, I'm going to be focusing on TCP because that's what's used for most of the important upper layer protocol.

      So let's take a look at exactly how TCP works.

      TCP introduces something called segments.

      Now a segment is just another container for data like packets and frames before them.

      Segments are specific to TCP.

      Before we get started talking about the segments themselves, it's important to understand that segments are actually contained in which is known as encapsulated within IP packets.

      So let's say that we have a stream of packets.

      You know by now that these are all isolated packets.

      They're just pieces of data which are routed independently from source to destination.

      They're all treated separately.

      Well, TCP segments are placed inside packets and the packets carry the segments from their source to their destination.

      Segments don't have source or destination IP addresses because they use the IP packets for the transit from source to destination.

      This is all handled by layer 3.

      In this case, the internet protocol.

      TCP segments add additional capabilities to IP packets.

      Let's step through the structure of segments so that we can fully understand them.

      And I'm going to skip past a few attributes of segments just as I did with layer 3 because there are some parts which are less important or less situational.

      So I won't be covering either the options or padding fields within a segment.

      The first fields which I want to cover are the source and destination ports.

      In addition to the source and destination IP addresses that IP packets provide, TCP segments add source and destination ports.

      And this gives the combined TCP/IP protocol the ability to have multiple streams of conversations at the same time between two devices.

      When you open the AWS web interface, you're communicating from a port on your local machine to a port on the AWS servers, TCP port 443, which is HTTPS.

      Now because of port, you can have multiple streams of communication from your machine.

      One to AWS, one to Netflix, and one to this website where you're watching this video.

      At the other side, AWS can have multiple streams of communication to their servers.

      Each conversation is a unique combination of the source and destination IP, the source port, and the destination port.

      All of these four values together identify as a single conversation, a single communications channel.

      These two fields ought to allow the internet to function in a flexible way that it does.

      It's why SSH and HTTPS can exist on the same EC2 instance and why you can have multiple SSH connections open to the same EC2 instance if you wanted to.

      And I'll cover more on how this works as we move through this lesson.

      Now next, within the segment, is sequence.

      And the sequence number is incremented with each segment that's sent.

      And it's unique.

      It can be used for error correction if things need to be retransmitted.

      You can use to ensure that one IP pass is received and the TCP segments are pulled out.

      They can be correctly ordered.

      So the sequence number is already uniquely identifying the particular segment within a particular connection so that both sides can make observations about it.

      And the way that these observations are done is using app knowledgements.

      The app knowledgement field on the right, on the one side, can indicate that it's received up to and including a certain sequence number.

      Every segment which is transmitted needs to be acknowledged.

      Remember that TCP is a reliable protocol and so if the device is transmitting segment one, two, three, and four to another device, then the other device needs to acknowledge that it's received segment one, two, three, and four.

      And this is what the app knowledgement field is for.

      So sequence number and app knowledgement are used hand in hand.

      Next we have a field called flags and things.

      Now within a segment, there is an actual flags component which is nine bits.

      And this allows various controls over the TCP segments and the wider connection.

      Flags are used to close the connection of the synchronized sequence numbers, but there's also additional things like a data offset and some reserved space.

      So I thought this flags and things is essentially the flags plus a number of extra fields which I don't need to go into at this point in the lesson.

      Now next we've got the TCP window.

      And this is interesting.

      This defines the number of bytes that you indicate that you're willing to receive between app knowledgements.

      Once reached, the sender will pause until you acknowledge that amount of data.

      And this is how flow control is implemented.

      It lets the receiver control the rate at which the sender sends data.

      If you use a smaller window, it provides additional levels of control over how quickly you're sent data.

      Larger windows are more efficient because the header of a TCP segment takes up an amount of space and the smaller the window, the more headers are involved.

      So this window setting is quite important if you're using a TCP for practical reasons, but we don't need to go into too much detail in this lesson.

      Next we have checks on which is used for error checking.

      It means that a TCP layer is able to detect errors and can arrange for retransmission of the data as required.

      And then lastly, we have the urgent pointer.

      And this is a cool feature.

      Imagine if you have a data transfer application where 99% of data is the data being transferred and 1% is control traffic.

      So communication between the client and the server, coordinating the actual data transfer.

      While setting this field in a segment means that both sides can have separate processing.

      So the control traffic always takes priority within the communication.

      So any protocols which are latency sensitive and transfer data such as FTP and PellNet can use this field.

      Now all of these fields together are known as the TCP header.

      And the capacity of a TCP segment which remains is logically enough used for data.

      So that's a segment that are placed inside packets and transmitted by one network stack, specifically layer 4 of one network stack and received by another network stack using the layer 4 protocol.

      In this case TCP.

      Okay so this is the end of part 1 of this lesson.

      It was getting a little bit on the long side and so I wanted to add a break.

      It's an opportunity just to take a rest or grab a coffee.

      Part 2 will be continuing immediately from the end of part 1.

      So go ahead, complete video and when you're ready join me in part 2.

    1. Welcome back, this is part three of this lesson. We're going to continue immediately from the end of part two. So let's get started.

      The address resolution protocol is used generally when you have a layer three packet and you want to encapsulate it inside a frame and then send that frame to a MAC address.

      You don't initially know the MAC address and you need a protocol which can find the MAC address for a given IP address.

      For example, if you communicate with AWS, AWS will be the destination of the IP packets.

      But you're going to be forwarding via your home router which is the default gateway.

      And so you're going to need the MAC address of that default gateway to send the frame to containing the packet.

      And this is where ARP comes in.

      ARP will give you the MAC address for a given IP address.

      So let's step through how it works.

      For this example, we're going to keep things simple.

      We've got a local network with two laptops, one on the left and one on the right.

      And this is a layer three network which means it has a functional layer two and layer one.

      What we want is the left laptop which is running a game and it wants to send the packets containing game data to the laptop on the right.

      This laptop has an IP address of 133.33.3.10.

      So the laptop on the left takes the game data and passes it to its layer three which creates a packet.

      This packet has its IP address as the source and the right laptop as the destination.

      So 133.33.3.10.

      But now we need a way of being able to generate a frame to put that packet in for transmission.

      We need the MAC address of the right laptop.

      This is what ARP or the address resolution protocol does for us.

      It's a process which runs between layer two and layer three.

      It's important to point out at this point that now you know how devices can determine if two IP addresses are on the same local network.

      In this case, the laptop on the left because it has its subnet mask and IP address as well as the IP address of the laptop on the right.

      It knows that they're both on the same network.

      And so this is a direct local connection.

      Routers aren't required.

      We don't need to use any routers for this type of communication.

      Now ARP broadcasts on layer two.

      It sends an ARP frame to all Fs as a MAC address.

      And it's asking who has the IP address 133.33.3.10 which is the IP address of the laptop on the right.

      Now the right laptop because it has a full layer one, two and three networks stack is also running the address resolution protocol.

      The ARP software sees this broadcast and it responds by saying I'm that IP address.

      I'm 133.33.3.10.

      Here's my MAC address ending 5B colon 7, 8.

      So now the left laptop has the MAC address of the right one.

      Now it can use this destination MAC address to build a frame, encapsulate the packet in this frame.

      And then once the frame is ready, it can be given to layer one and sent across the physical network to layer one of the right laptop.

      Layer one of the right laptop receives this physical orbit stream and hands it off to the layer two software also on the right laptop.

      Now it's layer two software reviews the destination MAC address and sees that it's destined for itself.

      So it strips off the frame and it sends the packet to its layer three software.

      Layer three reviews the packet, sees that it is the intended destination and it de-encapsulates the data.

      So strips away the packet and hands the data back to the game.

      Now it's critical to understand as you move through this lesson series, even if two devices are communicating using layer three, they're going to be using layer two for local communications.

      If the machines are on the same local network, then it will be one layer two frame per packet.

      But if you'll see in a moment if the two devices are remote, then you can have many different layer two frames which are used along the way.

      And ARP, or the address resolution protocol, is going to be essential to ensure that you can obtain the MAC address for a given IP address.

      This is what facilitates the interaction between layer three and layer two.

      So now that you know about packets, now that you know about subnet masks, you know about routes and route tables, and you know about the address resolution protocol or ARP, let's bring this all together now and look at a routing example.

      So we're going to go into a little bit more detail now.

      In this example, we have three different networks.

      We've got the orange network on the left, we've got the green network in the middle, and then finally the pink network on the right.

      Now between these networks are some routers.

      Between the orange and green networks is router one, known as R1, and between the green and pink networks is router two, known as R2.

      Each of these routers has a network interface in both of the networks that it touches.

      Routers are layer three devices, which means that they understand layer one, layer two, and layer three.

      So the network interfaces in each of these networks work at layer one, two, and three.

      In addition to this, we have three laptops.

      We've got two in the orange network, so device one at the bottom and device two at the top, and then device three in the pink network on the right.

      Okay, so what I'm going to do now is to step through two different routing scenarios, and all of this is bringing together all of the individual concepts which I've covered at various different parts of this part of the lesson series.

      First, let's have a look at what happens when device one wants to communicate with device two using its IP address.

      First, device one is able to use its own IP address and subnet mask together with device two's IP address, and calculate that they're on the same local network.

      So in this case, router R1 is not required.

      So a packet gets created called P1 with a D2 IP address as the destination.

      The address resolution protocol is used to get D2's MAC address, and then that packet is encapsulated in a frame with that MAC address as the destination.

      Then that frame is sent to the MAC address of D2.

      Once the frame arrives at D2, it checks the frame, hits the destination, so it accepts it and then strips the frame away.

      It passes the packet to layer three.

      It sees that it's the destination IP address, so it strips the packet away and then passes the game data to the game.

      Now all of this should make sense.

      This is a simple local network communication.

      Now let's step through a remote example.

      Device two communicating with device three.

      These are on two different networks.

      Device two is on the orange network, and device three is on the pink network.

      So first, the D2 laptop, it compares its own IP address to the D3 laptop IP address, and it uses its subnet mask to determine that they're on different networks.

      Then it creates a packet P2, which has the D3 laptop as its destination IP address.

      It wraps this up in a frame called F2, but because D3 is remote, it knows it needs to use the default gateway as a router.

      So for the destination MAC address of F2, it uses the address resolution protocol to get the MAC address of the local router R1.

      So the packet P2 is addressed to the laptop D3 in the pink network, so the packet's destination IP address is D3.

      The frame F2 is now addressed to the router R1 at MAC address, so this frame is sent to router R1.

      R1 is going to see that the MAC address is addressed to itself, and so it will strip away the frame F2, leaving just the packet P2.

      Now a normal network device such as your laptop or phone, if it received a packet which wasn't destined for it, it would just drop that packet.

      A router though, it's different.

      The router's job is to route packets, so it's just fine to handle a packet which is addressed somewhere else.

      So it reviews the destination of the packet P2, it sees that it's destined for laptop D3, and it has a route for the pink network in its route table.

      It knows that for anything destined for the pink network, then router R2 should be the next hop.

      So it takes packet P2 and it encapsulates it in a new frame F3.

      Now the destination MAC address of this frame is the MAC address of router R2, and it gets this by using the address resolution protocol or ARP.

      So it knows that the next hop is the IP address of router R2, and it uses ARP to get the MAC address of router R2, and then it sends this frame off to router R2 as the next hop.

      So now we're in a position where router R2 has this frame F3 containing the packet P2 destined for the machine inside the pink network.

      So now the router R2 has this frame with the packet inside.

      It sees that it's the destination of that frame.

      The MAC address on the frame is its MAC address, so it accepts the frame and it removes it from around packet P2.

      So now we've just got packet P2 again.

      So now router R2 reviews the packet and it sees that it's not the destination, but that doesn't matter because R2 is a router.

      It can see that the packet is addressed to something on the same local network, so it doesn't need to worry anymore about routing.

      Instead, it uses ARP to get the MAC address of the device with the intended destination IP address, so laptop D3.

      It then encapsulates the packet P2 in a new frame, F4, whose destination MAC address is that of laptop D3, and then it sends this frame through to laptop D3. laptop D3 receives the frame, D3 sees that it is the intended destination of the frame because the MAC address matches its MAC address.

      It strips off the frame, it also sees that it's the intended destination of the IP packet, it strips off the packet, and then the data inside the packet is available for the game that's running on this laptop.

      So it's a router's job to move packets between networks.

      Router's doing this by reviewing packets, checking route tables for the next hop or target addresses, and then adding frames to allow the packets to pass through intermediate layer 2 networks.

      A packet during its life might move through any number of layer 2 networks and be re-encapsulated many times during its trip, but normally the packet itself remains unchanged all the way from source to destination.

      A router is just a device which understands physical networking, it understands data link networking, and it understands IP networking.

      So that's layer 3, the network layer, and let's review what we've learned quickly before we move on to the next layer of the OSI model.

      Now this is just an opportunity to summarize what we've learned, so at the start of this video, at layer 2 we had media access control, and we had device to device or device to all device communications, but only within the same layer 2 network.

      So what does layer 3 add to this?

      Well it adds IP addresses, either version 4 or version 6, and this is cross network addressing.

      It also adds the address, resolution, protocol, or ARP, which can find the MAC address for this IP address or for a given IP address.

      Layer 3 adds routes, which define where to forward a packet to, and it adds route tables, which contain multiple routes.

      It adds the concept of a device called a router, which moves packets from source to destination, encapsulating these packets in different layer 2 frames along the way.

      This altogether allows for device to device communication over the internet, so you can access this video, which is stored on a server, which has several intermediate networks away from your location.

      So you can access this server, which has an IP address, and packets can move from the server through to your local device, crossing many different layer 2 networks.

      Now what IP doesn't provide?

      It provides no method of individual channels of communication.

      Layer 3 provides packets, and packets only have source IP and destination IP, so for a given two devices, you can only have one stream of communication, so you can't have different applications on those devices communicating at the same time.

      And this is a critical limitation, which is resolved by layers 4 and above.

      Another element of layer 3 is that in theory packets could be delivered out of order.

      Individual packets move across the internet through intermediate networks, and depending on network conditions, there's no guarantee that those packets will take the same route from source to destination, and because of different network conditions, it's possible they could arrive in a different order.

      And so if you've got an application which relies on the same ordering at the point of receipt as at the point of transmission, then we need to add additional things on top of layer 3, and that's something that layer 4 protocols can assist with.

      Now at this point we've covered everything that we need to for layer 3.

      There are a number of related subjects which I'm going to cover in dedicated videos, such as network address translation, and how the IP address space functions, as well as IP version 6, which in this component of the lesson series, we've covered how the architecture of layer 3 of the OSI model works.

      So at this point, go ahead and complete this video, and then when you're ready, I'll look forward to you joining me in the next part of this lesson series where we're going to look at layer 4.

    1. Welcome back, this is part two of this lesson.

      We're going to continue immediately from the end of part one, so let's get started.

      Now we talked about the source and destination IP address of these packets, so now let's focus on IP addressing itself.

      IP addressing is what identifies a device which uses layer 3 IP networking.

      Now I'll talk more about how IP addressing is decided upon and assigned in another video, for now I want you to fully understand the structure of an IP address.

      In this video I'll be focusing on IP version 4, because I have a separate video which will cover IP version 6 in depth.

      This is an IP address, 133.33.3.7.

      From a pure network connectivity point of view, if you have a valid IP version 4 address, you can send packets to 133.33.3.7 and they will at least start on the journey of getting to this destination.

      Now there might be blocks in the way, so firewalls or other security restrictions, all the IP could be offline, but packets will move from you over the internet on their way to this IP address.

      Now this format is known as dotted decimal notation.

      It's four decimal numbers from 0 to 255 separated by dots.

      So 133.33.3.7.

      Now all IP addresses are actually formed of two different parts.

      There's the network part which states which IP network this IP address belongs to, and then the host part which represents hosts on that network.

      So in this example the network is 133.33, and then the hosts on that network can use the remaining part of the IP.

      In this case 3.7 is one device on that network, a laptop.

      A really important part of understanding how your data gets from your location to a remote network is the given two IP addresses.

      How do you tell if they're on the same IP network or different IP networks?

      If the network part of the IP address matches between two different IP addresses, then they're on the same IP network.

      If not, they're on different IP networks.

      So you need to be able to calculate where you've an IP address, which part of that address is the network, and which part is the host.

      And by the end of this lesson you will know how to do that.

      Now IP addresses are not actually dotted decimal.

      That's how they're represented for humans.

      They're actually binary numbers.

      Each decimal part of the IP address is an 8-bit binary number.

      There are four of these per IP version 4 address, and this means that an entire IP address is 32 bits in size.

      So four sets of 8 bits, and each of these 8 bits is known as an octet.

      You might hear somebody refer to say the first and second octet of an IP address, and this is always read left to right.

      The first octet in this example is 1, 3, 3, or in binary 1, 0, 0, 0, 1, 0, 1.

      And the second octet is 33, which in binary is 0, 0, 1, 0, 0, 0, 0, 1.

      Now this binary conversion, this is not something which I'm going to cover in this lesson, but I will make sure there's a link attached to the lesson which shows you how to do it.

      It's just decimal to binary maths, and once you know how it's done, it's really easy to do, even in your head.

      Now I'm going to talk about how you can determine which IPs are on the same network next, but I wanted to introduce the format of IP addresses first.

      In this example, this IP address has what's known as a /16 prefix.

      This means that the first 16 bits represent the network, and the rest are for hosts.

      Now I don't really talk about how this works in detail coming up next.

      Because the first 16 bits are network, it means that the second IP address is 1, 3, 3, .33, .33, .37, because the network part of that matches is 1, 3, 3, .33, and it's on the same IP network.

      I'm going to detail coming up next how this calculation is done.

      For now, I want you to be comfortable knowing that if the network component of two IP addresses match, then devices are local.

      If they don't match, then devices are remote.

      That matters when we start covering IP routing.

      Now IP addresses are networks.

      These are either statically assigned by humans, and this is known as a static IP, or they're assigned automatically by machines.

      So service on your network running DHCP service software.

      Now DHCP stands for Dynamic Host Configuration Protocol, and this is something I'll be covering in detail in a separate video.

      On a network, IP addresses need to be unique, or bad things happen.

      Globally, in most cases, IP addresses need to be unique, or also bad things happen.

      So keep that in mind.

      Generally, when you're dealing with IP addresses, you want them to be unique, especially on your local network.

      Now let's talk about subnet masks, because these are what helps us determine if IP addresses are local to each other or remote.

      Subnet masks are a critical part of IP networking.

      They're configured on layer 3 interfaces, along with IP addresses.

      What's also configured on most network interfaces is a default gateway.

      This is an IP address on a local network, which packets are forwarded to, generally, if the intended destination is not a local IP address.

      Subnet masks are what allow an IP device to know if an IP address which it's communicating with is on the same network or not, and that influences if the device attempts to communicate directly on the local network, or if it needs to use the default gateway.

      On your home network, for example, your internet router is likely set as your default gateway, so when you browse to Netflix.com or interact with AWS because the IP addresses that you're talking to are not local, then packets from your machine are passed to your router, which is the default gateway.

      So let's say that we have an IP address, 133.33.3.7.

      Now this alone is just a single address.

      We don't know which part of it is the network and which part of it is the host component.

      I just finished talking about how IP addresses can match binary numbers.

      This IP address in binary is 1-0-0-0-1-0-1, so that's the first octet, and then 0-0-1-0-0-1, that's the second octet, and then 0-0-0-0-0-0-1-1, that's the third octet, and then finally 0-0-0-0-0-1-1-1, and that's the fourth octet, and that represents 133.33.3.7.

      So as a reminder, if we're dealing manually with subnet masks, and remember this is something that's generally performed in software by your networking stack, the first thing we need to do is convert the dotted decimal notation into a binary number.

      Now along with this IP address, we would generally also configure either statically or using DHCP, a subnet mask.

      In this example, the subnet mask that we have is 255.255.0.0 or /16, and these mean the same thing, and I'll show you why over the next few minutes.

      A subnet mask represents which part of the IP is for the network.

      It helps you, or more often a machine, know which part of an IP address is which.

      To use a subnet mask, you first have to convert it into binary, so 255.255.0.0 is this in binary.

      We convert it just like an IP address.

      So the first octet is all 1s, the second octet is all 1s, the third and fourth octet are all 0s.

      The /16, which is known as the prefix, this is just shorthand.

      It's the number of 1s in the subnet mask starting from the left.

      So /16 simply means 16 1s, which is the same as 255.255.0.0 when you convert that into binary.

      Now when you have the subnet mask in binary, anything with a 1 represents the network, anything with a 0 represents the host component.

      So if you overlay a subnet mask and an IP address, both of them in binary, it becomes really easy to tell which part is which.

      Something else which is really cool is that for a given network, you can calculate the start and end IP addresses of that network.

      Take for example, the IP address that's on screen now, so 133.33.3.7.

      Well we've converted that into binary and we've also converted the subnet mask of 255.255.0.0 also into binary.

      So that's in blue, right below the binary IP address.

      To calculate the start of the network, we begin with the network part of the IP address and then for the host part, we have all 0s.

      So let's look at what we've done.

      The subnet mask, where there are 1s, this is the network part.

      So we take the original IP address and where the subnet mask has 1s, that's the network part, so 133.33.

      Then for the part which is hosts, which is where the subnet mask shows 0s, then we have all 0s.

      This means that the network starting point is 133.33.0.0.

      Now to find the end, we take the network component of the IP address again, so where the subnet mask is all 1s, that's what we start with.

      And to work out the end of the network, we take the host component, so where the subnet mask is 0s, and we have all 1s in the IP address.

      So the ending part of this network is 133.33.255.255.

      So the starting address of a network is the network component of the IP address, identified with the subnet mask, and then all 0s for the host part of the IP address, and the ending address of the network is the network part of the IP address to start with, and then for the host component, we have all 1s.

      So this is how subnet masks work.

      They're used to identify which part of an IP address is the network part and which is the host part.

      As long as the network part for two different IP addresses is the same, then we know that both of those IP addresses are on the same IP network, and this is essential so that the machine can identify when it can send data directly on the same local network, or when IP routing needs to be used to transfer packets across different intermediate networks.

      So it's how your local device, your local laptop, knows to send packets to your internet router for Netflix or AWS, rather than trying to look for both of those systems locally on your local area network.

      And that's how a router makes that decision too, when it's looking where to forward packets to.

      So using subnet masks and IP addresses, it's how a lot of the intelligence of layer 3 is used.

      Now next, I want to spend some time looking at route tables and routes.

      Let's step through an example of data moving from you to AWS, and I want to keep focus for now on how a router makes a decision where to send data.

      Packets that you create for AWS will move from your house into your internet provider across the internet, potentially even between countries, and then finally arrive at AWS.

      Let's step through a simple example.

      So we start with our house on the left.

      Next, we have our internet provider known as an ISP or Internet Service Provider, and let's call this Meow ISP, and then we have three destination networks.

      We have AWS, our ISP's upstream provider, and then Netflix.

      Now we want to communicate with AWS, and so we create a packet on our local device, which has our IP address 1.3.3.7 as the source IP address, and it has a destination IP address of 52.217.13.37.

      Now you're going to have an internet router within your home, and this is where your device will send all of its data through.

      That router has what's known as a default route, which means all IP traffic is sent to it on its way to Meow ISP.

      Now I'll explain what a default route is in a second.

      For now, just assume that all data that you generate within your local network by default is sent through to your internet service provider.

      So now the packet that you've generated is inside your internet service provider on a router, and this router has multiple network interface cards connecting to all of those remote networks.

      Now let's assume in those remote networks is another router, and each of these routers uses the dot 1 IP address in each of those networks.

      So how does the ISP router inside Meow ISP know where to forward your data to?

      Well, it uses routes and route tables.

      Every router will have at least one route table.

      It could have more, which are attached to individual network interfaces, but for now let's keep things simple and assume that the router within our ISP has a single route table, and it will look something like this.

      A route table is a collection of routes.

      Each row in this table is an example route.

      It will have a destination field, and it will have a next hop or a target field.

      What happens is that every packet which arrives at this router, the router will check the packet's destination.

      What IP address is this packet destined for?

      And in this example, it's 52.217.13.37.

      Now at this point, the router will look for any routes in the route table which match the destination IP address of this packet.

      If multiple routes match, then it will prefer ones which are more specific.

      The two routes in yellows at the top and the bottom, these are examples of fairly specific routes.

      The one in blue in the middle is the inverse, this is not a specific route.

      The larger the prefix, so the higher the number after the slash, the more specific the route.

      So a slash 32 is the most specific, and a slash 0 is the least specific.

      A slash 32 actually represents one single IP address, and a slash 0, well this represents all IP addresses.

      A slash 24 means that the first 24 bits are for the network, and the last 8 bits are for the host.

      So this matches a network of 256 IP addresses.

      So for this packet that we have with the destination of 52.217.13.37, we've got two routes which match.

      The top route, which is 52.217.13.0/24, that network contains the IP address which our packet is destined for.

      So this matches.

      But also the middle route, 0.0.0/0, this matches, because this matches all IP addresses.

      The middle route is known as a default route.

      I mentioned before the packets from our home network on the left arrive at our ISP because there's a default route.

      Well this 0.0.0/0 is an example of a default route.

      This will match if nothing else does.

      Because we have two more specific routes in this route table, so the top and bottom, if either of those match, they will be selected rather than the default route in the middle.

      In this case the bottom route doesn't match our particular packet, only the top one matches.

      And so the top route will be selected because it's more specific than the default route.

      Now for the route that's selected, so the top route, it has a next hop or target field.

      This is the IP address which the packet is going to be forwarded to, to get one step closer through to its destination.

      Or in this case to arrive at the actual destination.

      And so the packet is forwarded through to this address.

      Routing as a process is where packets are forwarded or routed hop by hop across the internet from source to destination.

      Route tables are the thing which enables this.

      Route tables can be statically populated, or there are protocols such as BGP or the border gateway protocol, which allow routers to communicate with each other to exchange which networks they know about.

      And this is how the core of the internet functions.

      One important thing that you need to understand though, is that when our ISP router is forwarding the packet through to the AWS router, it's forwarding it at layer 2.

      It wraps the packet in a frame.

      The packet doesn't change.

      The frame though, it has the AWS routers MAC address as its destination.

      That's how the packet gets to the AWS router.

      But how do we determine the MAC address of the AWS router in this example?

      For that we use something called the address resolution protocol, and that's what I'm going to be covering next.

      This is the end of part 2 of this lesson.

      It's a pretty complex lesson, and so I wanted to give you the opportunity to take a small break, maybe stretch your legs, or make another coffee.

      Part 3 will continue immediately from this point, so go ahead, complete this video, and when you're ready, I look forward to you joining me in part 3.

    1. Welcome back.

      Now that we've covered the physical and data link layers, next we need to step through layer 3 of the OSI model, which is the network layer.

      As I mentioned in previous videos, each layer of the OSI model builds on the layers below it, so layer 3 requires one or more operational layer 2 networks to function.

      The job of layer 3 is to get data from one location to another.

      When you're watching this video, data is being moved from the server hosting the video through to your local device.

      When you access AWS or stream from Netflix, data is being moved across the internet, and it's layer 3 which handles this process of moving data from a source to a destination.

      To appreciate layer 3 fully, you have to understand why it's needed.

      So far in the series, I've used the example of 2-4 friends playing the game on a local area network.

      Now what if we extended this, so now we have 2 local area networks and they're located with some geographic separation.

      Let's say that one is on the east coast of the US and another is on the west coast, so there's a lot of distance between these 2 separate layer 2 networks.

      Now LAN1 and LAN2 are isolated layer 2 networks at this point.

      Devices on each local network can communicate with each other, but not outside of that local layer 2 network.

      Now you could pay for and provision a point-to-point link across the entire US to connect these 2 networks, but that would be expensive, and if every business who had multiple offices needed to use point-to-point links, it would be a huge mess and wouldn't be scalable.

      Additionally, each layer 2 network uses a shared layer 2 protocol.

      In the example so far, this has been Ethernet.

      Any networks where only using layer 2, if we want them to communicate with each other, they need to use the same layer 2 protocol to communicate with another layer 2 network.

      Now not everything uses the same layer 2 protocol, this presents challenges, because you can't simply join 2 layer 2 networks together, which use different layer 2 protocols and have them work out of the box.

      With the example which is on screen now, imagine if we had additional locations spread across the continental US.

      Now in between these locations, let's add some point-to-point links, so we've got links in pink which are tabled connections, and these go between these different locations.

      Now we also might have point-to-point links which use a different layer 2 protocol.

      In this example, let's say that we had a satellite connection between 2 of these locations.

      This is in blue, and this is a different layer 2 technology.

      Now Ethernet is one layer 2 technology which is generally used for local networks.

      It's the most popular wired connection technology for local area networks.

      But for point-to-point links and other long distance connections, you might also use things such as PPP, MPLS or ATM.

      Not all of these use frames with the same format, so we need something in common between them.

      Layer 2 is the layer of the OSI stack which moves frames, it moves frames from a local source to a local destination.

      So to move data between different local networks, which is known as inter-networking, this is where the name internet comes from.

      We need a layer 3.

      Layer 3 is this common protocol which can span multiple different layer 2 networks.

      Now layer 3 or the network layer can be added onto one or more layer 2 networks, and it adds a few capabilities.

      It adds the internet protocol or IP.

      You get IP addresses which are cross-networking addresses, which you can assign to devices, and these can be used to communicate across networks using routing.

      So the device that you're using right now, it has an IP address.

      The server which stores this video, it too has an IP address.

      And the internet protocol is being used to send requests from your local network across the internet to the server hosting this video, and then back again.

      IP packets are moved from source to destination across the internet through many intermediate networks.

      Devices called routers, which are layer 3 devices, move packets of data across different networks.

      They encapsulate a packet inside of an ethernet frame for that part of the journey over that local network.

      Now encapsulation just means that an IP packet is put inside an ethernet frame for that part of the journey.

      Then when it needs to be moved into a new network, that particular frame is removed, and a new one is added around the same packet, and it's moved onto the next local network.

      So as this video data is moving from my server to you, it's been wrapped up in frames.

      Those frames are stripped away, new frames are added, all while the packets of IP data move from my video server to you.

      So that's why IP is needed at a high level, to allow you to connect to all that remote networks, crossing intermediate networks on the way.

      Now over the coming lesson, I want to explain the various important parts of how layer 3 works.

      Specifically IP, which is the layer 3 protocol used on the internet.

      Now I'm going to start with the structure of packets, which are the data units used within the internet protocol, which is a layer 3 protocol.

      So let's take a look at that next.

      Now packets in many ways are similar to frames.

      It's the same basic concept.

      They contain some data to be moved, and they have a source and destination address.

      The difference is that with frames, both the source and destination are generally local.

      With an IP packet, the destination and source addresses could be on opposite sides of the planet.

      During their journey from source to destination packets remain the same, as they move across layer 2 networks.

      They're placed inside frames, which is known as encapsulation.

      The frame is specific to the local network that the packet is moving through, and changes every time the packet moves between networks.

      The packet though doesn't change.

      Normally it's constant for the duration for its entire trip between source and destination.

      Although there are some exceptions that I'll be detailing in a different lesson, when I talk about things like network address translation.

      Now there are two versions of the internet protocol in use.

      Version 4, which has been used for decades, and version 6, which adds more scalability.

      And I'll be covering version 6 and its differences in a separate lesson.

      An IP packet contains various different fields, much like frames that we discussed in an earlier video.

      At this level there are a few important things within an IP packet which you need to understand, and some which are less important.

      Now let's just skip past the less relevant ones.

      I'm not saying any of these are unimportant, but you don't need to know exactly what they do at this introductory level.

      Things which are important though, every packet has a source and destination IP address field.

      The source IP address is generally the device IP which generates the packet, and the destination IP address is the intended destination IP for the packet.

      In the previous example we have two networks, one east coast and one west coast.

      The source might be a west coast PC, and the destination might be a laptop within the east coast network.

      But crucially these are both IP addresses.

      There's also the protocol field, and this is important because IP is layer 3.

      It generally contains data provided by another layer, a layer 4 protocol, and it's this field which stores which protocol is used.

      So examples of protocols which this might reference are things like ICMP, TCP or UDP.

      If you're storing TCP data inside a packet this value will be 6, for PINs known as ICMP this value will be 1, and if you're using UDP as a layer 4 protocol then this value will be 17.

      This field means that the network stack at the destination, specifically the layer 3 component of that stack, will know which layer 4 protocol to pass the data into.

      Now the bulk of the space within a packet is taken up with the data itself, something that's generally provided from a layer 4 protocol.

      Now lastly there's a field called time to live or TTL.

      Remember the packets will move through many different intermediate networks between the source and the destination, and this is a value which defines how many hops the packet can move through.

      It's used to stop packets looping around forever.

      If for some reason they can't reach their destination then this defines a maximum number of hops that the packet can take before being discarded.

      So just in summary a packet contains some data which it carries generally for layer 4 protocols.

      It has a source and destination IP address, the IP protocol implementation which is on routers moves packets between all the networks from source to destination, and it's these fields which are used to perform that process.

      As packets move through each intermediate layer 2 network, it will be inserted or encapsulated in a layer 2 frame, specific for that network.

      A single packet might exist inside tens of different frames throughout its route to its destination, one for every layer 2 network or layer 2 point to point link which it moves through.

      Now IP version 6 from a packet structure is very similar, we also have some fields which matter less at this stage.

      They are functional but to understand things at this level it's not essential to talk about these particular fields.

      And just as with IP version 4, IP version 6 packets also have both source and destination IP address fields.

      But these are bigger IP version 6 addresses are bigger which means there are more possible IP version 6 addresses.

      And I'm going to be covering IP version 6 in detail in another lesson.

      It means though that space taken in a packet to store IP version 6 source and destination addresses is larger.

      Now you still have data within an IP version 6 packet and this is also generally from a layer 4 protocol.

      Now strictly speaking if this were to scale then this would be off the bottom of the screen, but let's just keep things simple.

      We also have a similar field to the time to live value within IP version 4 packets, which in IP version 6 this is called the hop limit.

      Functionally these are similar, it controls the maximum number of hops that the packet can go through before being discarded.

      So these are IP packets, generally they store data from layer 4 and they themselves are stored in one or more layer 2 frames as they move around networks or links which fall on the internet.

      Okay so this is the end of part 1 of this lesson.

      It was getting a little bit on the long side and I wanted to give you the opportunity to take a small break, maybe stretch your legs or make a coffee.

      Now part 2 will continue immediately from this point, so go ahead complete this video and when you're ready I look forward to you joining me in part 2.

    1. I complained it was too heavy, whereupon she gave me a slap in the face

      Many dynamics in here I find interesting. Mary seems to be more vocal of her discomfort towards the mistress and the mistress seems to be more physically abuse than the other characters we've seen throughout the story. It's interesting, I wonder if Mary complained to her because she was another woman and she too complied to the belief that women are weaker than men. I wonder if the mistress has dealt with so much abuse herself that she must take her frustrations out on Mary. I don't know, I just think this is an interesting interaction on both ends.

    1. Welcome back and in this part of the lesson series I'm going to be discussing layer one of the seven layer OSI model which is the physical layer.

      Imagine a situation where you have two devices in your home let's say two laptops and you want to play a local area network or LAN game between those two laptops.

      To do this you would either connect them both to the same Wi-Fi network or you'd use a physical networking cable and to keep things simple in this lesson I'm going to use the example of a physical connection between these two laptops so both laptops have a network interface card and they're connected using a network cable.

      Now for this part of the lesson series we're just going to focus on layer one which is the physical layer.

      So what does connecting this network cable to both of these devices give us?

      Well we're going to assume it's a copper network cable so it gives us a point-to-point electrical shared medium between these two devices so it's a piece of cable that can be used to transmit electrical signals between these two network interface cards.

      Now physical medium can be copper in which case it uses electrical signals it can be fiber in which case it uses light or it can be Wi-Fi in which case it uses radio frequencies.

      Whatever type of medium is used it needs a way of being able to carry unstructured information and so we define layer one or physical layer standards which are also known as specifications and these define how to transmit and receive raw bitstream so ones and zeros between a device and a shared physical medium in this case the piece of copper networking cable between our two laptops so the standard defines things like voltage levels, timings, data rates, distances which can be used, the method of modulation and even the connector type on each end of the physical cable.

      The specification means that both laptops have a shared understanding of the physical medium so the cable.

      Both can use this physical medium to send and receive raw data.

      For copper cable electrical signals are used so a certain voltage is defined as binary 1 say 1 volt and a certain voltage as binary 0 say -1 volt.

      If both network cards in both laptops agree because they use the same standard then it means that zeros and ones can be transmitted onto the medium by the left laptop and received from the medium by the right laptop and this is how two networking devices or more specifically two network interface cards can communicate at layer one.

      If I refer to a device as layer X so for example layer one or layer three then it means that the device contains functionality for that layer and below so a layer one device just understands layer one and a layer three device has layers one, two and three capability.

      Now try to remember that because it's going to make much of what's coming over the remaining videos of this series much easier to understand.

      So just to reiterate what we know to this point we've taken two laptops we've got two layer one network interfaces and we've connected them using a copper cable a copper shared medium and because we're using a layer one standard it means that both of these cards can understand the specific way that binary zeros and ones are transmitted onto the shared medium.

      Now on the previous screen I use the example of two devices so two laptops with network interface cards communicating with each other.

      Two devices can use a point-to-point layer one link a fancy way of talking about a network cable but what if we need to add more devices a two-player game isn't satisfactory we need to add two more players for a total of four.

      Well we can't really connect these four devices to a network cable with only two connectors but what we can do is to add a networking device called a hub in this example it's a four-port hub and the laptop on the left and right instead of being connected to each other directly and now connected to two ports of that hub because it's a four-port hub this also means that it has two ports free and so it can accommodate the top and bottom laptops.

      Now hubs have one job anything which the hub receives on any of its ports is retransmitted to all of the other ports including any errors or collisions.

      Conceptually a hub creates a four connector network cable one single piece of physical medium which four devices can be connected to.

      Now there are a few things that you really need to understand at this stage about layer one networking.

      First there are no individual device addresses at layer one one laptop cannot address traffic directly at another it's a broadcast medium the network card on the device on the left transmits onto the physical medium and everything else receives it it's like shouting into a room with three other people and not using any names.

      Now this is a limitation but it is fixed by layer two which will cover soon in this lesson series.

      The other consideration is that it is possible that two devices might try and transmit at once and if that happens there will be a collision this corrupts any transmissions on the shared medium only one thing can transmit at once on a shared medium and be legible to everything else if multiple things transmit on the same layer one physical medium then collisions occur and render all of the information useless.

      Now related to this layer one has no media access control so no method of controlling which devices can transmit so if you decide to use a layer one architecture so a hub and all of the devices which is shown on screen now then collisions are almost guaranteed and the likelihood increases the more layer one devices are present on the same layer one network.

      Layer one is also not able to detect when collisions occur remember these network cards are just transmitting via voltage changes on the shared medium it's not digital they can in theory all transmit at the same time and physically that's okay it means that nobody will be able to understand anything but at layer one it can happen so layer one is done it doesn't have any intelligence beyond defining the standards that all of the devices will use to transmit onto the shared medium and receive from the shared medium because of how layer one works and because of how a hub works because it simply retransmits everything even collisions then the layer one network is said to have one broadcast and one collision domain and this means that layer one networks tend not to scale very well the more devices are added to a layer one network the higher the chance of collisions and data corruption.

      Now layer one is fundamental to networking because it's how devices actually communicate at a physical level but for layer one to be useful for it to be able to be used practically for anything else then we need to add layer two and layer two runs over the top of a working layer one connection and that's what we'll be looking at in the next part of this lesson series.

      As a summary of the position that we're in right now assuming that we have only layer one networking we know that layer one focuses on the physical shared medium and it focuses on the standards for transmitting onto the medium and receiving from the shared medium so all devices which are part of the same layer one network need to be using the same layer one medium and device standards generally this means a certain type of network card and a certain type of cable or it means why vicar's using a certain type of antennas and frequency ranges what layer one doesn't provide is any form of access control of the shared medium and it doesn't give us uniquely identifiable devices and this means we have no method for device to device communication everything is broadcast using transmission onto the shared physical medium.

      Now in the next video of this series I'm going to be stepping through layer two which is the data link layer and this is the layer which adds a lot of intelligence on top of layer one and allows device to device communication and it's layer two which is used by all of the upper layers of the OSI model to allow effective communication but it's important that you understand how layer one works because this physically is how data moves between all devices and so you need to have a good fundamental understanding of layer one.

      Now this seems like a great place to take a break so I'm going to end this video here so go ahead and complete this video and then when you're ready I look forward to you joining me in the next part of this lesson series where we'll be looking at layer two or the data link layer.

    1. Welcome back, this is part two of this lesson.

      We're going to continue immediately from the end of part one.

      So let's get started.

      Now the only thing that remains is just to test out this configuration.

      And to do that we're going to launch an EC2 instance into the WebA subnet.

      So click on services and just type EC2 to move across to the EC2 console.

      Now once we're on the EC2 console, just click on launch instance.

      Then you'll be taken to the launch instance console.

      Into the name box, just go ahead and type a4l-bastian.

      Scroll down and we're going to create a bastion instance using Amazon Linux.

      So click on Amazon Linux.

      In the dropdown below, go ahead and select the latest version of Amazon Linux.

      Just make sure that it does say free tier eligible on the right of this dropdown.

      Assuming that's all good, just below that make sure that in the architecture dropdown it's set to 64-bit x86.

      Moving down further still, under instance type, just make sure that this is set to a free tier eligible instance.

      It should default to T2.micro or T3.micro.

      Depending on your region, either of these could be free tier eligible.

      In my case it's T2.micro, but whatever your shows, just make sure that it's similar sized and says free tier eligible.

      Now directly below that, under key pair, just click in this box.

      You should at this point in the course have a key pair creator called a4l.

      If you do, go ahead and select that key pair in the box.

      If you don't, don't worry, you can just go ahead and click on create new key pair.

      Enter a4l into the key pair name, select RSA, and then select PEM for the private key format and click on create key pair.

      This will download the key pair to your local machine and then you can continue following along with this video.

      So select that from the dropdown.

      Directly below, under network settings click on edit.

      This instance is going to go into the animals for live VPC.

      So click on the VPC dropdown and select a4l-vpc1.

      Directly below that, click in the subnet dropdown and we want to go ahead and look for sn-web-a.

      So select the weba subnet.

      This should change both of the dropdowns below.

      So auto assign public IP and auto assign IPv6 IP to enable.

      So just make sure that both of those are set to enable.

      Directly below this, make sure that create security group is checked.

      We're going to create a new security group.

      Under security group name, just go ahead and enter a4l-bassian-sg and then put that same text in the description box directly below.

      Now all of these defaults should be good.

      Just make sure it's set to SSH, source anywhere.

      Make sure that 0.0.0.0/0 and double colon 4/0 are both present directly below source.

      Everything else looks good.

      We can accept the rest of the defaults.

      Just go ahead and click on launch instance.

      Then click on instances at the top left of the screen.

      At this point the instance is launching and we'll see that a4l-bassian is currently running.

      We'll see the status check is showing initializing.

      So we need to give this instance a few minutes to fully provision.

      So go ahead and pause this video and we're going to resume it once this instance is ready to go.

      And it has two out of two status checks.

      So our instance is now showing two out of two status checks.

      And that means everything's good and we're ready to connect.

      Now if you select the instance, you'll see in the details pane below how it has a public IP version 4 address, a private IP version 4 address, public and private IP version 4 DNS.

      And if we scroll down, you'll see lots of other information about this instance.

      Now we're only concerned with the public IP version 4 address.

      We're going to go ahead and connect to this instance this time using a local SSH client on our machine.

      So right click and then select connect.

      Now if we want to quickly connect into this instance, we can choose to use EC2 instance connect, which is a way to connect into the instance using a web console.

      Now this does need an instance with a public IP version 4 address, but we have allocated a public address.

      So if we wanted to, we can just make sure that the username is correct.

      It should be EC2-user.

      If we hit connect, it will open up a connection to this instance using a web console.

      And this is often much easier to connect to EC2 instances if you don't have access to a local SSH client, or if you just want to quickly connect to perform some administration.

      We can also connect with an SSH client.

      If we select SSH client, it gives us the commands to run in order to connect to this EC2 instance.

      So right at the bottom is an example connect command.

      So SSH, we pick the key to use and then we pick the user at and then the public IP version 4 DNS.

      So if we copy that into our clipboard and then move across to our terminal or command prompt, move into the folder where you downloaded the SSH keybearant to, in my case downloads, and paste in that command and press enter, that should connect us to the EC2 instance.

      We'll have to verify the fingerprint, so we need to verify the authenticity of this host.

      For this purpose, we can just go ahead and answer yes and press enter.

      Now if it's the first time we're connecting using a particular key, and if you're running either macOS or Linux, you might be informed that the permissions on the key are too open.

      In this case, the permissions are 0, 6, 4, 4, which are too open and we get this error.

      Now it's possible to correct that if we move back to the AWS console.

      It also gives us the command to correct these permissions.

      So CHmod, space 400, space and then the name of the key.

      So I'm going to copy that into my clipboard and move back to my terminal, paste that in and press enter, and that will correct those permissions.

      Now if I get the connection command again, so copy that into my clipboard, and this time I'll paste it in and press enter and now I will be connected to this EC2 instance.

      Now if you're doing this demonstration on Windows 10, you probably won't have to correct those permissions.

      This is something specific to macOS or Linux.

      So whenever you're connecting to EC2 instances which have a public IP version 4 address, you've always got the ability to use either EC2 instance connect or a local SSH client.

      Now the third option which is session manager, this is a way that you can connect to instances even if they don't have public IP version 4 addressing.

      And I'll be detailing this product fully later on in the course because there is some additional configuration that's required.

      Now this bastion host, it's an EC2 instance and it does fall under the free tier.

      So because it's a T2.micro or whatever type of instance you picked which falls under the free tier, you're not going to be billed for any usage of this instance in a given month.

      Now as a general rule, as you're moving through the course, if you're ever intending to take a break, then you always have the option of deleting all of the infrastructure that you've created within a specific demo lesson.

      So most of the more complex demo lessons that you'll have moving through the course, at the end of every demo lesson there will be a brief set of steps where I explain how to clean up the account and return it into the same state as it was at the start of the lesson.

      But in certain situations I might tell you that one option is not to delete the infrastructure.

      Whether you do delete it or not depends on whether you're intending to complete the next demo straight away or whether you're taking a break.

      Now in this particular case I'm going to demonstrate exactly how you can clear up this infrastructure. [background noise] [background noise] In the next demo lesson you're going to be continuing using this structure, but I'm going to demonstrate how you can automate the creation using a CloudFormation template.

      To clear up this infrastructure though, go ahead, right click on this bastion host and select terminate instance.

      You'll need to click terminate to confirm and that will terminate and delete the instance.

      You won't be charged for any further usage of that instance.

      We need to wait for that instance to fully terminate, so pause the video and wait for it to move into a terminated state and then we can continue.

      So that instance is terminated and now that that's done, we can click on services and move across to the VPC console and we're going to delete the entire Animals for Life VPC.

      And don't worry, in the next demo lesson I'll explain how we can automate the creation.

      So for now and in the course we're going to be using much more automation so that anything that you've done previously, we're going to automate the creation and focus your valuable time only on the things that you've just learned.

      So click on your VPCs.

      It should list two VPCs, the default one and the Animals for Life VPC.

      Select the Animals for Life VPC, click on Actions and then delete the VPC.

      Now this is going to delete all of the resources that are associated with this VPC.

      So the internet gateway, the route tables and all of the subnets that you've created as part of the demo lessons to this point in the course.

      So go ahead and type delete and then click delete to confirm that process and that will fully tidy up the account and return it into the same state as it was at the start of the VPC section.

      Now with that being said, this is the end of this lesson.

      You've successfully converted three subnets, so Web A, Web B and Web C to be public and you've done that by creating an internet gateway, associating that with the VPC, creating a route table, associating that with those subnets, adding two routes, pointing those routes at the internet gateway and then configuring those subnets to allocate a public IP version for address to any resources launched into those subnets.

      So that's the same set of steps that you'll need to do to make any subnets public from an IP version for perspective in future.

      So this is going to be the same tasks that you would use in larger production projects.

      Although in production, you would probably automate it and don't just show you how to do that as you move through the course.

      Now at this point, you've finished everything that you need to do in this demo lesson, so great job.

      You've actually created something that is production ready and production useful.

      Over the remainder of this section of the course, we're going to refine the design that we've got and add additional capabilities.

      So in the upcoming lessons, I'll be talking about network address translation and how that can be used to give private EC2 instances access to the internet for things like software updates.

      We'll be talking about the security of subnets using network access control lists known as knuckles and much, much more.

      But you're doing a fantastic job so far.

      This is not a trivial thing that you've implemented to this point.

      So really great job.

      But at this point, just go ahead and complete the video.

      And then when you're ready, I look forward to you joining me in the next. [no audio]

    1. Rideout, director of the Kaiser study on kids and media use, sees an upside for parents in the new focus on multitasking while learning. “The good thing about this phenomenon is that it’s a relatively discrete behavior that parents actually can do something about,” she says. “It would be hard to enforce a total ban on media multitasking, but parents can draw a line when it comes to homework and studying—telling their kids, ‘This is a time when you will concentrate on just one thing.’ ”

      Even though this is a great suggestion for parents, the reality is that most parents now buy iPads for their toddlers and kids to avoid them screaming or yelling around the house. It is like having a baby sister. I saw a kid at the Great America Park in a stroller; she was like a kindergarten type, and every time I saw her in the park, she was sitting watching YouTube on her iPad. I asked myself why she was at the park. I mean, I remember the time when going to a theme park was a big deal. I believe parents have a huge responsibility in this matter.

    1. his business of mixing musics—making music about music—is curious. This kind of music-making transparently relies on editing technology to create mixes of sound that never existed as live performance. The pleasure of the blended music, however, rests on our beliefs about authenticity and hybridity: we are pleased when we recognize the original “ingredients,” but the artfulness Page 119 →of combining these ingredients often takes center stage. The existence of mixed musics has not eclipsed the old-fashioned experience of authenticity. Rather, it playfully engages that experience, letting us experience both difference and assimilation at the same time. As listeners, we do not have trouble accepting these musics-about-music as real: they are just part of our mix.

      Cultural fusion happens organically all the time. From a culinary standpoint, Bahn Mi and Tacos Al Pastor are delicious examples of hybridization. The article seems a little jaded here about mixing musical styles that didn't combine in the wild. I think it's fair to experiment as long as you've done your homework around cultural significance.

    1. They beat them with different objects, a green hose, a silicone bar, and an iron bar that had a ball with spikes at the top. I cried the first three times when they made me watch but the guards hit me. We had to stay completely neutral the entire hour. I would tell myself that it’s not real, it’s just a scary movie that would last for fifteen minutes and then it’s over.”

      convincing themselves this is not reality to remain neutral. Forced to be silent for own survival. Attempt at killing the natural reaction of pain toward someone else's pain so that you yourself can survive.

    1. Participation, the next literacy, is much broader as it recognizes the vast population of users that are connected. Participation is connecting with the tool, not people. It is a way of becoming an active citizen and not just a passive consumer. There are multiple ways to participate on a variety of social media platforms. In fact, you probably don’t realize that clicking on a “like,” making a short comment on a picture, or whatever else one does on a site is actually participating. Of course, the effect of your participation can vary, but it can also be very powerful. You participate when you post, fill out a survey, start your own blog, respond to others’ blogs, or just watch a video on YouTube. All of these actions are a form of participation.

      I don't really participate much online unless it's for my classes.

    1. These DNA comparisons are between a modern human and either another modern human, a Neanderthal, a chimpanzee, or a dog

      This part is interesting because it shows how small DNA differences can explain why we're so similar to some animals but completely different from others. It's wild to think just a few changes in nucleotides could be the reason we’re humans and not chimps or dogs. I wonder how much of that difference is responsible for things like intelligence or language

    1. It's insane to me that they would rather deal with difficult topics by ignoring them all together. It really shows men's ignorance during this time. They refused to believe a woman could have mental health issues without automatically just being crazy.

    2. concluded there was nothing much the matter with me

      He did not even care to check the mental aspect. She went to him with her problems, having hope, and he assumed she was fine because her physical aspect was healthy. This goes to show that they did not really focus on or believe in mental issues, and if you did have them they were quick to label you as "crazy". He ignored her mental health, and told her to just lower her intellectual life and increase her domestic life. It's almost as if he told her that she just needed to behave the way women are expected to. Her being intellectual (and not as domesticated) was seemingly intimidating to men in those day, and they tried to suppress her abilities and skill in writing by telling her to do the basic womens' tasks and "never ... touch pen, brush, or pencil again."

    1. Gee claimed everyone develops their primary Discourse without making any effort; it’s one of the gifts of being human. Every other Discourse—known as secondary Discourses—requires some work if we wish to belong to it. We have to learn these secondary Discourses through instruction and acquisition (by spending time in them). In our early years, the most prominent secondary Discourse that many people encounter is school. Other secondary Discourses might include church, or sports, or community groups. When we develop fluency and control within a secondary Discourse—when we can add it to our set of “identity kits”—we become literate in that Discourse. Logically, Gee argues, that since there are multiple secondary Discourses that we move through in our lifetimes, there must be multiple literacies, not just a singular “literacy” that means being able to read (“Literacy, Discourses, etc.”).

      Our secondary discourse is the behaviors we learn from places that are not home. For example, work, school, social group, etc.

    1. Lim Chieng'Cua and his siblings were born and grew up in asmall mud house much like their neighbors. In time a good manyimprovements were made in the house, but the family really wanted anew one, not additions and improvements. Lim Chieng'Cua once toldme, ''Before we built this new house, we had a mud house with athatch roof. Every time there was a typhoon my father and my olderbrother's wife and I had to stay up all night to tie the roof down so itwouldn't blow off. Oh, how badly we wanted a new house!

      This passage really paints a vivid picture of what life was like for Lim Chieng'Cua and his family. It starts by showing that their early home was quite humble, built from mud like many others in their community. Despite adding improvements, their true desire was for a completely new house, which speaks to a deep-seated wish for something more stable and secure. Lim Chieng'Cua’s personal anecdote about the typhoons illustrates not just the physical struggles they faced, but also the emotional weight of living with such uncertainty. This isn’t just about bricks and mortar; it’s about the search for a safe and comfortable home, a feeling many people can relate to.

    1. Reviewer #2 (Public review):

      Summary:<br /> The authors goal is to develop a more accurate system that reports TDP-43 activity as a splicing regulator. Prior to this, most methods employed western blotting or QPCR-based assays to determine whether targets of TDP-43 were up or down-regulated. The problem with that is the sensitivity. This approach uses an ectopic delivered construct containing splicing elements from CFTR and UNC13A (two known splicing targets) fused to a GFP reporter. Not only does it report TDP-43 function well, but it operates at extremely sensitive TDP-43 levels, requiring only picomolar TDP-43 knockdown for detection. This reporter should supersede the use of current TDP-43 activity assays, it's cost-effective, rapid and reliable.

      Strengths:<br /> In general, the experiments are convincing and well designed. The rigor, number of samples and statistics, and gradient of TDP-43 knockdown were all viewed as strengths. In addition, the use of multiple assays to confirm the splicing changes were viewed as complimentary (ie PCR and GFP-fluorescence) adding additional rigor. The final major strength I'll add is the very clever approach to tether TDP-43 to the loss of function cassette such that when TDP-43 is inactive it would autoregulate and induce wild-type TDP-43. This has many implications for the use of other genes, not just TDP-43, but also other protective factors that may need to be re-established upon TDP-43 loss of function.

      Weaknesses:<br /> Admittedly, one needs to initially characterize the sensor and the use of cell lines is an obvious advantage, but it begs the question of whether this will work in neurons. Additional future experiments in primary neurons will be needed. The bulk analysis of GFP-positive cells is a bit crude. As mentioned in the manuscript, flow sorting would be an easy and obvious approach to get more accurate homogenous data. This is especially relevant since the GFP signal is quite heterogeneous in the image panels, for example, Figure 1C, meaning the siRNA is not fully penetrant. Therefore, stating that 1% TDP-43 knockdown achieves the desired sensor regulation might be misleading. Flow sorting would provide a much more accurate quantification of how subtle changes in TDP-43 protein levels track with GFP fluorescence.

      Some panels in the manuscript would benefit from additional clarity to make the data easier to visualize. For example, Figure 2D and 2G could be presented in a more clear manner, possibly split into additional graphs since there are too many outputs. Sup Figure 2A image panels would benefit from being labeled, its difficult to tell what antibodies or fluorophores were used. Same with Figure 4B.

      Figure 3 is an important addition to this manuscript and in general is convincing showing that TDP-43 loss of function mutants can alter the sensor. However, there is still wild-type endogenous TDP-43 in these cells, and it's unclear whether the 5FL mutant is acting as a dominant negative to deplete the total TDP-43 pool, which is what the data would suggest. This could have been clarified. Additional treatment with stressors that inactivate TDP-43 could be tested in future studies.

      Overall, the authors definitely achieved their goals by developing a very sensitive readout for TDP-43 function. The results are convincing, rigorous, and support their main conclusions. There are some minor weaknesses listed above, chief of which is the use of flow sorting to improve the data analysis. But regardless, this study will have an immediate impact for those who need a rapid, reliable, and sensitive assessment of TDP-43 activity, and it will be particularly impactful once this reporter can be used in isolated primary cells (ie neurons) and in vivo in animal models. Since TDP-43 loss of function is thought to be a dominant pathological mechanism in ALS/FTD and likely many other disorders, having these types of sensors is a major boost to the field and will change our ability to see sub-threshold changes in TDP-43 function that might otherwise not be possible with current approaches.

    2. Author response:

      Public Reviews:

      Reviewer #1 (Public review):

      Summary:

      The authors create an elegant sensor for TDP -43 loss of function based on cryptic splicing of CFTR and UNC13A. The usefulness of this sensor primarily lies in its use in eventual high throughput screening and eventual in vivo models. The TDP-43 loss of function sensor was also used to express TDP-43 upon reduction of its levels.

      Strengths:

      The validation is convincing, the sensor was tested in models of TDP-43 loss of function, knockdown and models of TDP-43 mislocalization and aggregation. The sensor is susceptible to a minimal decrease of TDP-43 and can be used at the protein level unlike most of the tests currently employed.

      Weaknesses:

      Although the LOF sensor described in this study may be a primary readout for high-throughput screens, ALS/TDP-43 models typically employ primary readouts such as protein aggregation or mislocalization. The information in the two following points would assist users in making informed choices. 1. Testing the sensor in other cell lines 2. Establishing a correlation between the sensor's readout and the loss of function (LOF) in the physiological genes would be useful given that the LOF sensor is a hybrid structure and doesn't represent any physiological gene. It would be beneficial to determine if a minor decrease (e.g., 2%) in TDP-43 levels is physiologically significant for a subset of exons whose splicing is controlled by TDP-43.

      Considering that most TDP-LOF pathologically occurs due to aggregation and or mislocalization, and in most cases the endogenous TDP-43 gene is functional but the protein becomes non-functional, the use of the loss of function sensor as a switch to produce TDP-43 and its eventual use as gene therapy would have to contend with the fact that the protein produced may also become nonfunctional. This would eventually be easy to test in one of the aggregation modes that were used to test the sensor.. However, as the authors suggest, this is a very interesting system to deliver other genetic modifiers of TDP-43 proteinopathy in a regulated fashion and timely fashion.

      We thank Reviewer #1 for their detailed feedback. In response, we will investigate the function of CUTS in neuronal cells and evaluate how a modest reduction in TDP-43 levels affects the splicing of physiologically relevant TDP-43-regulated cryptic exons within these cells (eg. STMN2, UNC13A, etc…).

      Reviewer #2 (Public review):

      Summary:

      The authors goal is to develop a more accurate system that reports TDP-43 activity as a splicing regulator. Prior to this, most methods employed western blotting or QPCR-based assays to determine whether targets of TDP-43 were up or down-regulated. The problem with that is the sensitivity. This approach uses an ectopic delivered construct containing splicing elements from CFTR and UNC13A (two known splicing targets) fused to a GFP reporter. Not only does it report TDP-43 function well, but it operates at extremely sensitive TDP-43 levels, requiring only picomolar TDP-43 knockdown for detection. This reporter should supersede the use of current TDP-43 activity assays, it's cost-effective, rapid and reliable.

      Strengths:

      In general, the experiments are convincing and well designed. The rigor, number of samples and statistics, and gradient of TDP-43 knockdown were all viewed as strengths. In addition, the use of multiple assays to confirm the splicing changes were viewed as complimentary (ie PCR and GFP-fluorescence) adding additional rigor. The final major strength I'll add is the very clever approach to tether TDP-43 to the loss of function cassette such that when TDP-43 is inactive it would autoregulate and induce wild-type TDP-43. This has many implications for the use of other genes, not just TDP-43, but also other protective factors that may need to be re-established upon TDP-43 loss of function.

      Weaknesses:

      Admittedly, one needs to initially characterize the sensor and the use of cell lines is an obvious advantage, but it begs the question of whether this will work in neurons. Additional future experiments in primary neurons will be needed. The bulk analysis of GFP-positive cells is a bit crude. As mentioned in the manuscript, flow sorting would be an easy and obvious approach to get more accurate homogenous data. This is especially relevant since the GFP signal is quite heterogeneous in the image panels, for example, Figure 1C, meaning the siRNA is not fully penetrant. Therefore, stating that 1% TDP-43 knockdown achieves the desired sensor regulation might be misleading. Flow sorting would provide a much more accurate quantification of how subtle changes in TDP-43 protein levels track with GFP fluorescence.

      Some panels in the manuscript would benefit from additional clarity to make the data easier to visualize. For example, Figure 2D and 2G could be presented in a more clear manner, possibly split into additional graphs since there are too many outputs. Sup Figure 2A image panels would benefit from being labeled, its difficult to tell what antibodies or fluorophores were used. Same with Figure 4B.

      Figure 3 is an important addition to this manuscript and in general is convincing showing that TDP-43 loss of function mutants can alter the sensor. However, there is still wild-type endogenous TDP-43 in these cells, and it's unclear whether the 5FL mutant is acting as a dominant negative to deplete the total TDP-43 pool, which is what the data would suggest. This could have been clarified. Additional treatment with stressors that inactivate TDP-43 could be tested in future studies.

      Overall, the authors definitely achieved their goals by developing a very sensitive readout for TDP-43 function. The results are convincing, rigorous, and support their main conclusions. There are some minor weaknesses listed above, chief of which is the use of flow sorting to improve the data analysis. But regardless, this study will have an immediate impact for those who need a rapid, reliable, and sensitive assessment of TDP-43 activity, and it will be particularly impactful once this reporter can be used in isolated primary cells (ie neurons) and in vivo in animal models. Since TDP-43 loss of function is thought to be a dominant pathological mechanism in ALS/FTD and likely many other disorders, having these types of sensors is a major boost to the field and will change our ability to see sub-threshold changes in TDP-43 function that might otherwise not be possible with current approaches.

      We thank Reviewer #2 for their constructive evaluation of our study. In response, we will assess CUTS in human neuronal cells, as also recommended by Reviewer #1. Additionally, we will incorporate an analysis of CUTS using flow cytometry to provide quantitative measurements of GFP signal. We agree that investigating how CUTS responds to stressors affecting TDP-43 function would be a valuable addition (eg. MG132), and we will include this data in the revisions to the study.

      We also appreciate the feedback on our figures and will work to enhance their clarity, incorporating the Reviewer’s suggestions. Specifically, we will split Figure 2D and 2G into multiple plots and ensure clearer labeling of the image panels in Figures 2A and 4B.

      Regarding the comment on the 5FL data, we believe this occurrence can be explained by existing literature, and we will address this directly in the discussion section of the manuscript.

      Reviewer #3 (Public review):

      The DNA and RNA binding protein TDP-43 has been pathologically implicated in a number of neurodegenerative diseases including ALS, FTD, and AD. Normally residing in the nucleus, in TDP-43 proteinopathies, TDP-43 mislocalizes to the cytoplasm where it is found in cytoplasmic aggregates. It is thought that both loss of nuclear function and cytoplasmic gain of toxic function are contributors to disease pathogenesis in TDP-43 proteinopathies. Recent studies have demonstrated that depletion of nuclear TDP-43 leads to loss of its nuclear function characterized by changes in gene expression and splicing of target mRNAs. However, to date, most readouts of TDP-43 loss of function events are dependent upon PCR-based assays for single mRNA targets. Thus, reliable and robust assays for detection of global changes in TDP-43 splicing events are lacking. In this manuscript, Xie, Merjane, Bergmann and colleagues describe a biosensor that reports on TDP-43 splicing function in real time. Overall, this is a well described unique resource that would be of high interest and utility to a number of researchers. Nonetheless, a couple of points should be addressed by the authors to enhance the overall utility and applicability of this biosensor.

      We thank Reviewer #3 for their time and thoughtful assessment of our manuscript. We will address all their recommendations, including expanding the discussion on the CE sequences utilized in the CUTS sensor and exploring the potential utility of the CUTS sensor in alternative disease-relevant systems.

    1. Outcomes or preconditions   What change do we want? They are key outcomes for achieving the vision of success. All outcomes, with the exception of the long-term outcomes, are also preconditions. They are called preconditions because they are conditions that must exist as a prerequisite for the next objective in the pathway to be achieved. Women survivors gain coping skills.   Women survivors have marketable skills in non-traditional jobs.   Women survivors have knowledge and appropriate behaviours in the workplace.

      I will relate my understanding of the out to a life a GA. As a graduate assistant, your journey towards successfully completing your degree while gaining valuable professional experience is like building a sturdy bridge to your future career. This bridge isn't constructed all at once, but rather piece by piece, with each component relying on the ones before it. Imagine you're at the start of this bridge. The first plank you need to lay down is developing strong research skills. This isn't just about reading papers and running experiments; it's about completing required research methods courses and getting your hands dirty with real projects. As you place this plank, you're not only creating a tangible outcome but also setting up a necessary condition for what comes next. With your research skills growing, you find yourself juggling your studies and assistantship duties. This balancing act becomes the next crucial span of your bridge. To build this section, you need to learn and apply time management techniques, and establish clear boundaries between your work and study time. It's challenging, but as you master this skill, you're not just achieving an important outcome - you're laying the groundwork for your overall success.which in this case is the outcome.

    1. is is a reconstruction. All of it is a reconstruction. It's a reconstructionnow, in my head, as I lie flat on my single bed rehearsing what I should orshouldn't have said, what I should or shouldn't have done, how I should haveplayed it. If I ever get out of here

      Post-modernism, shows that everything has been passed through her head and her perspective and that none of this is anything but a story. It is no truth, only a story, that she is constantly reflecting upon and rebuilding, just as the voice memos have been rearranged to make the most sense, to create meaning.

    Tags

    Annotators

  9. learn-us-east-1-prod-fleet02-xythos.content.blackboardcdn.com learn-us-east-1-prod-fleet02-xythos.content.blackboardcdn.com
    1. Several years later (ƥƥƭƬ) Philip Augustus readmitted the Jews and care-fully regulated their banking business so as to reserve large profits to himselfthrough a variety of taxes and duties. He made of this taxation a lucrativeincom

      It's is interesting that Philip Augustus first exiled and then readmitted. He did so because he wanted to use them for financial gain. He was just exploiting them.

    1. Texts must be multimodal in nature so that students can engage in print and non-print such as image, sound, performance, and video.

      It's also important that students see themselves in the layered text- are the texts relevant to them as people, not just as scholars? How can we use, for example, album covers in a unit on character analysis?

    1. Do you set yourself up to be in the company of other creative thinkers? It’s not a bad idea. Creativity is somewhat contagious. You may not think you have a creative way to approach a situation, but if you were to bounce ideas off like-minded friends and also friends who would offer a completely different way of looking at something, you may discover that indeed you do have some good ideas ready to come to fruition. This creative brainstorming doesn’t just happen though. You need to set aside specific times to work with others to flesh out ideas and think through obstacles. And

      I did not know being creative can be contagious.

    1. It's more than climate change; it's alsoextraordinary burdens of toxic chemistry, mining, depletion of lakes and rivers under andabove ground, ecosystem simplification, vast genocides of people and other critters, etc, etc, insystemically linked patterns that threaten major system collapse after major system collapseafter major system collapse

      Climate change is not the only thing that humans do that is ruining the environment day by day. With each new innovation a part of the planet is put at risk which is sometimes irreversible and permanent. Many species are on the verge of extinction because of how their ecosystems have been destroyed beyond repair for humans needs which just leads to a cycle of many animals extinction and pictures of them are the only thing we have left.

    1. It’s their treehouse — a haven amid school and jobs and shifting futures — and they’re constantly adopting new arrivals into the club.

      It's good to know that it's not just a restaurant, but a pivotal part of the Enfield Community providing jobs and food for young people plus being a gathering place for friends as well.

    2. A restaurant isn’t just a place where people go to be physically fed. It’s an emotional and spiritual hub, bringing people into a space where they can connect and find community.

      This is the motive and goals of the restaurant, it reveals to the readers more about the personality of the restaurant owners. In some sense, this might contribute to the overall feelings of readers, as they can sense the sympathy/encouragement in these "young" owners. In some sense, it transfers a positive vibe to readers, especially those that needed emotional support.

    1. a show I’ve seen a hundred times. Just me, meltedcheese, and the anksgiving episode of Gilmore Girls. at’s divine solitude.Read: Why do we look down on lonely people?But as we’ve all experienced, Solitude Food can become a Lonely Food—and that’swhen it turns sad. Solitude is slippery and can morph into loneliness with anaccidental listen to a particularly evocative song on shuffle, or when the place you’vechosen to eat isn’t as charming as you anticipated, or when something goes awry inyour pursuit of Solitude Food and it goes from an indulgence to a burdensome ritual.I’m thinking of a fellow barista at thecoffee shop where I used to work, an8/24/24, 4:02 PM What You Learn From Eating Alone - The Atlantichttps://www.theatlantic.com/culture/archive/2022/11/eating-food-alone-lonely-solitude/672222/ 4/9

      It's the things like these which can bring us happiness because even I personally like go getting combos of rice and beans with chicharron and some lettuce with a coca cola because my family decided to join my dad to enjoy the concert he worked on.Something like that really brings me happiness because I get some form of peace with myself and the meal.

    2. ere are hundreds of objectively sadder foods. An unsold pie in a deli case, forexample, is a celebratory food that should be shared at a bustling table but is nowwasting away in isolation. ere is the sadness of an unattended lemonade stand or offree samples when no one takes any. An untouched tray full of mini quiches offeredby a cheerful employee beckoning “Would you like to try some quiche today?” touninterested shoppers is so much sadder than a personal pizza

      Just reading this made me feel different about food and it's effect on your mood or how sad you are feeling. Definitely can agree on how the author was describing food waste and how all the foods just staying in one spot or employees handing sample to uninterested customers can be more sad than a personal pizza, as some food can be more of an comforting food than others

    1. 3. On the one side we have the free personality: by definition it is not neurotic, for it has neither conflict nor dream. Its desires, such as they are, are transparent, for they are just what institutional approval keeps in the forefront of consciousness; another institutional pattern would alter their number and intensity; there is little in them that is natural, irreducible, or culturally dangerous. But on the other side, the social bond itself is nothing but the mutual reflection of these self-secure integrities. Recall the definition of love. Is not this the very picture of a small academic? Where is there a place in this hall of mirrors for either personality or fraternity?

      I feel like this one is not as bad as the other examples, but I can definitely see it being confusing for some readers. It's a bit broad and hard to follow