Welcome back in Halle with ChaosZoneTV. The next talk will have interactive elements, so here are the hashtags again. We're on Mastodon with and Twitter with the hashtag RC3ChaosZone and on the IRC channel in Hackint which is RC3-ChaosZone. Alright, Lisette will now speak to us with a talk called What the Health Beyond Genome Sequencing. Since the 80s the human genome projects had goals to technical and ethical goals to understand the human genome. In recent years these goals have been achieved and humanity got profit immensely from what the sciences and the technology, the methods could be developed through the project. Lisette works at the bleeding edge of what it is now, a hard data science. We're very excited to hear about the considerations and the practicalities of advancing the biology even further. Okay, thank you very much for the introduction. It's my pleasure to give some insights into what I've learned throughout my studies and what I'm now actually also working on. So thank you for providing me the slot. I was a little bit surprised when I thought, okay, now I actually have to give the talk. So please forgive me if I'm sort of nervous, but stay with me and thank you everyone for watching and for filling in the survey beforehand. And you will have another option to participate in the poll later on. So I have some things to announce first, which would be about the content. So it will all be very abstract. So we are talking more about concepts than about actual disease and suffering. So there will be no photos. But yeah, the general theme is about medical examination, everything clinical about the patient assessing somebody's disease and disease risk. And also going into the more severe conditions of which you might die. And we also touch upon family relationships. So just so you know, yeah, it will come back every now and then. So just for everyone to be aware. And then also, yeah, I need to disclose that I'm an employee of a company that does work on marketing. Genetic tests. So that set aside, this is not, this is not any kind of advertising talk. It's really about what is actually happening technology wise. So I want to give you the insights into a little bit of the technology, how it came about and where we are now. And also try and give you an overview of what are the options in terms of genetic testing for various utilities and raise awareness just for also the ethical issues that might arise from what we can learn from our DNA. So this is enough of the prologue. Let's go right into looking at a patient, which is classically done from the outside. So we want to know what is different about this person or patient. And yeah, there are really layers of information. And you always assume that there's a relationship with a condition. So be it a rash that you see on the outside or as welling that the doctor can feel or something that they learned from interrogating the patient. And then there's a bit of a borderline outside, inside test, which would be bodily fluids. So if you test urine, saliva, blood, you already look on the inside. So what's happening inside of the patient, the metabolome, what's going on in terms of small molecules that you might detect with one or the other test. And also what you can see on the inside is broken bones or fists that shouldn't be there. So for that, we use imaging where x-ray is the oldest and then there's magnetic resonance and PET scanning. So these are like the cool advanced additional layers where you can look inside of the patient. And then of course, there's DNA. So if we look even deeper and inside each cell, you will have the genetic code of this person. So to tell how they are different on a very small scale. So that is the dogma of molecular biology that you go from DNA, which is your genetic blueprint and then certain parts are transcribed. So the cell makes copies of the DNA, which are then called RNA just because it's a different chemistry. And these are then translated into chains of amino acids. So there's a code, which amino acid should be attached to which one and then you fold it properly and then you have a functional protein. And then now why you sequence the DNA is because you assume that there's a mistake made, which then leads to a faulty protein. And then in the end, something in your body doesn't work. So, yeah, it's a very simple concept, if you will. And then, yeah, what we check in the DNA and in the RNA is about 20,000 protein coding genes. And then there's also different types of RNA that do not code for proteins, but that regulate other stuff. So that the correct genes are actually transcribed and translated. So that's an additional 20,000 to 30,000 potentially more. And so if you combine any of these to see like a certain signature of a person, you already have billions of combinations. So as you can imagine, there are many, many, many signatures possible. But yeah, which of these will actually tell you something about the patient. So let's go back to how we sequence the DNA. So it is actually very simple. All of our usually 46 chromosomes, so the 23 pairs are made of a double-stranded code, which is the DNA. And then you see here in the unfolded region that where a gene is starting, it usually starts with ATG. And these are caramidin bases. So you have here in the chemical little inset the A and the T, which form a pair. So the red thingies in between are hydrogen bonds that keep them together. And A and T always want to be together. And C and G always want to be together. C and G actually form three of those bonds, so they're a little bit more stable. And so as you can see, this double-stranded DNA is hence always inverted on the other strand. So we call it the complementary strand. So if you have ATG on one strand, you always have TAC on the other. So you only sequence one. And we defined the direction of the gene because we know in which direction it makes sense. Because in only in one direction, you can then make a protein out of this code. So enough for the chemistry and the principle. So we really want to know and to map where on each chromosome which letter occurs. So you can imagine that this is quite an adventure and takes a lot of effort. And actually it has also started very early on in the 70s. So maybe you have heard of Sanger sequencing. So that was the first generation of sequencing from 1977, where you essentially cut the strand in little pieces. And you know which one ends with an A, ends with a T. So you have all kinds of fragments with different lengths, which run over a gel, which is not that important. But it is also called capillary sequencing, which then helped finding the first human disease gene, which is called the hunting team. You might have heard of the disease where it belongs to Korea, Huntington. And so this was the first association that was really confirmed that, okay, you have a defect in a certain gene, which directly translates into a disease phenotype. But this is very rare. So usually it is a lot more complex and we will also get to that. So the capillary sequencing still lasted for a while. So 10 years later you had really cool instruments for the first time from applied biosystems, so that you can sequence a little bit quicker, but still far from looking at the whole genome. So that was then planned starting in 1988. They defined the goals for the human genome project, which would then take from 1990 until 2003 to complete one full human genome. So full in the sense that it still had gaps, so there are some regions which are tricky to sequence, so these gaps were filled later on. But still, yeah, this was a huge undertaking which cost about two to three billion US dollars. And eventually in 2000 they announced that they had first dropped of the human genome. And then it got published in 2001 in the two big scientific journals, Nature and Science, both on the cover, the human genome. So that was and is a big step. So yeah, that's just crucial to know what we are looking at to have a map of our complete genome, where then you can map other people's sequences to as well. So that's what started also in 2005, but then for different types of cancer. It's called TCGA from the cancer genome atlas. And it also lasted for a couple of years, but then they were much quicker in sequencing because 2005 was also the year of next generation sequencing machines. So nowadays, we don't do Sanger sequencing anymore, or rarely. We usually rely on heavy high throughput parallel sequencing so that you can sequence a lot more different pieces, so to say, at the same time and with very high accuracy. So essentially, this means that we now have access to 3.1 billion base pairs, which were first collected during this human genome project. And this nice advertisement when they were looking for volunteers is really cute, actually, because they also say here that the outcome of the project will have tremendous impact on future progress of medical science and lead to improved diagnosis and treatment of hereditary diseases. Volunteers will receive information about the project and sign a consent form. No personal information will be maintained or transferred, and a small monetary investment will be provided. So, yeah, they were promised that their data would be kept anonymously and also they collected blood from female volunteers or sperm from male volunteers. And then they collected a lot more samples than what they would need so that in the end, you couldn't tell anymore from whom the genome was actually derived. And there was one volunteer at Rosewell Park and hence called RP-11, who happened to have exceptional quality sequencing reads. And then so the first human genome was mainly based on this one person. And we have multiple new versions published of the human reference genome today. It's version 38 and still about 70% are untouched from this first genome assembly. And a small thing about the cost. So I mentioned that this was a really costly project, two to three billion dollars. And now we have actually cracked the $1,000 threshold. So it is possible to sequence a full human genome for about a thousand bucks, which is remarkable. So this is really an enormous drop in the cost just because the technology made such a big leap when we came to the next generation sequencing. And also, one genome, if you have it sufficiently covered so that you are sure about which base pair is at which position, then you have about 180 gigabytes of raw reads. And if you align them to the reference genome, which is of course now your atlas, if you will, so you can put all the reads to the correct place. And then this is called an alignment file, which is about 80 gigabytes. And if you then only keep the positions where something is different from the reference genome and you compress it, you are left with about 5% of that. So four gigabytes per person, storable, nice little genome. OK, so this takes me to the first poll, which is on simple vote. And a couple of people already have participated in the monkey survey. Then, yeah, you don't have to do it again now. But the vote link will also be in the chat. And you also just fill in any name combination of letters, click OK. And then you can answer the first question, which I present here. So this is just three statements about sequencing a full human genome, whether you believe that it has replaced fingerprinting in forensic investigations, whether you think that it gives you all the clinically relevant information for any patient, and whether you think that it is cheaper than a full body MRI scan. So yeah, we will get to the results in a bit. I will just continue with a couple more slides and then we can see what you guys think. And I'm really curious to actually hear that and see it for myself. Let's see. So if you think in terms of complexity, we have already touched upon Korea Huntington, which is a single gene, essentially, that gives you a full blown disease if it's not encoded properly. And then you could think of other diseases that are encoded by a couple of genes, where you can think of breast cancer, where a couple of mutated genes can give you a much higher risk than average population. And also in Alzheimer's disease, we see that hereditary component, brought about by a couple of genes again. And then more general in terms of unknown diseases, you can ask gene panels or full genome sequencing to help out. And it gets more and more fuzzy, but more and more also tests are available if you want to go to a prognosis for this or that condition or to the correct treatment choice. So I'll try and give you a couple of more examples. But only after we have talked about the cancer genome atlas TCGA. So here, that's also a lot of data. So they claim 2.5 petabytes were collected in the phase it was running from 2006 to 2014. And yeah, in total, 33 different tumor types. And they did not only look at the DNA and all the mutations, but also RNA and also proteins. And also different info on the patient's survival and treatment data. So that is a huge pool and resource of data where people are looking at and finding signatures of patients with less or more advanced cancers with patients that progress through treatment or not. But it's all, yeah, you still really need to take it with a pinch of salt. Because, for example, since 2006, treatment of cancer has changed tremendously. And you cannot just use any signature that you took from the data from TCGA and extrapolate for today's cancer patients. So that's a bit tricky. TCGA is still vastly used. But then, yeah, I would propose that you should rather use it for validation. So you find something in current data from today's patients. And then you can check whether this was also seen in the TCGA data and not the other way around. But let's get to the results of the poll. Let's see. Can we go there? What happens? Oh, nice. What's the score? 7.3. So you mostly agree that full body MRI is more expensive than the full genome sequencing, which is true. So, like I said, the full genome is now about one thousand dollars, also one thousand euros. And the full body scan in the MRI will cost about two to six thousand euros roughly. And then this one with the fingerprints I have made up. So, sorry to fool you. This is not done yet. And it also cannot potentially give you all clinical relevant information about the patient. So, nice. Thank you for participating. And also, I've checked the survey monkey. And also there I have managed to fool some people into believing that it's possible to replace fingerprinting with full genome sequencing. But that's not true. Sorry. So let's go to another level. So not only the DNA sequencing is interesting, so then you have the map. And on the protein, sorry, on the DNA strand, you know, for example, where there's a different letter, if you will, then in the reference genome. And then this mutation might be in one of the regions where the DNA has stored the code for a certain protein, like protein one or protein two. So the code might be different, but also it might be different how many copies are made. So this is an example here where gene one and two are equally often transcribed. And then there's these transcripts, which we call messenger RNA, about equal amounts. And this is, let's say, the state how it should be in a healthy adult. And if you think about any condition like a cancer tumor, then it might get deregulated. And the cancer, for example, then does this and only makes very few copies of gene one and a lot of copies of gene two, which might lead to effects like bigger growth, faster growth, bigger spread into the tissue, which would normally confine the tumor. So that is also one level of regulation. And that you cannot usually capture with DNA sequencing or whole genome sequencing. For that, you need to check for the expression, which you do on this level, on the RNA level.  So you have samples, vertical and then horizontal are the genes. And you see that if you compare the samples, some genes are more expressed, which is red and some genes are down compared to the others, which is green. And then you can find clusters of genes, a group of genes here in the red bar, where group one, in that case, a certain kind of breast cancer is highly upregulated. And most of the people that belong to group two, different kinds of breast cancer, have lower expression of that gene. And in the blue cluster, it's the other way around. So that gives you an idea of, OK, you can maybe use one of these genes to differentiate between the two groups. And if that helps you to determine what treatment they should get, that's of course super useful. And then you have something like a genetic biomarker. If you have multiple genes, then you usually call it a signature. And so these genetic signature tests can tell you, are you at risk of a certain disease? They can help diagnose or get to the exact subtype of your disease. They can help use the correct treatment or monitor whether the disease actually responds to the treatment, whether anything changes back to normal. And also it can sometimes be useful to give a prognosis for the disease progression. So in the end, you always need to wonder what is the added value of such kind of testing on top of the clinical variables that are already existing. And does it give you something actionable? Can you do something with the knowledge that you gained from this testing? So there we are already at the problems with genetic testing. So that would be the second question that you can answer again on simple vote, please feel invited to help me understand what you think. And here it's just for you personally, the question whether you would want to know whether you are at risk of a genetic disease. And would you want to know if you had to pay for it and then slide it to the right if you're willing to pay or slide it to the left if you're totally not willing to? And then the second slider is the same question, would you want to know if you got the results for free? And then to the right is yes and more to the left is no, absolutely not. So again, I will just move on and you can take your time answering that one. So to give you a bit of a feeling for what is at stake if you get into testing for genetic risks, it's of course good to know your family history of disease. And also, if you're planning to have children, for example, would you want them to know that they potentially carry a certain risk or not? Then health or life insurance might have an interest in knowing what people's risks are, what they have to expect. So there are certain instances where they are eligible to know and certain instances where at this moment in time they absolutely are not. So this is something that's probably going to change in the future the more we know, the more we want to use that knowledge. And then there's the problem that some genes are very often found to be up and down regulated and there seems to be a difference, but it's just, yeah, in the nature of those genes. And we have sometimes multiple signatures for the same problem and then doctors and patients just don't know what to choose from. So I'll go through some of those issues in more detail. I have mentioned TCGA before and this cancer genome atlas is really a limited source that is now exhausted, but it's still oftentimes used as the silver bullet. So let's see if we already have votes. So that would be the second one. Okay. So if you could know your genetic risk and you would get it for free, then most people are inclined to say, yes, I would like that very much. And if they had to pay for it, then it seems to go more towards no, but it's actually kind of neutral, which is surprising. Yeah, I would have thought that you would all say no, I don't want to know, but that was just my assumption and I was apparently wrong. Cool. Thank you. Paul number three, third question is about a commercially available DNA test, which is not actually sequencing, but they use like a panel of mutations that are now known because we have already sequenced thousands and nearing a million complete full genomes. And yeah, I was wondering whether you would know. So that's question number three, what institutions they partner up with. So this DNA test is called 23andMe. And if you don't know what it is, then there's also an answer option for this one. No clue what it is, what it does. And for the rest, yeah, I propose that they work together with Broad Institute, that they work together with GlaxoSmithKline, GSK, and they got 300 million US dollars from them. That they work together with general practitioners in the US that they got subsidy from Google, four million US dollar or and Amazon, nine million US dollars. So, okay, let's see what you think or how many of you don't know the test. And in the meantime, I'll present two cases to you. Where genetic testing would play a role, like for instance, in the case of an healthy adult, where the dad was diagnosed with this heart condition, hypertrophic cardiomyopathy, where the heart tissue gets scars and at some point it cannot pump properly anymore. And so if you have one parent with that disease, you have a 50% risk that you have inherited those difficult genes from your parents. So this healthy adult and their siblings got the offer to get tested. And so the costs are covered by the health insurance, but there's no cure for this condition. So you can have a stricter surveillance and you can get access to early treatment if you develop symptoms, but other than that, yeah, it's still just a risk gene, so to say. So if you know you have the gene, it doesn't mean you will get the disease, it just means you have an elevated risk. So it's really hard to grasp. And this is one case where at least in the Netherlands, the life insurance would be eligible to know if you got tested and you do have that gene. So in the end, this person said, no, no test, please, I will just go see a cardiologist every now and then, have it checked nonetheless, but I don't want to know if I have those genes. Okay. Second case. Yeah. So that's an infant delayed in development. It was still a bit fuzzy, like what should an infant be able to do or not do at the age of one. But then the parents started observing seizures in that case. It was absences, so it was not cramping, but just, yeah, very absent. So eventually they got access to tests, genetic tests where distinct genes were analyzed, nothing was found, then panels of genes with increasing size and nothing was found, and then the whole genome sequencing was done, and then you always have to compare to the parents and essentially parents and child were tested and the child had a mutation in the gene where the parents had nothing. And yeah, it was just a very rare, excellent mutation. And eventually they now know what is going on, which was only due to the possibility of whole genome sequencing. And in the end, the parents also said, yes, I want to know what else is found in this whole genome sequencing. So that is actually case three, where one of the parents is the carrier of a mutation in a protein that when it's faulty, when you get a faulty version from both parents, then you will develop this condition cystic fibrosis. So that is really good to know when you are a carrier of this, and also your future kids can get tested to see whether they got this faulty version from you. So let's have a look at poll number three. This is here. So the DNA test, 23 and me, let's see, where's the, I have no clue what this test is. So this is just a four. Okay, so not that many people voted for this one. 29 votes. Oh, well, actually 29 votes. And then what you thought it would do, so you'll have here, you approve of it working in conjunction with general practitioners in the US, which is not true. Sorry, yes, it did get subsidy from Google for a million US dollars in the very beginning. No, no, no, um, saying our sequence saying, um, yes, GSK 300 million, they want to use their data to find new drug targets. And I also made this one up so Amazon did not give any money to 23 and me, but you can order through Amazon. So that's possible. Okay, thank you. And I'll think I will wrap up after just presenting this problem here quickly. So breast cancer is one of the pioneering fields of genetic testing. So you have five commercially available tests that can tell you what type you have, what treatment options would be best for you and what your prognosis is. So you really need a well informed team of doctors if you want to make use of this. Okay, um, I'll skip a few slides. I mean, validation is important, takes a lot of time. And I think in the future, it's not only going to be whole genome sequencing, but there will be a lot more to it, like the immune system and your gut microbiome and everything, which is in there is also, of course, influenced by outside factors, what you eat, how much sunlight. You get how much you move. So this is also, um, already available, this data from your smartwatch, for example. So I think in the end, if we get to personalized medicine, this will also play a role and to recap, um, if you sequence the whole genome, this is not the same as ordering any tests online where you also might run into data security issues. With tests like 23 and me, and that's also not the same as a disease signature. And then, um, yeah, if you have a new, cool diagnostic signature that is published, it might still take a long time and couple of validation studies before it actually enters the everyday clinic and you get it reimbursed from your health insurance. And for this, it also needs very well trained physicians and informed patient and family. I think there's no way in stopping this, um, but that's just my take. So we will see a lot more from the molecular side of things in the future. And, um, these are also to be retrieved online. So everything, all the tests that are registered also, you can filter for countries for Germany, for example, and then you see even which university clinic offers, which kind of testing. And, um, if you ever hear the term liquid biopsy, that's usually a blood sample where, yeah, all kinds of things are measured. So you have DNA in there, but you also have metabolites in there. You can have little fragments of cancer cells and cancer derived DNA. So this is something that's coming forward more and more, that you just need a blood draw and then, yeah, you have a lot of insight, not only the whole genome, but even more RNA sequencing data, for example. So thank you very much for inviting me for listening and I'm happy to take your questions now. Once again, the social media hashtags on Mastodon and Twitter are RC3 chaos zone without a dash and then on IRC, on Hackint, the channel is RC3 with a dash chaos zone. Do we already have any specific questions? Anything people would like to know? And a targeted gene modification with CRISPR and Cas9 is not even allowed on plants and animals in the EU. Do you think there will ever be gene therapy for humans? There was gene therapy. So, for example, I'm not sure whether it was a type of leukemia or an immune defect where they tried to cure children with gene therapy. So there were clinical trials, but something went horribly wrong. And I think actually one of the children suffered so much from how they inserted the gene that it developed a type of cancer. But I'm still hesitant to say that this is the end of gene therapy. So it has potential in various severe cases where there's no other option. But yes, it's also true that we don't really know what we're doing at the moment. So there's a lot more research needed to make sure that there's no off target effects if you cut out a gene and put in a new sequence. So, yeah, no, I don't think we can guarantee that as of yet, but it's not unthinkable. All right. Sounds like the technology isn't there yet for a couple of years or decades. Oh, well, I think the technology is there. It's just not secure enough. All right, I see. So yeah, it's done in the lab big time. But yeah, then we don't usually use humans, only a cell line or something that is easy to control. All right. And then, uh, genomic methods for tests, for example, for diseases such as COVID are targeted tests, for example, the PCR test. Do you think the testing for infections might shift to be more exploratory approaches? For example, through sequencing instead of target PCR? Yeah, that depends. If you have a suspicion that the infection has reached the bloodstream and you're close to sepsis, then it might be your last resort to make a whole, uh, yeah, just sequence everything that is in the blood. But then you need to be, of course, aware that the majority will be human. So you need to filter out a lot. And then what is left, you might be able to map to certain microbe genomes, which are also pretty well annotated. So I'm not sure about nasal swabs or something like that, where you can find out which flu you have received. So that doesn't really make too much sense to me unless you have good treatment options. But for example, tuberculosis is one disease where you do sequence the germs now more and more, because a lot of strains of these bacteria have multiple antibiotic resistances. And then if you start treating with the wrong antibiotics, you are really screwed. So there, yeah, it's already well established that the university clinics at least sequence the strains before the patient gets treatment. Interesting. Yeah, sounds, sounds very cool. All right. Thank you so much, Lisette. Very inspiring. You're welcome. It was a pleasure. I hope I could convey the message, just be aware of your genes and your data. So yeah, that's just there's a lot of potential in there. But yeah, of course, we couldn't be, we should not be careless. So yeah, that's all from my side. Thank you. Thank you so much.


Go. Hello. My name is Eva Howe and I work on community relations for the Linux Foundation and I want to welcome you to our first Ask Me Anything on HTTP and Streams. Today we have Anatoly and Stephen to answer your questions and have a really good conversation about this, I hope. And so thank you guys to everybody who has contributed a question. We're gonna, what we're gonna work on this is we're gonna go through the questions and, well, in the order that makes sense to the panelists and then we will take extra questions if you guys have them at the very end. So I look forward to an interesting discussion. We'll hand it over. Stephen and Tali, go ahead. Stephen, you want to go first? Sure. I'm Stephen. I work at Elastic. I've been doing diagnostics working for years. Cool. Hey, I'm Anatoly. I work at Postmates and as a staff software engineer. I'm also a member on the Node.js Technical Steering Committee. I've been involved with Node for quite a few years now, but started contributing to Core as initially working on HTTP2 and then kind of branched out to a few other things. Do this. Just go through the questions. Do you want to kind of pick up the questions and? Sure. I'm a little bit concerned. I'll admit that my technical skills are limited. So, but I will just start at the beginning and then if that doesn't make sense to talk about, would you guys tell me? Yeah, and we can also address any of the ones that don't make sense and try to help out as much as we can. Okay, that sounds good. So let's start at the beginning. The first one says, hello, I don't have any questions now because I'm not going deep with Node.js, but I just want to know more, oh, other member questions. Sorry about that. How to get started with HTTP and strings? That's a broad question. It's a broad question. Maybe, would the better question be, how does somebody get started in contributing to HTTP and strings? I mean, I can speak to my personal experience and I'll let Stefan also jump in as much as he wants. But I mean, I've, I personally, when I was starting out with Node a while ago, I used Substax Stream Handbook and I found it quite helpful and pretty concise and easy to understand. So if somebody's trying to learn HTTP and strings, I think that's kind of a good starting point from my perspective. If you're just trying to use HTTP, I think something like Fastify or Express Arcade libraries to just use HTTP, you don't need to know a ton about the actual underlying transport layer. So that's kind of what I would say. I don't know if... Stephen, what was your experience? And then I guess I'm actually curious, did you guys start in, maybe this is not the right question to ask, but did you guys start with contributing in this project, or did you start in another one? How did you guys get a little bit more into contributing to open source and Node in general? It's probably another good question to start with too. So in my case, I'd been doing open source stuff for video game industry stuff, worked on some game engines and things. Yeah, so I actually started contributing to other projects before. I was always interested in WebDos, so my first contributions were to WebKit back in 2006, maybe, I don't know, a while ago. And then kind of just traveled around, tried a few different projects and Node was the most kind of interesting and also the most applicable because I was actually using it. So kind of necessity is a big driver. It makes a lot of sense to contribute to something you're using, right? Because there's a there's a definite immediate connection there. Yep, if it doesn't have something that you need, you just go and build it. Yep, and then you get to use it. Yep, exactly. All right, the next question, stream load balancing. What kind of techniques and patterns helped to develop high-performance streaming APIs like Netflix, etc.? Yeah, so most of that is just like tweaking the high-watermark stuff and making sure your APIs have a good balance for the buffer size. Also, some things to think about. I've often seen people chain together 10 different transform streams. There's a lot of machinery in streams, so it can be a lot faster to just have one stream that does all the things. An example might be if you have a line to limit a JSON, you might have a line split stream and then a JSON part stream, and it'd be faster to just do the two as one stream. Yeah, I agree there. I think the other thing that I've seen often is people get bottled not on the stream's functionality itself, but in the amount of processing they do and the code that they write. So the fact that note is obviously single-threaded, you have to keep in mind that CPU heavy operations are going to be blocking.  There's lots of cases where I've seen streams that they don't really take advantage of the buffering features very well. So I've seen a lot of things about object streams that have no reason to be object streams. The object stream doesn't really have the buffering. It can lose performance quite quickly. Yeah, I think that's kind of a good overview. If there are more specific questions later from people around specific issues they've encountered with performance, I think we can probably dive into those. Okay. At a high level, I think this is kind of a good summary. Okay, great. Next question. Compare streams in node with Java. I don't write Java, so I'm just gonna opt out here. Stephen, what about you? Do you write Java? I have written Java, but it was like years before streams were really a thing there. So yeah, I don't really have much comments on that. Okay, then next question. I'd love an explanation. I'm not like at five or just high level understanding of HTTP and streams and why it's good to know about it. What's the strengths and the example of when it's not a good idea to use streams? That will really help, and I am sure the other developers are in the same boat. So a little bit of a drab old question, but it sounds like basically why do people use streams and when is a good idea to use it and when is a good idea not to use it? Yeah, so streams, their main function really is to just get stuff like both into and out of memory quickly. It's like getting it out of memory. I think it's the important part of that. If you're processing a giant couple gigabyte file or something like that, you probably don't want to let all that into memory. If you're just processing a couple of kilowatts or something, it may or may not matter that much. It's always kind of a balanced stuff. The amount of time you spend loading a file into memory, depending on how the system is set up, that could interfere with the application doing other things. File loading is generally fine, but if you have to do a lot of stuff on the CPU, then it's better to stream it. I'm trying to think of a good example of something that will actually block the process. Maybe if you're trying to request a route or something, the route has a loop that it's doing a bunch of computation like spitting out tons and tons of JSON. Anjali, what do you think? Do you think that's cool? I think that converted honestly from the ... For me, streams are a way to just take a big chunk of work and break it up. The main use is if you're working with big files, if you're working with anything that's using significant memory, the main application, or anything that's broken up over time. That's why HTTP obviously is naturally a streaming interface. Breaking it up over time thing is but important. You're trying to split stuff up. It fits in memory, but it also fits in a time profile that is acceptable.  If you're doing something synchronous inside of the route, that means the server can't handle other requests at the same time. Breaking that up into chunks makes it easier for the system to do multiple things at the same time. It does mean that extra machinery of streams, that it's going to technically take longer, but it's just a trade-off. Yeah, I think the time component here is important. Obviously, I think the good example would be like HTTP. You have a third party that's sending you, let's say, 10 files and they're all coming in over the course of like a minute. If you're not using streams, you're just sitting there waiting for the full file to come in and then process each one in a minute. Antelay, I think we lost, seemed to have frozen a little bit. Stephen, did you have anything else to say on this, or should I move on to the next question? No, I got it. Okay, so the next question is, what is the underlying protocol transport implementation and what are the correct reliability expectations? I'm not sure exactly what they're asking there. Okay, next question then. Let's see, how can we stream live videos using row node.js or JS node third-party modules? Does that make sense? Or two third-party modules? Yeah, I think they want to use node without other modules. I'm not sure why. Okay, for video streaming, I'd recommend just like pulling one of the existing things off the shelf because there's a bunch of like ffmpeg and things like that, but make it much, much, much easier. Antelay, what do you think? I agree, you're going to be reinventing the wheel there, I think. Video streaming is complicated. I've had to do it before and there's a reason I haven't done it again. All right, what is the best resource in learning about HCP and streams for someone new to web development? I think we, Antelay, you were already talking about some good resources. Steven, did you have anything to add or was, do you feel like that was sufficient? Not too much. Yeah, the streams handbook is pretty good. There's a blog post of streams for everyone, but it's pretty good and has like a nice little diagram just showing the sort of state machine, I guess, of how all of the functions and events fit together. Yeah, the one other thing I have to add is I believe node school used to have a nice interactive the ally tutorial that you could use to. Yeah, there's a streams adventure. Yeah, I don't know if it still works. If it doesn't work, it's a good opportunity for someone to contribute to open source. Make it work again. I believe it still works, but might target like streams to ideas or something like that. Yeah, yeah, you might have to use it on an older node version as well. That's the only thing I've seen with these. Some of them have broken on like 10 and 12. Okay, next question about HTTP. When client requests, when client requests listen to events, there's no event where we can be sure that it will be called at the end. In node eight error event can be called after close event in request in node 12. It's not possible anymore, but you can have a close event in response called after close event from a quest. Would it be possible to have one kind of flow event order? I think it would be simpler and client won't need to list multiple events for those cases. Yeah, so streams are complicated and things have changed a bunch of times over the years, so almost no one knows how to actually do that properly. There's a module end of stream that can do that for you and handles all the weird edge cases and stuff because there's a bunch of them.  Just close and finish event and all those sorts of things that just tries to catch everything eventually be like, yeah, something happened, it's done. Yeah, to add to that, the HTTP side of it is even more complicated as a result of the number of streams that are involved. So there's both the request and the response and there's also the underlying socket. So the state machine gets all the more complicated as a result. I think you can generally speaking use the finished utility in, which is now in core, to kind of abstract something up. Yeah. Anything else to add? No, I would recommend using finished in core. Okay. Basics of streams. Can it be used in IoT scenario to get data from devices in real time? Yeah, I don't work with IoT, but yes. I don't see why not. I'm not sure if they're referring to running directly on the device and using that stream stuff out or consuming streams. There are some devices that you can run directly on the device. It's definitely possible to stream out. A lot don't because node is like a bigger runtime and depends on operating system and stuff. And can you stream, you're saying, can you stream into? Yeah, you can stream into a node app easily as long as whatever device you're using is capable of streaming data should be using generally. All right. I would like to know more about nodes native HTTP module and using streams from the perspective of someone with experience mainly using express. Also, how does data serialization relate to using streams? That's a vague question, I guess. I mean, I think Express obviously uses HTTP on there to hood. So it's just a nice wrapper around it with some conveniences. It has some stuff built in like handling file uploads, like body parsing. If anyone uses that and doesn't really know how it works, the body parser, it's basically just going to read the request stream. The next function triggers the next thing in the middleware chain. It's just not going to call that until the request stream is done, doing it with the body. So it's not actually too complicated, internally, like file upload to the same thing. Yeah. And I would also add that HTTP in general in node is obviously basically a implementation of the spec with kind of a state machine. There's not a ton there. It's not really ready for use as is unless you're doing a very basic server, which is why Express and Fastify and everything else exists to make it actually easy to write a server. Okay. Next one. How stable is HTTP to work currently in node also interested in hearing if there are benchmarks? Yeah, it's very stable. It's ready to use. You can use it with most of the popular libraries. I would call up Fastify and Happy as the two that probably supported the best right now. But yeah, it's very stable. The HTTP is actually implemented on top of a C library, NG HTTP, which is I believe fully compliant with the spec and very performant. There are benchmarks for the node kind of side of things. I don't know if there are benchmarks that compare HTTP to with in node with other implementations out there. I also don't know how accurate those would be anyway. But it's definitely like performance is something that was definitely considered and something that people cared about during the development of the HTTP to HTTP to a node. The one other thing I started I would call out is so HTTP to a node has two different boats. So there's the kind of the fully featured core module, which is the full HTTP to implementation, including push streams and all of the other stuff that you kind of might want. And there's a compatibility mode, which is basically just a wrapper around HTTP to make it compatible with the HTTP one API. That's what allows it to work with Fastify and other frameworks out of the box. Steven, do you have anything to add? Not really. I haven't personally used HTTP yet and I'm releasing too many users using any yet. Yeah, so I think also a node it's worth calling out unless you're doing your connection terminations yourself or you're, I don't know, using push streams, I guess. There's not necessarily a heavy use case for it. I mean, if you have most server to server communication will still be not HTTP to my experience. Okay, next question. Why are transposing streams and handling errors that might occur so difficult to write? Design reasons. I recommend it. My recommendation is just to use the pump module and make everything easy. Yeah, and I think, I think Steven also covered the why it's so difficult earlier. All right, then. Any webpack plugins to make this easier? I'm not sure what they're referring to by this. Does that make sense to you guys? Nope. I think the lack of context on what this is is unfortunately going to prevent us from answering this one. Okay, I have two questions of how to use it. Anything you want to add from our kind of original foundational questions? No, I would recommend the guides that we kind of suggested earlier. Those are good starting points. And also, I would say the node documentation itself is now pretty good. It's definitely come a long way over the years. I think it's like the streams documentation is not the worst place to start actually, whereas it used to be completely confusing, I think. Okay, all right. The next one is maybe I solved this by the time, but what is the best way to download multiple large files at the same time? I think it depends what framework you're building on or if you're using a framework at all. Each framework generally has its own body parser thing of some sorts.  It's just body parser. So, raw body. I'm just looking at them. And yeah, we're now. Yeah, I think raw body is the one that like everything else uses internally. If you're looking to look at that or anything that uses that gives you some controls to like set limits and things like that. Yeah. Okay. Anjali, anything to add? Nope, not really. Not to this one. Okay. Let's see. Is HCP streams implemented by Libov? L-I-B-U-V for part of a different node JS dependency? Complicated. So, Libvv has its own streams concept, which is not really the same. There's kind of a layer of Libvv streams. Stuff happens in the C layer and that kind of gets translated to some extent to JavaScript concept of streams. Yeah. There's kind of like two layers of different types of stream. It's complicated to understand all of it. Yeah, I think that kind of gets at it. But yeah, so like there's also a difference between the streams itself and HTTP. And there's many different layers of what the streams are. Like the, you know, the TCP socket is obviously at some point wrapped around a TCP handle, which is a Libvv stream. But, you know, some of the higher level, not abstractions, but some of the higher level stuff in node is not necessarily using the Libvv stuff. It just depends on it because of like every, every IO resource in node. So what is HCP or FS or anything else depends on the concept of handles, where the handles are the Libvv streams.  There's the TCP one, there's the UDP one, there's FS ones. Should we mean data on HTTP, the correct way? Also buffer array, I think what is the correct way? Also buffer array buffer JSON type data or what? Does that make more sense to you guys than it does to me? Not really sure. Yeah, I'm uncertain about this one. But I think some of the advice we gave earlier might be useful to them, hopefully. Okay. What about streams error handling? Yeah, we touched on that a bit before. It's a complicated beast. To use the pump module. All right. How do I get my app done on node JS? That sounds like a rather broad question. Yeah. All right. Let's see. That is about the end of the questions. Does anybody on the call have any other questions? All right. Well, if nobody has any extra questions, I will, Antly, Steven, do you have anything else you want to add about HTTP and streams that hasn't been talked about yet? I don't have anything to add to that topic. I did want to talk about some stuff about contributing to node, but I'll let Steven answer first if he has any. All right. Then you want to talk about contributing to node? That sounds awesome. Yeah. I was going to plug node here. That's the whole point, right? All right. If you're interested in node, if you're getting started, if you've been working with node for a while, if you're interested in streams or HTTP, node JS has a very broad ecosystem and a very accepting community. There's never enough contributors to do all the work that's required. There's a variety of tasks. No matter what your experience level is with node or with programming or with anything else, ranges anywhere from maintaining build infrastructure to writing documentation to fixing bugs and writing test cases. There's a ton of different things that you can contribute to. There's a good amount of mentorship available. Lots of people regularly involved who are available to assist and help out with PRs and documentation updates and other things. There's also good, there are issues in the node JS repo that are tagged as good first issues. They can start with if it's your first time. There's also issues that have the doc label. If you're interested in writing some documentation or helping out in that way, there's also Rich, or as you might know him, Trot maintains a node to do.org. It's a great resource. If you're trying to get started with node, you email Rich and he sends you a task and walks you through making it an actual PR and getting it ready. Yay. That sounds awesome. I didn't even know that existed. So that's really cool. Okay. Stephen, do you have anything to add? Nope. Okay then. Well, thank you to Inatoli and Stephen for looking at the questions ahead of time and being able to answer them and for being here and chatting about them. And thanks to everybody who's on the call. I hope this was useful and we'll see you next month for our next one. Thanks so much. Thanks everyone.


Donald Trump was inaugurated roughly five weeks ago and a say a lot has happened is a bit of an understatement from executive actions Multiple press conferences new people elected into power people no longer in power. It could be a bit difficult to keep up with everything That's going on. I'm here to tell you five controversial events that have happened in the first five weeks of Donald Trump's presidency I'm Brayla Moth and this is CalTV news So who's our new Education Secretary Betsy DeVos? Vice President Mike Pence broke the tie which confirmed her as the new Education Secretary It is widely known that DeVos most of her career She's only been giving money to private schools in addition according to New York Times neither miss DeVos Nor any of our children actually went to a public school So now the controversy becomes where's this gonna leave the public school system with someone who lacks the experience next Trump's travel ban Trump's executive order banned entry into the US for citizens from seven predominantly Muslim countries for 90 days and Refugees for 120 days as a result protests were occurring in major airports nationwide in the end the US Circuit Court of Appeals Unanimously decided to reject the ban which left Trump displeased and him tweeting that he's gonna see them in court Now for number three Donald Trump's recent press conference with reporter Jake Turks Turks from a meme magazine as Trump What will be done to stop anti-Semitism in the US Trump believed the reporter was insinuating that he was anti-Semitic Trump interrupted told reporters sit down instead of answering the question of how he's gonna stop the issue Trump goes on to say he's the least anti-Semitic person So here's the story folks number one I am the least Anti-Semitic person that you've ever seen in your entire life Number four Michael Flynn resigning as national security advisor Flynn had many conversations with the Russian ambassador yet was not honest with White House officials about the information that was exchanged He told vice president Pence that no sanctions against Moscow were discussed and Pence publicly defended flims claims However, later on the administration was warned about the misinformation as a result the Justice Department for that Flynn could potentially blackmailed Which ultimately led him to resign Only be the national security advisor for less than a month Flynn no longer has the job and finally alternative facts President Trump's press secretary Sean Spicer made the assertion that Donald Trump's Inauguration was the most viewed inauguration history without factual evidence Afterwards counsel the president Kelly and Conway was featured on NBC's meet the press with host Chuck Todd Todd asked Conway why Spicer decided to say that it was the most viewed inauguration when he had no facts to claim not in the first place According to NBC Conway said to Todd you're saying it's a falsehood and they're giving Sean Spicer our press secretary gave alternative facts Todd responded with alternative facts aren't facts, but they're falsehoods Look alternative facts are not facts They're falsehoods and those five controversial events that happened in the first five weeks of Donald Trump's presidency I'm Breila Moth Cal TV news


All right, hear me great. So now that we've passed our slide problems How do you want my name is Ellie Goldberg? I'm the director of platform engineering at salt security Bit about me these are my homegrown animals Alice the cat mango the dog or as we come by this office name Mongo Salt security so salt is a API security company we basically protect APIs by looking at our customers traffic We build a model of their APIs and we identify potential attackers doing so we handle billions of daily requests and we Love Lingerty, and I'm happy to share why So around two years ago. We were running about 20 microservices on Kubernetes mostly Scala and They communicate with each other mostly via HTTP and some other proprietary protocols And as the teams were getting bigger some of the challenges we've had was to prevent APIs from breaking internally so we've seen programmers introduce new programming languages and it's becoming harder and harder to solve those problems from the code itself and we started thinking outside the box and Looking for tools that will make it easier So just to illustrate the level of complexity this is what we've had around two years ago and Over time we started seeing a more complicated pictures more programming languages more inputs and GeoPC was a great solution for us because it allowed us to create a single centralized schema To actually see our entire APIs entire APIs in a single repository It was much easier because you could just call a function and Generated source code library instead of having to recreate your serialization and deserialization Jason our quest And protobuf is much more efficient much smaller payloads The problem is when you introduce gRPC into your your stack you lose one capability, which is low balancing So unlike htp1 gRPC is based on htp2 which basically reuses Reuses the the same connections over a different quest and then you have to figure out another way to keep your load balancing capabilities in Kubernetes But there are multiple ways to solve this There is of course client side load balancing But since we were we wanted to solve it in a language agnostic way We prefer to to solve them the network level and since our use case was focused We wanted to solve the gRPC load balancing issue. Our primary candidate candidate was Lincardy Going to staging it took us a few minutes to deploy to our staging cluster Running a few low testing scenarios showed a 250% performance increase just by introducing gRPC and Lincardy And we thought that we'd let it run for a couple days before we go full full production just you know to gain some confidence Production end-to-end work was about five days. It was mainly about switching Lincardy to work as a highly available solution and We wanted to deploy it in a more get-ups approach. So we use the helm charts wrapped around there with Terraform We set out to solve a simple and single Problem we've had which is the gRPC load balancing, but we've actually gained so much more So our connections were now MTLS encrypted end-to-end between our pods We've started seeing a whole network all the communication between the services was now in front of our eyes and Also it opened the door for us for a few more interesting Features that Lincardy has to offer that we've already implemented such as gRPC retries and per team monitoring alerts To actually be able to tell teams as a platform team Hey, you have you have a problem here. Go check it out without even knowing about which service or which call they're doing So if that was the complexity we're talking about now We're starting to see all the connectivity between the services which ones were failing and a fairly easy way of pointing the finger into where a problem persists in the cluster Aside from production we started seeing teams utilize Lincardy for development environments as well To actually verify the correct behavior For the services and their deployments before they reach production, which is pretty cool to see We're super excited about the upcoming features so there's circuit breaking that was just released in Lincardy 213 and things like multi-cluster multi-cloud Lincardy at the edge and Canary deployments as well, so The fact is that we're not Lincardy experts But we were able to do all that means that Lincardy is super simple but powerful tool and it has an incredibly Welcoming and supportive community and we're grateful for that If you have any questions, please, it's my Twitter handle or find me via email. Thank you Thank you. Once again, I'm gonna ask LA to


Let's unbox a Magna Carta Tradition Legacy fountain pen. It's not likely that you've seen this fountain pen before because it's a limited edition and it's limited to just 10 pieces.  You have your Magna Carta card that is great for keeping track of your vital information for your pen. Now let's talk about a few highlights of this, a pen that just arrived. This pen is made of a cellulose acetate which is basically a version of celluloid that is not flammable. The spring metal clip is very springy. I really like that about this pen. And the trims are rhodium-plated and you see that in the spring metal clip. The two thin rings at top and bottom and then those thicker rings at the bottom of the cap and then on the barrel where it meets the cap and they have geometric patterns. It's a threaded cap. The section matches the barrel and you have your number eight size Magna Carta nib there. It's branded. The filling system for the Magna Carta tradition legacy is cartridge converter and it comes with the converter already installed in the barrel of your pen and that's a piston style converter. You can use that with any fountain pen safe bottled ink. If you want more information about this pen, visit us at Pinchelay.com and we'd love for you to subscribe to our channel at Pinchelay to see more new releases not only from Magna Carta, but from other of brands that you might love in the luxury pen department. For today with this pen, I hope we've given you all the highlights. Oh, it is postable. I forgot to mention that, but I did want to mention also that this pen's material has a really great shimmer. It's between that mauve and that green. It's really fantastic.


At Audiology Associates of Prestonsburg, you can live your life the way you want and find the freedom of better hearing. You'll experience patient care that is specific to you with exceptional follow-up care that ensures your hearing and balance needs are being met. Audiology Associates at 1428 Northlake Drive in Prestonsburg. Pikeville's nightmare on Maine will be taking place on Thursday, October 27th and is a safe and fun alternative to traditional trick-or-treating. Where else can you see vampires, witches, werewolves? Jason, Freddie, get free candy and have a fun time and be safe. That's the important part of that, Maryland Maine. It's that fun, safe alternative to traditional trick-or-treating. You get to drive right through Main Street. The kids don't even have to get out of the car. We drop the candy right into the door into the bag for them. Those wishing to participate can begin lending up as early as 4 p.m. You come in off of exit 24 from U.S. 23. Exit 24 is the end where Tutor's Biscuit World is.  While traditional trick-or-treating will take place on Halloween, Nightmare on Maine is just another way to get kids out for a fun and spooky night. The event takes place on Thursday, October 27th from 6 p.m. to 10 p.m. Those wishing to participate as treaters can contact Kevin Roberts at kevin.appwirelessarena.com. For Mountain Top News, I'm Kelsey Dean.