You know, I've been researching and reporting on poverty all of my adult life. I've lived in really poor neighborhoods. I've done into the dug into the statistics, but I, I just didn't feel like I had an answer to this really pressing question, which is why, why there's so much poverty in this incredibly rich country. And so this book is my response to that question. Matthew Desmond is a Princeton University professor and the recipient of that MacArthur Fellowship, the Pulitzer Prize, a Penn John Kenneth Galbraith Award and the National Book Critics Circle Award. His recent book, A New York Times Best Seller that was ecstatically well reviewed in many mainstream outlets, attempts to reframe the national policy debate around poverty. Like the muckrakers of the progressive era, Desmond is a master storyteller who gathers firsthand anecdotal material to illuminate social problems, but his novelist eye for detail can cause readers to overlook the absence of big picture analysis or useful solutions. What causes poverty in America? According to Desmond, he answers with bland, awkwardly worded slogans, such as poverty persists because some wish and will it to. He says we need policies that refuse to partner with poverty, policies that threaten its very survival. Desmond gets more specific about what doesn't cause poverty. He dismisses cultural explanations, such as single parent households and declining marriage rates. He quickly dismisses the idea that the welfare state traps people into cycles of dependency, claiming that these arguments rely on anecdotal evidence, even though there's a vast systematic literature on the subject. Desmond doesn't take up political scientist Charles Murray's basic challenge to explain why it is that between 1949 and 1964, the American poverty rate dropped 22 percentage points before the federal government did practically anything to help. After President Lyndon Johnson launched his war on poverty, the decline leveled off considerably. Desmond approaches his firsthand investigations with the preconception that poverty is a byproduct of capitalist exploitation. Prices aren't set in a competitive marketplace in his view. They're just a projection of greed. It's tempting, he writes, to blame rising housing costs on anything other than the fact that more than a few of us have a god-awful amount of money and are driving prices higher and higher through bidding wars. A chapter on the real estate market titled How We Forced to Poor to Pay More argues that it's twice as profitable to be a landlord in the inner city, but doesn't bother explaining why even more unscrupulous people don't tap into this lucrative business opportunity. His evidence for this claim is a 2019 paper he coauthored in the American Journal of Sociology that uses data so crude that it really tells us nothing. It omits important costs like the return on equity capital and important benefits like real estate appreciation that strongly bias the results in the direction Desmond wants. It ignores how landlords in poor areas are shamed, sued and occasionally jailed, forced to go to court to evict families and must routinely travel to dangerous areas. These headaches scare away most investors, which means that those who stick it out charge more. The way to reduce costs in poor areas is to do the opposite of what Desmond advocates and make it easier for landlords to do business, such as streamlining the process of evicting tenants who don't pay rent. Another chapter attacks government welfare for the rich and middle class, and though he makes some valid points, again Desmond is sloppy with numbers. In 2020 he writes, the federal government spent more than $193 billion on homeowner subsidies, mostly benefiting white people with six-figure incomes, as compared to $53 billion for direct housing assistance for low-income families. By limiting his tally of what low-income families get to direct housing assistance, he leaves out the entire $260 billion budget of the Department of Housing and Urban Development, and by limiting it to federal, he excludes roughly $70 billion in state and local housing subsidies. He also excludes tax breaks, tax credits, and other indirect federal low-income housing subsidies. The largest share of the $193 billion figure that Desmond counts as homeowner subsidies is an income tax that doesn't exist. An estimate of what people who own their own homes would pay if they were taxed on the imputed rental value of their real estate. The logic is that if you buy a house and rent it out, the rent you receive is taxable income, so if you live in the house yourself instead of renting it, you should pay tax on the rental value. This policy change would do nothing to reduce poverty. If the government started taxing homeowners on imputed rental value, home owning would be less attractive and home prices would fall. This would reduce construction jobs and housing supply. Desmond has a tendency to juxtapose the hardship of the poor with the resources of the rich, but he also concedes that there's no evidence the United States has become stingier over time, and in fact, federal relief for the poor has surged even under Republican administrations. He seems to want homeowners to pay more taxes simply because he thinks homeowners are rich and punishing them with higher taxes is a good in itself. Desmond's initial celebrity came from his bestselling 2016 book, Evicted, poverty and profit in the American city, which was excerpted in The New Yorker. The book argues that eviction is a major cause and exacerbator of misery for poor people. The evidence Desmond assembled actually shows that eviction is one thread in a tangled scheme of causes and one of the less tractable ones to address. Evicted concludes with an epilogue that pushes strident policy views completely at odds with the detailed stories about poor families forced out of their homes, which fill the rest of the book. Desmond is an engaging storyteller who manages to convey the experience of his extensive personal interviews and observations. He just doesn't know how to interpret his own evidence. The evidence is in and the evidence is clear. Eviction is not just a condition of poverty. It is a cause of poverty. None of the stories in the book support this contention. All the families he profiled had deep problems prior to their first evictions. Some are drug users or criminals. Others are victims of crime. Most are unemployed or have insecure low wage employment without benefits. Many have washed out of social programs like public housing and job training. There are two heartwarming success stories driven by quitting heroin in one case and getting a good job in another. Neither was triggered by finding secure housing. Desmond never grapples with the fact that housing is different from other forms of social welfare because it involves neighbors. Many of the tenants in his story are people no one is willing to live next to.  If Desmond were a serious housing policy analyst, he would understand the trade-offs at play. High physical standards for occupancy eliminate much of the low cost housing stock. But lack of standards can mean people live in unhealthful and pleasant slums, allowing bad tenants to stay in good places degrades neighborhoods. Concentrating low income people and public housing projects can lead to conditions as bad as any urban slums. Making it difficult for landlords to evict non-payers, squatters and vandals reduces the available housing stock as landlords abandon properties or refuse to rent to poor people and it doesn't free up units for better tenants. Desmond's book actually tells an inspiring story of people working hard to solve these problems, usually with their own time and money. The solutions are never perfect, but lots of people are trying with patience and skill to keep everyone housed as best they can. This book repeats the claim at several points that the majority of poor renting families in America spend over half their income on housing and at least one in four dedicates over 70 percent, which is another misreading of the evidence. Those numbers come from the American Housing Survey, which yields very low quality information about family income. Desmond should have consulted the Bureau of Labor Statistics Consumer Expenditure Surveys, which use much higher quality economic data about households and actually cover the population Desmond is writing about. From those surveys as of 2021, we find that the poorest 10 percent of the population spends an average of twelve thousand four hundred sixteen dollars per year on housing, including not just rent or mortgage payments, but utilities, insurance, taxes, late fees and other charges. That is a hundred eighty percent of their average pre-tax income, six thousand nine hundred sixteen dollars, but only forty one percent of their average annual total expenditures, thirty thousand four hundred thirty three dollars mildly higher than the overall population average of thirty four percent. How do families spend more than four times a pre-tax income? It's not by taking on debt or dipping into savings. On average, the same families added five thousand five hundred seventy dollars to net assets. Low income households get more money back from the government than they pay in taxes and they receive subsidies and in-kind assistance that are not measured in most income numbers, including the American Housing Survey numbers. They also earn cash income from the underground economy. There are certainly people forced to devote the majority of their financial resources to housing and that's a problem worth caring about. But they account for a fraction of a percent of the US population or much less than what Desmond claims. Halting all evictions, which some policymakers have called for since the publication of Desmond's book, would have catastrophic unintended consequences. It would chase away honest landlords and emboldened abusive ones who will simply change the locks, cut off utilities, refuse ascension repairs or threaten their tenants with violence. Desmond misinterprets his own evidence and favors moral grandstanding over serious policy analysis. His stories actually point to the conclusion that the biggest cause of poverty is crime. If poor neighborhoods were safe, if middle class people didn't fear crime associated with housing projects, if poor people weren't routinely cheated and abused, poverty would be reduced to a simple problem of lack of money and could be eliminated for far less than the cost of current social spending. Desmond's analysis never goes deeper than his facile assertion that poverty persists because some wish and will it do. Abolishing poverty as he sees it means looking inside ourselves and finding the will to act. His books have had such a wide reach.


So this week we decided to take Linus Torvalds to meet another black and white animal. How are we doing this year? There he is. This is Linus Torvalds in Chengdu this week and Linus leaned in to the panda He said, you know what? I Don't think we want the penguin anymore I think we're gonna go with the panda for Linux and look at the reaction from the panda. I can't tell if the panda is scared or happy or Just really likes that carrot. I think it's the carrot But Linus and I got to spend some time meeting pandas Going around China We love this country. We love furry black and white animals and with that I want to welcome to the stage our next speaker Linus Torvalds for a conversation with Derrick Kondel the round of applause for Linus and Derrick Thank you. Hey How is everyone? Oh, it's quite a bright light So my name is Derrick Kondel. I'm VMware's chief open source officer and this is I'm Linus and I'm not very comfortable doing public speaking so to solve that problem We've done this questions and answer session for the last few years and that works better for me Since I don't know the questions beforehand. This tends to be Slightly more interesting for me too. Hopefully for you and it's also a lot less work for you to prepare That's that's the big part of it. Yes So I always start with the same question So I apologize if this is boring for everyone in the audience, but maybe it isn't so yesterday You released 418 RC 2. What's the state of Linux? So I have to say to kind of explain the background we've been doing the same process now for almost 15 years and I don't do development anymore. I Am a manager. I've write code most of the time when I write code It's actually in email when I send people saying hey This is not working. Maybe you can try this but what I care about most and what I have cared about most for the last Couple of decades by now is actually that the process works so that people can write code and and we can Keep on improving the kernel So we have a release schedule that is about eight to ten weeks for every release where the two first weeks are merging new code and I am so happy about the fact that it continues to work So for 4.18 for example, we had roughly 1500 people who actually wrote code and I merged that code from about a hundred maintainers that that maintain different sub areas of the kernel and This process hasn't changed and that's I think the most important part is to allow people around the world to just keep on improving Linux and This release there was no new architectures there it was One of those maintenance releases where we're cleaning up some code We're actually removing more lines than we are adding this release, which is always nice to see when people decide Some piece of hardware for example never made it into the marketplace and we just end up removing the driver and and things are going fairly smoothly and I think With a project like the kernel which is the infrastructure for a lot of Other software projects and a lot of other hardware problem projects to having this kind of smooth fairly predictable Development model really helps everybody So we've had very little change in the process in almost 15 years But still I mean people are changing what we're doing is changing Yep Are there parts in the process that where you think we're doing better than be used to or where you think we need to Pay attention we're kind of degrading. I think we're doing better than we used to simply because people have gotten used to the process We were better following the rules just because by now people take the rules For granted it doesn't mean that we're perfect and I end up shouting in email at people every single release for People who forgot to follow the rules that release We had a few cases Last week where I know why I was somewhat unhappy with with changes that came late and shouldn't have been sent to me During the so-called RC period when when things are supposed to calm down, but on the whole I think my Email outbursts have gone much less common and and that to me is a good sign It means that that our process is actually getting better So so what you're saying is boring is good. Oh boring is great. I I love boring if I'm I'm actually somewhat Disgusted with the whole tech industry being so enamored with the word innovation and and a lot of these other buzzwords about how we're Revolutionizing the world because I think a lot of engineering and when you really get down to Engineering is about getting the details right and doing a good job and just Very little engineering is really about innovation boring plodding work is the real work and and the fancy stuff makes a lot of the news but but I If if I can keep my project boring, but alive and doing well from a development angle I will be very very happy There's a saying Genius is 1% Inspiration 99% perspiration that I'm a huge believer in Yeah, but so on the boring side. We certainly did not have a boring first half of 2018 thanks to spectra and meltdown and and friends What's your take on that? So I don't know I'm assuming everybody in the room is very familiar with the CPU bugs Design problems. We've had for the last half year. It's actually been an issue for the kernel community for about the last year and People were kind of whispering about it before that It's been very frustrating. I Actually one of the reasons I got into kernel development the main reason I got into kernel development is I'm I Wanted to know how hardware works. That is the kind of thing I find personally very exciting is it's just on a very low level how a CPU and how a computer works and it's why I'm doing kernels and I'm actually finding the whole CPU bugs I find them fascinating So it it should be something I'm excited about but especially with the security issues and all the secrecy that in that Ends up involving it's been very frustrating. I know it's been frustrating inside companies because they have to try to contain the whole Security issue so that it doesn't leak ahead of time But it's particularly frustrating in open source where we're so used to Talking openly about all our issues and I'm trying to find the best solution by talking to Literally thousands of people every release and then you have issues like the security problems in the CPUs where we have months and months of very controlled Silence where we cannot talk except to this small group of people who know about it and it has been a Very frustrating experience and I really hope that we're We're not going to see a lot more of this because it's it's just very painful for everybody But do you think that the vendors are learning from from the frustration that you have expressed? Is it getting better? I it is getting better a we have gotten slightly better at the process. We are When when the news first hit we really didn't know how to work at all when we're so used to the open mailing list model of doing development and now we have Six months plus of experience with this so that helped a bit People are still very frustrated. I'm I'm actually hoping that Even more so that the hardware people learned from the experience so that in a few years We can look back and laugh at this, but but it's gonna take a few years But I mean if you look at the the type of bugs that these were they were fundamentally Information disclosure leaks, right? So that that makes me wonder about computers and in the context of privacy that we talked so much about these days It should we be worried about our trust in computers? I Think we Always should have been worried about our trust in computers and I want to make it clear that the Hardware bugs even though they've been very painful for us We I think in the end We on the software side have had a lot of bugs to say it's not like we can say hey Hardware people get your act together We we have our own issues that we need to fix it's just that when we have bugs in software They're so much easier to fix them. We can't just fix them on our own When we have hardware bugs, it's very frustrating for a suffered person because this Underlying piece that we thought was reliable isn't so it's it's a different class of problems It's a different class of pain for us But fundamentally you're saying not much has changed it feels that that our The level of trust or distrust that we should have to Compute-based systems haven't really changed. No, and I I don't think the whole security issues. They will never go away As an industry, I think we're getting better. We're getting better both in software and in hardware, but it's Obviously an area where we need to just remain vigilant I want to switch gears a little bit and talk about Developers as individuals not not so much about the projects But about the people behind the projects and one of the distinctions that I think I'd love to talk about a little bit Is the difference between the typical developer a let's call him a tech lead or a lead developer and then a Maintainer can you talk a little bit about the skill sets and what is different between these roles? So one of the big difference actually, let's talk about what's common Pretty much every single maintainer started out as a developer I mean, that's the only way you can become a maintainer because the most important portion of being a maintainer is Being trusted It's not a you need to be trusted by me So that I trust you enough that I can take code from you But you as a maintainer need to be trusted by all the people who are sending code to you as well and the Trust is needed that you have the technical understanding of the code to make the rate right decisions as a maintainer so we all started out as developers and The thing that then makes some people maintainers once they've got it at the trust is usually communication Especially in open source, but I think it's It's true pretty much everywhere a Lot of what we do is Communicating people always think that hey the big part is is the writing code the writing code part It's often the smallest part. You need to communicate to your maintainer Why you wrote the code and that's often a problem you need to Be there when bugs happen and they will happen and you will be need to be open to communication Both from your maintainer, but also from your developers That's obviously one area where we've had one of the issues we've had in open source is because we're so spread out Sometimes the communication barriers are simply cultural or language barriers Something I'm sure people here in China are very aware of that Sometimes you need people who do nothing but communicate because they end up being translators between the developer and The maintainer or between two different developers, but it turns out we don't have enough maintainers. I A lot of people think Maintainership is the glorious thing where you don't need to do the low-level encoding anymore and you can just take code It turns out Finding people who are technically able to understand the problems and our good communicators and Are willing to be there every day pretty much so that they're responsive to developers is really really hard So if you want to be a kernel maintainer Trust me. There are spots open It will take time to get there because you will need to get that trust and get that network of People who who you know and who you can communicate with but we need maintainers So it's it's a good job market to to look into so you you focused on on Communication and on on being available on being being there every day One angle that I always found interesting in maintainers is the ability to deal with conflict Because very often you will have different developers with different ideas of what is the correct solution or you have Competing commercial interests that push for a certain architecture and alternative. Can you talk about that? so I have to say personally, I'm actually less worried about technical conflict than about Non-technical conflict so technical conflict usually when when you have two competing approaches to solving a problem the good news is If it really is a technical conflict You can usually put it into numbers. You can say this solution is simpler and smaller or this solution is faster and and I can do more with it and you can usually Make a fairly informed decision on a technical conflict and more importantly even if you get it wrong Which happens all the time Even if you get it wrong if it was a technical decision you can say hey I made the wrong decision. I'm perfectly happy saying that as a maintainer saying This is not what we should have done and you undo the technical thing and you go to the other approach instead. This is This is normal development There aren't a huge I mean it's it's a waste of time obviously but but it's not a huge problem the real conflict problems come in when it becomes personal or Particular when it comes becomes political inside companies. I'm sure you're all very aware of this that when there are conflicts that arise from from non-technical issues and My approach to that and I think this is where open source really really shines is That we have been very good and we have been able to try to Keep our conflict resolution to technical issues so when political issues come up I Personally will not care.  I won't even respond to it. I will not Spend one second worrying about it and I will tell you guys Give me the technical reasons and I think this is something where open source really can work in ways that often Commercials offer cannot because inside a company company politics are all encompassing you cannot avoid the company Politics when you're in open source You can you can say hey there are all these internal company politics But look at all the people outside this company that don't even understand our politics and and I think open source Tends to often successfully avoid politics for that reason So we talked about this this Ark from being a good developer to becoming a good maintainer and what are the additional Skills that you need but let me turn this around So do you think that every great maintainer is also a great developer is so is being a fantastic Developer a requirement for being a great maintainer. I Don't necessarily think so. I think it's hard though. I mean if you're not a good enough me, so I Have a hard time judging. I don't know. That's the maintainers. I work with I don't know how they feel about this but to me personally One of the things I do a lot is I have to make that judgment call on looking at a pro request and saying Do I need to talk take this or do I need to tell my sub maintainer that hey This is not acceptable. This is not how it works and It's not just about making the right decision and or at least trying to make the right decision It's also about how much time you spend making that decision and one of the things that takes a long time For developers to go to maintainers is in my opinion being able to look at code and just by by looking at the code saying, okay, this is the right approach or this is the wrong approach and I almost think you have to be a good developer To be able to make that judgment without spending hours and hours and hours agonizing over the code itself So I always look at this as as to related but slightly different skills One is the skill to look at code and evaluate it and the other skill is the ability to actually write that code So as a maintainer I faced this when people sent me code in Python. I Hate Python Yet, I I think I can read it well enough to to judge it as it isn't that part of what a maintainer does Reading code instead of writing. Absolutely part of what you do is not just reading code But you also read the explanations as I mentioned one of the big issues was not just writing the code But also writing the explanations for why you wrote the code not what the code does You can see that from the code itself But explaining why it does something and maybe why it does it that way So it is the different Skills that definitely one of the things I've talked to people about occasionally is What I look in developers and what I look in especially maintainers is something I call good taste And it is very hard to explain. It's kind of like art That you can't really say what is good taste you can just say some people have it and some people don't and I'm not sure you can learn good taste. I think you probably can but there are certainly people who are able to express the problem in More beautiful way and there are people who are able to make that distinction between This works, but it's really really ugly and it's clearly not the right way to do thing and saying that code not only works, but it is actually the right way and there that's Ability to have good taste is fairly rare and it's probably one of the reasons we We are Desperately looking for maintainers, but this is an interesting question that you raise here So how do you become a better developer? There's obviously there's the book outliers that say 10,000 hours of practice and Practice is certainly useful, but are there things people can do can focus on can learn Can practice that will help them become better developers and maybe even become maintainers and better maintainers I think most of it is just being I mean not necessarily writing code That is a part of it obviously, but a lot of it is about participation Being walled Don't and when it comes to a big project like the kernel But there's a lot of other open source projects. So don't get me wrong This is not just about the kernel, but you don't have to try to be involved in some big portion of the kernel You don't have to go for the central part that Experts have been working on since the very beginning of the project being walled find some small detail Something that you care about find something that people are discussing Maybe people are not discussing the code itself But they're discussing the problems in that area and go and be involved on the mailing lists on There are IRC channels, I don't know what I assume in China We're looking into we chat or something like that and and just get involved look at the code Start making patches and realize it's going to take a while before you get to the point where you're an expert But it's okay to be an expert on a small part and then you tend to expand after that Don't try to be an expert on the whole project. That is not that is not how the world works But I think that's a very important point that you're pointing out It starts with actually getting involved and and it's okay to be focused But then bring the patience bring the patience to say hey my first attempt maybe wasn't good enough Let's do this again. Let's come back and that's learned from it And I think it's this feedback cycle that it's really really important part of it is also It's not just You as a developer learning how something works and learning how to make patches you have to realize It's all the people around you that see you being part of the community So when you're a developer As a maintainer the people who are taking patches from you the first time they see a patch They have to be very very careful because they don't know you they They have to assume that you are not very competent And that means that they have to look at the patch very carefully So it really helps if the patch is small simple and obviously fixes a problem After you sent a maintainer 10 20 50 patches What happens is the maintainer stops looking at the patch as careful The maintainer knows you the maintainer has seen you act the maintainer has seen 20 patches from you that are good the maintainer knows that you're doing good work now the maintainer trusts you and That's how you eventually become a maintainer yourself is because people stop looking at your code entirely and say hey, I trust this person so much That when he sends me something I will read his description of what he sends me and I will integrate it That is how I work with the 100 plus sub maintainers in the kernel is that Most of the time I don't need to look at the code and there is a graduation There are sub maintainers that I never look at the code for and there are sub maintainers that I tend to look much more closely at what they're sending me Some of that is just I've worked with some people so long that I I say They own that subsystem if they make a choice Who am I to argue and other people I've had more problems with so this is a growth cycle at every level even as an Developer when you learn to be a developer Part of it is not just you it's also how people see I think it's interesting this network effect this on the one hand I try to develop I try to become better But then there are all these people around me who are helping me who are giving me feedback who are sending me ideas how to make my code better or how to describe the code better and I want to do this in a very small way here on stage for a moment and You you talked a little bit about this a moment ago The question what makes a good commit is something that I run into on on pretty much every open source project I'm engaged with but even inside of my company when talking about the developers writing the proprietary code What is it that makes a commit good that makes it Something that the maintainer looks at and says okay. Yeah, I like this um To me what really makes the difference is if I can see a Theme to the commit I see that a the explanation is really important I don't know how many of you have been involved in kernel development And how many of you have been involved in some other projects For the kernel we have very very high standards for Not just the code, but the explanation the commit message that explains what the code does Uh, a lot of projects think of one liner that says This is what it does. It's fine. We are not there. We we we want explanations But you want the explanations to make sense and then when you start looking at the patch You should not be surprised So lack of surprise is probably the best single sign of a good commit If if if the explanation says something and then when you read the code you go, what? That's that's usually the worst sign there can be But then sometimes There are good commits that can be one liners They can I mean a one line change is not necessarily a small change A one-line change can be very important if it's in a very subtle piece of code And you just noticed a really hard bug that has been around for years And it was something really subtle like the memory ordering of the cpu required you to add one line That can be a very important fix But a one-line change can be really important it can be really boring too But a hundred thousand line change can also be Both it can be something really important that adds fundamental support for a really big feature Or it can be something really pointless that just adds a lot of lines that describe a piece of hard work And the patch itself does not do very much So you can't really judge a commit by its size And you have to judge it by By the its downstream effects of that commit and and what it really changes But the one thing that you said about lack of surprise is something that I think is incredibly important I have seen commits from you actually that have a 45 line commit message And then change a single line of code And and it often seems like wow, why does he write so much about such a trivial change? And then you read the commit message and you say, oh This is what this does and to me that really is this moment where once you're done reading the commit message The patch below seems totally obvious That to me is really the the way I look at a good commit So don't get me wrong a lot of the times the good commits really are the boring ones the ones that are not One-liners, but they're also not a hundred thousand lines. They're just Doing regular every day work. They fix a bug that in retrospect the bug was really obvious So maybe the commit message is only three lines and saying hey, we had this bug because we were Stupid and we hadn't noticed this one simple special case And here's a 10 or 100 line fix for it And you you don't necessarily need to have a lot of commit message for that So and that's actually the bug that should be The daily bread and butter of your work There most of your commits should not be the exciting kind if you're If all your commits are exciting, there's something badly wrong We said earlier boring is good boring is good and now let's take this one one abstraction level up We talked earlier about The interaction with the maintainer and that the maintainer will push back and and will maybe disagree with you And one of the questions I always ask myself. So how long should you Do this this loop of of listening to the maintainer and Doing a new version of your commit and go back and forth and back and forth What's the point where you should just give up and say this isn't this isn't worth it? I should fork the project or I should give up on my feature I don't know It all depends on what you're doing sometimes and and Don't get me wrong Maintainers have been around for a long time But sometimes the maintainer is wrong too So sometimes what needs to be done is say This maintainer is not agreeing with me Maybe you need to talk to another maintainer Sometimes very rarely. Hopefully You may need to escalate it to me I try to avoid that because I hate bypassing maintainers Partly because it's more work for me Partly because it just makes for a mess when the maintainer is doing his own thing But the fact is Sometimes you also need to accept that maybe my idea wasn't good Maybe my idea was for something that For a problem that I have or that my company has But nobody else has and nobody else cares about And and then at that point One of the advantages of open source is saying hey This is An issue that only hits us because we're doing something really special And maybe we need to just maintain this set of patches And it's still open source and everybody else can use it But maybe nobody else is interested that happens And I think it's one of the advantages of open source is Is exactly the fact that not everybody is the same Not everybody cares about the same things Sometimes you need to just Go off on your own and say hey I care about this this feature nobody else seems to care And uh five years later Maybe you're still the only one who cares about that feature But the other possibility is also that five years later You are the industry leader because everybody else is wrong And an open source kind of allows you to make that choice I mean you and I ran into this in in one of the other projects That you work on where one of the libraries that we depend on would absolutely not Take a set of changes that we had developed And so we've been maintaining a separate fork of that project for I don't know three four years I mean this is how um a lot of open source development gets done And this is literally how kernel development gets done And and one of the design decisions I had when I started git was that One of the big designs designs are behind git is to make forking easy You want to allow people To just take your project And make make it their own and make their own version and and Allow them that freedom of showing the world that they actually have The right idea and they're doing a great job of maintaining it The other part that I think is very important is Make forking easy but make it really easy to also Then on the other hand say hey, you were right I was wrong You did a great job. I did not believe you But you did such a great job that now I'm going to to say hey I was wrong. I'll take your code after all Because I didn't make the right decision in the first place And I think actually that's something that we in the kernel community had been fairly good about We have avoided these So-called religious wars that we have seen in some other projects Where we've avoided getting To personally antagonistic against forks So I for example think that forks are a good thing And if a company ends up going their own way and and taking their Kernel in the direction that I think doesn't necessarily make sense for The mainline kernel I don't see that company as being Competition I see that company as just Trying to do what's right for them And that means that if you're not antagonistic and you don't Start this whole religious flame war over this is the right way When it turns out that somebody else was right wasn't the right and did the right thing They don't hate you they don't They don't mind you they actually feel kind of smug and say hey Look at me. I was right and when you pull from them and say hey, you were right Everybody is actually happy. We improved the system. This is how a lot of development in the kernel gets done But but there is a dark side to that So we have seen this in embedded linux, especially in phones in a few other areas Where it has become so easy to fork linux that people create Support packages for a specific hardware device for a specific Board for a specific phone And and those never come back to the kernel and the users are then stuck on an old version of the kernel What are your thoughts on that? I'm very unhappy about it at the same time. I it's I don't feel like it's our process problem One of the issues is in the embedded world. That is how people are so used to working I don't know how many of you are embedded people, but That's how you work on a hardware level too. You make basically One-time board knowing that five years from now That board will be throw away Because hardware will have Changed so much that what you make today Will not be relevant. I mean you will learn from your mistakes But at the same time You make a board once and you don't generally see it as Something that you continue to develop and that mentality then has clearly extended into the software space too Where people make one product And the hardware is seen as a hey, this is our hardware for this year or for the next five years And the software is treated the same way So you take one kernel version and one version of your ui and whatever else you use to to make a product And you don't try to see it as continual development on the software side But it's a throw away thing that you do once And but but that has potentially very bad side effects when it comes to Security bugs and the inability to update to a newer version of the kernel, right? It's a horrible model I'm not saying this is good. I'm saying This is what a lot of companies are doing And it is a problem for us because it does mean that they don't Actively try to feed it back to us because in order to then feed their changes back to mainline kernel So that they get maintained long term you have to do a lot of work You have to do all that communication work. You have to Send all these commits that have good explanations for why you're doing something and they need to make sense So that we don't go what? So there's a there's a There is definitely work involved in upstreaming code But once you are able to get your code into the upstream kernel It means that five years later when you make your new and improved Product whatever it is hardware software anything We will have maintained it We will have improved your code other people will have improved your code in the meantime And it will work better and you will not have the problems you had the first time around So that is the right model to do it is clearly not the model that everybody's taking I mean The learners community certainly tries to make this step easy greg who I think will speak on wednesday He's somewhere here in the audience greg is doing a fantastic job on working with harder companies And taking code even if it's not perfect and getting it into the kernel putting it in the staging area And and help make it easier and we've seen hardware vendors who have done an exceptional job at that if you look at intel had always always been The the software support for hardware was available before the hardware ever became Came into users hands to the point that at times drivers had to be removed because products were cancelled I think there is a lot of role modeling a lot of opportunity out there to do this right I also think that things are getting better I think part of it is people are After three or four iterations after you've done three or four different versions of the same thing You kind of start to see the problems inside the company and the companies themselves are starting to say, oh We've done this before it didn't work so well last time. Let's try to upstream at least the very core stuff We care about so that we don't have to do this again I also think that especially in the embedded world what is helping us is that the the hardware tends to also Become slightly more standardized. You you find that people are Standardizing around the more common SOCs that are cheaper and easier to get so there's a push From that end to also not be quite as wild and crazy As people wear five or ten years ago So jim showed a picture that that indicated the possible new logo for for linux. I'm very excited. I love pandas So if you were to stop doing linux, what would you do? You would you be a panda keeper or a dive master or I I don't think I'd be a panda keeper because there are very few pandas outside Slide china and I don't speak the language although maybe the panda doesn't care And I don't think I could afford to be a dive master I've always I mean, I don't think I have no idea what I'd do without linux. I had big plans when I was young to be Professor at a university And it turns out I don't like writing documentation and I really hate to write the papers And if you can't write or you don't like writing papers, you can't stay at university So I think I just need to find another Project to contribute to so I look forward to next year when you will tell us about your next project. Thank you very much


Since its inception, the International Space Station has been powered by large, heavy and complex solar panels. But as expected, these panels have slowly degraded over time. As a part of an experiment, the station's robotic arm unfurled the first ROSA, or Rollout Solar Array, in 2017, testing a new and unique concept. Instead of a rigid solar panel, ROSA was crafted from a composite carbon fiber, containing an array of solar cells that can be deployed and retracted similar to a tape measure, using stored strain energy of the material. ROSA was also lightweight and generated power with more efficiency. Now, larger versions of ROSA technology, known as I-ROSA, are being installed on the station permanently through a series of launches and spacewalks. The arrays augment the existing power supply and restore power to previous levels when the original arrays were installed. ROSA technology is also an important part of future exploration. It will serve as a power source for Gateway, the planned multi-purpose outpost orbiting the Moon. It will also help power Dart, the double asteroid redirection test, as it makes its way to the Didimus asteroid system. ROSA, proven on the space station and powering its way to the Moon and beyond our planet's reach.


It's important to raise awareness. First of all to make consumers aware that they have these What these goods and these you know potential resources all in their homes? And if they don't need it anymore, it has to be recycled and not to be dumped This is very very important. It starts with the consumer. Secondly also, you know governments should know that they have to make laws how to recycle and Well the EU waste in a good way and at this stage not all countries in the world have you know EU waste laws in place to you know What to collect and to recycle this EU waste and therefore it's very important still to raise awareness on this subject


Hi, well I'm Stephen Asherba, and I want to help you out a little bit with calculating the work associated with moving some molecules up gradient in terms of concentration. In other words, the work against a concentration gradient. So the physical situation here is, I just imagine I've got a box that's got a bunch of molecules. They saw you, molecules. And there's low concentration here, high concentration here, and the way we're going to do this is to calculate the Gibbs energy change associated with taking those molecules and kind of compressing a given number of molecules into a smaller and smaller space until we get up to that new concentration. So I've just imagined that I've gotten a certain number of molecules there at C1 and the very first step is going to be taking those molecules, putting them into a smaller space. Now, because I know that the Gibbs energy is H minus TS, and I'm saying that this is an isothermal process, and we're also going to say that the enthalpy, that it's an ideal solution. And what that means is that the change in Gibbs energy going from here to here would include a change in the enthalpy because it's ideal solutions. We're going to say that that goes away. And because it was an isothermal process, I just factor out that T. So I have the change in Gibbs energy and that little step is equal to minus the temperature times the change in the entropy. The next thing that we're going to do is going to use the differential equation of state for a change in entropy. And I've written it here as we know it. That's a Cv over T times the change in temperature. But of course, that's going to go away because it's isothermal. Second term in that differential equation of state should be alpha over kappa times dv over v. But we're assuming ideal solutes and we're sort of using the analogy of an ideal gas. So that would be alpha over kappa just became nr over v. So I've written it that way. Now another step in here is that since we're sort of thinking about these solutes, so it's kind of more convenient to think of that in terms of concentrations. So if I have a concentration here and it changes a little bit there, turns out since the concentration is just moles per volume, then the change, the relative change in volume dv over v turns out to be equal to the negative of the relative change in concentrations. That is to say, since volume here is getting smaller, the concentrations will get bigger in a relative sense. So if we put that all together, dg is, that was taken away because it was an ideal solute that just leaves minus t. That's that times the change in entropy which turned into that quantity there times nr. So that's that part there. So I have to change and give energy now and going from that tiny little step. And the minuses cancel out there and so I have nrt at the top and concentration at the bottom. So if I want to calculate the change in Gibbs energy resulting from that tiny little concentration going in that first step, I just take nrt divided by that concentration multiplied by the change in concentration. And of course, if we do that many steps, then if I want to calculate the accumulated change in the Gibbs energy, I just have to, you know, I'm going to integrate that and nrt will come out. I have that dg integrates out to a delta g. That is to say from here to here and the 1 over cdc integrates out to a log. So we end up with nrt log c2 over c1. So that's quite important there. The change in Gibbs energy just depends on nrt times the ratio of, the log of the ratio of the concentrations. One more note here. We've established previously that as long as that sequence of concentrations takes place reversibly and isothermally and isobarically, then we can say that that change in the Gibbs energy is the work that you would have to do in order to effect that concentrating process. So I just said that that's equal to w prime, the non-PV work. So this is basically our answer. If I want to get the work done by associated with, let's say, moving a molecule from this concentration to that concentration, I just say it's nrt times the log of c2 over c1 and that's the work that's done. Thanks.


self-control.  Oh shoot, I just did. So I'm just punished myself for engaging in the use of the term self-control. As you might imagine, I don't like the term. Why? Because I was trained by Dr. Brigham and I learned better than to use the term self-control. Why do you not want to use the term because you reify the damn thing and it becomes a hypothetical construct and then you use it as an explanatory fiction and it doesn't work. It's just like willpower, right? Stop using the term self-control and willpower. But what is it in a nutshell? It's a set of skills that you engage in to modify behavior but your own behavior, the baby. Ownership.  Anyway, so self-control, most people think of it as techniques that you use to modify your own and your own actions, right? Self-control, right? So I learned to control my own behavior. There's a reason why we prefer the term self-management. So look at the self-management definition and you'll understand why.


Hello, Osleigh the Sink here. Recently, Jeremy from Red Means Recording posted an excellent video all about Crel patches, a type of alien-sounding, self-playing, generative patch originally associated with West Coast synthesizers and in particular, Buchler systems, but which can be applied to a great many other electronic instruments. As an occasional purveyor of generative music, I'm a fan of the songs that the Crel can sing, and I've previously featured videos of various synths being patched this way. But one synth I've somehow managed to overlook for this task is the Artoria Minifreak, which is a crime, because it has a range of features that make it sit in only to the classic implementation of Crel patches, but also iterating on the core ideas to take the Crel to new Sonic and musical galaxies. Before we get started in the interests of transparency, Artoria kindly provided the Minifreak to me for free for the purposes of making videos on it, but they haven't ever asked for more if they've been given any editorial oversight into those videos. Time to go to space. So the general structure of a sort of classic Crel patch is this idea of a feedback loop between a cycling envelope, in this case a function generator, classically, which is articulating the sound by way of, at the very least, its volume, so it's essentially a volume envelope, and a source of randomness. And that source of randomness is being re-selected, the dice has been rolled again each time the cycling envelope completes a cycle, and then that source of randomness is used to affect at different aspects of the sound, its pitch, its tumbling, and so on. So I'm going to start by setting up that interaction between the source of randomness and the cycling envelope, and then we'll go on to sort of set up more of the sound side of things. And then once we've got that set up in a kind of a classic West Coast Buchler style Crel patch, we'll look at making use of particular features of the Minifreak to do other things with this idea in order to create other musical outcomes. The first thing that we're going to have to do here is make sure that the cycling envelope is going to be in charge of the volume of the patch, because by default the main envelope is what's defining the VCA shape, the volume envelope of our patch. And to do that we're going to do a sort of a semi-hack, which is that we're going to set our main envelope to be sort of as fully open as possible. So I'm going to set the attack down to instant, and the sustain to full. And I'm going to set the release sort of half-ish way up. And the reason I'm doing that is so that when we release a key, if there's still a cycle going on on the cycling envelope, we don't immediately sort of kill it off. We sort of have that gradual fade out, which is probably more sort of aesthetically pleasing. So we now have that sort of instant attack and sort of slow release going on there. So to get the cycling envelope to control the volume, the VCA on the patch, we need to assign it in the mod matrix. Now you'll notice that there's no knob here, which responds to the VCA amount. And unless you've read the manual, you might not be aware that there are some additional things that we can assign to in the mod matrix by holding down one of the assign buttons and then turning the preset knob. And one of those things, if we come down here, is the VCA. So we can select VCA. So now this is set to being the VCA. And if I assign our cycling envelope to that at 100%, it will essentially override what's going on here. So now the cycling envelope is doing our volume rather than the main envelope. For our purposes here, we also want it to be looping or running would be fine as well, but I'm going to go with loop here. So now we have a flexible kind of tremolo if you like. And you can hear when I release the note, we still get that fade out on the release. That's probably a bit too long. We'll probably shorten that a little bit. Yes, we still get that one sort of hanging over there. Okay, so that's Job 1. We have got the cycling envelope now in charge of the volume of the patch. So the next thing to do is come over and work out that feedback loop between the cycling envelope and the source of randomness. So our source of randomness is going to come from our LFO set into Sample and Hold mode. So I'm going to, so on LFO 1 at the moment, we're going to select Sample and Hold here. And I'm just going to slow it down to its absolute slowest. So strictly speaking, this could sort of re-trigger on its own, but running at the slowest, hopefully we can mostly avoid that. So I'm going to, just so we can hear it really obviously, assign that to pitch of both of our oscillators and I'll just put it on an octave. So 12 should give us an octave. And now if I play a note and hold it for long enough, eventually this pitch should change. So it is very slow, speed up a bit. Okay, so we can now hear that random LFO is affecting the pitch of our patch, but we don't want it to just sit and change independently. Instead, we want to emulate the idea of the end of cycle with our cycling envelope, so that each time a new note comes in, we get a new value on our source of randomness. And that's actually really easy to do on the minifreeks. There are some pretty flexible features when it comes to the triggering of the various modulation sources. So if we come into the sound edit menu here and make our way down to LFO, and come in here, and then in LFO 1 Retrick, I'm going to come in here at the moment it's set to Poly Keyboard, so there's essentially an LFO per keyboard. I'm going to come across here and I'm going to switch it over to Cycling Envelope, and this means that each time the Cycling Envelope goes round it's going to choose a new value. Also, while we're here, I'm going to do the same thing on LFO 2 because although on a music easel, I think you only have the one source of randomness. Let's have 2 here because it's an option. Why not? So we now have kind of the start of the Crel idea here, but the main thing that changes per note apart from anything else that gives it that kind of unpredictable feel is that the rise and fall of our Cycling Envelope or function generated, the attack and decay should be changing on each note, which then changes the length of each note as well as the articulation so we get a much more sort of chaotic feel. So let's assign some sources of randomness to the attack or the rise and fall as it's called here. So I'm going to assign rise here and assign fall here and I'm going to put LFO 1 on one of them and LFO 2 on the other one. I'm going to put LFO 1 on the fall possibly in an inverse amount so that higher notes are sort of pluckier and shorter. So when the LFO is going high, it's putting the pitch high and in that case I want this to be shorter so I want to send it low. So we'll come into here and we'll choose LFO 1 going to fall and we'll set that to a negative amount. I've got this set about halfway at the moment. So if I do this at just above 50 perhaps, somewhere around there I'll probably be okay. Now when I play a note we should get different decay characteristics per note. And you can hear those lower notes are naturally longer, right? Which is quite fun. And because we have two different sources of randomness let's spread them about a little bit. So let's use LFO 2 to go to the rise and again we'll... This one isn't assigned to anything else yet so I'm just going to go positive by... I'll say 40 or something. Let's do 40 and then let's set the rise down to 40 so we can get instant onset and now our patch is doing this. Which is fun. Right, so I want to move towards getting some more sort of timbre movement going on here rather than this sort of boring sawtooth wave thing. But there's a couple of things we need to fix up first. The first one is you might be able to hear on the attack portion sometimes there's this kind of jump going on. Which is a bit weird. That's just because I haven't set LFO 2 to be a slow sample and hold yet so let's do that. So LFO 2, sample and hold and set it super super slow. I should get rid of that weird jumping. Cool. And the other thing I want to do is just make the pitch range a little bit higher that's being picked out so maybe we'll go to... Let's go to two octaves for now. The first thing I want to do in terms of timbre movement is a really basic one and that's to get that low pass gate behaviour that you have on the west coast since. The low pass gate is basically a VCA and a low pass filter acting together so that brighter sounds are louder and when it gets quieter it also gets duller. So what we'll do here is we'll turn down the cutoff of the filter maybe to about there and then we just need to have the same thing that's modulating our VCA also modulate the filter which is our cycling envelope so we'll come up here cycling envelope to cutoff and give it 65 or something like that so we still take a bit of the top end. Yes, that's doing the trick. Right, so let's do this sort of bulk of the sound design because this sort of wave is very very boring. So on a music easel you have a wave folding type oscillator and then you also have a way to take that and feed it into a ring modulator or something that's doing FM and we can basically set that up exactly the same way on the mini freak here. So what we'll do is we'll set our first oscillator to be the well we've got a couple of different options that kind of do the right thing here so I'm going to go with the wave shaper to begin with and we'll see how that works out so you can hear that if we are modulating these things here we're going to get some interesting stuff happening so happy with that and then on oscillator 2 I'm going to set this right up at the end to the FM AM mode to make sure that the volume of this one is turned up and we have a couple of different controls here one is for the waveform and then we have a frequency mod amount and a ring mod and we can make use of those to get different time changes now if we're going to get the FM and ring mod to be doing interesting stuff we probably want to decouple the pitch of oscillator 1 and oscillator 2 so what I'm going to do here is in our mod matrix I'm going to get rid of the LFO going to pitch of 1 and 2 and instead I'm going to come into the second page of our assignable values and I'm going to set this first one to be the tuning of oscillator 1 and this one to be the tuning of oscillator 2 and then we'll use LFO 1 and LFO 2 going to each of those so that we can get all those kind of beautiful clangy kind of sounds happening so we can come over here and assign 1 we can go to pitch 1 or rather LFO 1 can go to pitch 1 sorry by 2 octaves and then we'll do the same thing LFO 2 going to pitch 2 by 2 octaves maybe just 1 octave no 2 octaves so now we should have these 2 different oscillators choosing different notes each time or different frequencies anyway I love those little short ones okay so let's get some more variation into the sound here and the obvious thing here is on our wave shaper let's send a one of our LFOs into the I think it's the timbre control which is the sort of shaping amount so we'll set this sort of whole range is good I think there so we'll set that in the middle and then we'll maybe use LFO let's use LFO 2 to go into there so timbre 1 LFO 2 by 50 so it's that whole range cool what does the wave control sound like and it's also doing stuff that I like perhaps we can have between that random or do I want the cycling envelope doing that for sure let's maybe just try sending LFO 2 to that as well first of all so set that somewhere in the middle LFO 2 to wave on oscillator 1 let's see how that works I'm not sure let's try the cycling envelope to that instead so cycling envelope to wave maybe turn it down a bit more that's more the thing isn't it yeah that's definitely more isn't it yeah the aliens are singing a bit more now so on oscillator 2 we have our FM and ring mod so let's just try turning up the ring mod amount here just to see how that sounds kind of harsh but there's some interesting things to be over there maybe just the lower yeah maybe set that lower and just have it move around a little bit with one of the LFOs so let's assign shape there to LFO 1 and only by like set to 12 so maybe like by 9 just turn it down a bit a bit of FM in there as well just for yeah and we're basically at that kind of keyhole place except for this is a really crucial thing we need reverb of course we need reverb so I'm just going to come down to the final effects slot here choose reverb and I don't know what type to go for I quite like the dark room one let's see how that sounds should we change the tuning of one of these to be much lower set that lower and then have the amount that it changes by be higher make everything a bit darker of course we can have multiple notes happening at once and certainly the aliens are talking now okay we'll push this a little bit further in just a second with some of the other features on the mini freak but first I just want to come in here and I want to turn on the delay and we'll go with a filtered ping-pong I think is a nice one yeah okay right yeah that's feeling fun so let's see how we can apply some of the additional features on the mini freak to take this to other musical places I think there is a to be fair reasonable criticism that could be levied towards krill kind of patches which is that they're not very conventionally musical I don't think that's necessarily an unfair thing to say so what I'd like to do is try and make this patch as it is more conventionally musical and there's a fantastic feature on the mini freak that allows us to do this because what we have on the mini freak is a way to quantize incoming modulation pitch modulation to each of the two oscillators and we can actually do that separately from one another as well so if we can quantize this random pitch information to a scale or to possibly two different scales we might be able to get something which is more conventionally musical so if we come into the sound edit here and come into pitch we have osc one quant and osc two mod quant so what I'm going to do is I'm going to come into here and at the moment it's set to continuous which means we can get a continuous modulation so we're getting frequencies in between notes but we can set this to be chromatic octaves fifths and a various different other scales in here so what I'm going to do is I'm going to set this one which is oscillator one to be a minor pentatonic, yeah let's try that so now one of our oscillators is staying still musically in tune but the other one isn't but already it kind of sounds a little bit more obviously musical so for this oscillator two because we've got ring mod going on in here we probably want to be sorry that was just a cool sound we probably want to be slightly more careful when it comes to the range of notes that we choose so rather than going with one even one of the pentatonic I'm just going to set this one to fifths so it's just octaves and fifths which should always be consonant with what's going on and should sound good with the ring mod in most cases it might even allow us to push the ring mod a little bit higher and I can bring in another note as well an octave or two or three get it loud there now the krull are singing but they're singing in a conventional goodness me western musical sound they've learned which is nice of them so yeah we can take this krull patch and quantize the pitch information so that we get something which is more sort of conventionally musical if that's what you're going for the other thing which is definitely worth giving a go is not being beholden to the synthesizer structure of a book club musicies and where you have the way forwarding complex oscillator running into an FME ring moddie type thing we can do other stuff we have a bunch of different options on many freaks so we should definitely think about exploring them so one thing I think might sound pretty cool is maybe having oscillator one be our where are we carplus strong and oscillator two a comb filter maybe we don't set this at full wet here go 50% let's haven't changed anything else yet so let's just see how that sounds and we can tweak as we go yeah I mean that's that's instantly really appealing to me let's see what we can tweak here so let's have a look again a bit there cool we've got here that's super cool I'm glad I tried that that wasn't planned this needs distortion doesn't it you need to slap some distortion at the front end of this so we're going to distortion mode here it's going to be too loud when we first turn it up turn the gain down whoa one of the other distortion modes so cool this needs more reverb so cool goodness me amazing okay I'm almost tempted to say that's a separate patch I can come back to it and let's turn off the distortion let's have a look at what other things we can do I quite like the idea of having the second oscillator being one of our let's try the phaser filter and let's run the arm filter into here that might be fun no let's go with saw racks let's put this distortion back on what about what about the 2 op FM this is going to be too weird because we're messing with the wave which is the tuning fun though whoa how about speech is this going to work once it finishes the word it's not going to do it anymore so let's try to form it and then here let's try the distortion mode all of you sing together the one thing that we're missing the one thing that we're missing on the minifreak unfortunately is panning per voice because if these were happening in different places on the stereo spread that would be epic but good fun I love those little short ones just bring the fall down and maybe set it to be the more exponential if you want a more musical in terms of harmony outcome from a crawl patch we can do that and moving away from the music ease or setup of the sounds can yield really interesting results I'm going to sit and play with this for a while but I have that was interesting and I encourage you to go and try out your own crawl on the minifreak let me know what combinations of oscillators you found worked for you in the comments as always thank you so much for joining me and until next time take care bye bye


I'm Poonamaru and I'm a Permanente physician practicing internal medicine. So traditionally you'd have to come into the office to get any questions, concerns, or medical conditions addressed. And sometimes even for refills of medications you'd have to come into the office. I think Kaiser Permanente is transforming the way that we provide care to patients. So for example, I love doing video visits with my patients. They can be in bed asking me questions or they can think out of work or sometimes just pull over in their car. And they can ask me all of the questions that they need and do a complete visit. I was seeing a young gentleman, he was 41 with very uncontrolled diabetes. So when I started seeing him I asked him if he felt comfortable using the KP app to stay in touch with me and work together. So over time every two weeks I did a video visit with him. The day before he would email me his blood sugar readings and I would adjust his insulin, make sure that he wasn't having any low blood sugar events.  But when you have an external motivator like that and someone kind of nudging you to keep doing things, we were able to get his diabetes under much better control for the first time in about six or seven years. I don't know if I really would have been able to do that outside of Kaiser Permanente or the use of telemedicine. I really feel for my patients who have to take a few hours off and sometimes they can't even afford to. I feel like I'm still providing really great care or even better care actually, the way the patient wants it and the way the patient needs it.


Hi, I'm Zor. Welcome to Unisor Education. I would like to continue talking about improper integrals, basically a couple of examples for this lecture. This lecture is part of the course of advanced mathematics for teenagers and high school students. I suggest you to watch this lecture from Unisor.com website, although I'm sure you can find it on YouTube etc. but the website gives you detailed notes for each lecture as well as the ability to take exams, for instance, for any topic. So, I have four different examples of definite integrals which can be called improper because of certain infinities either at the limits or at the values of the function. So, example number one, integral from 0 to 1 to x1 over x2 dx. Now, what's improper for this particular integral? Well, look, we have this denominator which as x approaching 1 it goes to 0. So, if denominator goes to 0, 2x is basically something around number 2, obviously, if x goes to 1. So, we have an infinity. Now, how can we deal with this particular integral considering we have this infinity? So, the function goes to infinity right near the margin. So, it basically asymptotically goes to infinity. Well, obviously, we have to convert it into a limit because this is a definition of improper integral. We go to b where b goes to 1 of this function. So, that's the definition in this particular case because we cannot define this particular function on this segment using dividing the interval of integration into smaller intervals and when the number of intervals goes to infinity and the size of intervals goes to 0, then we can talk about the Riemann sums, so to speak. Now, there are no Riemann sums if this is going to infinity. The function goes to infinity on this segment. So, we have converted into this because on this particular segment, now when b is approaching 1, I'm obviously talking about b approaching to 1 from the left. Sometimes, you can put 1 minus 0, which basically means the same thing, approaching from the left. So, in any case, let's try to find this particular integral. Now, this is a proper integral which we can use formula of Newton-Leibniz to integrate it. So, that's equal to limit b goes to 1. Now, how can we integrate this? Well, let's just, again, make a little intelligent guess. See, 2x is x square derivative, right? Which means I can combine 2x and dx and replace it with d of x square divided by 1 minus x square, right? Now, why did I do this? Well, because now I have a much simpler expression based on x square. So, now, how can I proceed further? Well, I'll just make a substitution. Now, if x is equal to 0, t is equal to 0, if x is equal to b, t is equal to b square, right? So, I have replaced, I made this substitution. So, differential is this, 1 minus x square is this, but my limits are different because limits of the t, if x from 0 to b, for the t, it will be from 0 to b square, right? All right. Now, this is something relatively familiar because it's equal to limit b goes to 1. Now, what is this? Now, you remember that derivative of 1 over t is natural logarithm. So, derivative of 1 minus, 1 divided by 1 minus t would be natural logarithm of 1 minus t with a sine minus, right? Because it's a minus. So, derivative of logarithm of this would be 1 over 1 minus t times derivative of minus t, which is minus. And we have to substitute various from 0 to b square, right? So, this is my indefinite integral from d t over 1 minus t minus logarithm of this. So, now, all I have to do is substitute and the substitution will be, limit b is equal, goes to 1. Now, if I will substitute b square, I will have minus logarithm of 1 minus b square, right? Minus, which means plus because this is a minus, logarithm of 1, right? When t is equal to 0. So, logarithm of 1 is 1 second. Did I make a mistake? Because that goes to infinity, actually. Okay. So, this is 0, right? And when b goes to 1, 1 minus b square goes to 0, which means logarithm goes to... So, this would be infinitesimal value, right? And the logarithm, you remember the function logarithm? When my argument goes to 0, logarithm goes to minus infinity. So, this would be not convergent number. So, it will be infinity, which means that the whole integral is non-convergent. So, this is an example of a non-convergent integral. And the answer is, there is no answer. Well, sometimes people can say this is infinity because this is minus infinity and this is minus, so it's a plus infinity. So, you can say that. However, I probably would prefer that instead of saying that integral is equal to infinity. Quite frankly, it's much better to say integral is non-convergent. So, basically, there is no limit and there is no value. Next. Next is integral from 1 to infinity sine of 1 over x divided by x square dx. Now, here also I'm kind of making this thing a little simpler because you remember that 1 over x is equal to minus 1 over x square, right? So, derivative from 1 over x is, which means that this is equal to minus integral from 1 to infinity sine of 1x d of 1x, right? Differential of 1x is the derivative, which is this, times dx. So, that's why we have it in the denominator. And since it's minus, I have to neutralize this minus, that's why I put minus here. Now, in turn, what is sine t times dt? Well, this is a differential of cosine t with a minus sign, right? Because what is the derivative from a cosine?  So, now, instead of basically t, I have 1 over x, which doesn't really matter. So, I can say this is integral from 1 to infinity, this minus. And if I will put d cosine of 1 over x, it will negate this minus, right? So, it's the derivative from a cosine is minus sine and this minus will be plus, that's why I have plus, which is equal to, okay? Now, let's do this limit thing. Limit b goes to infinity. And since I already have a differential, I know what's my derivative in definite integral. So, it's cosine 1 over x. Yeah, from b to 1. All right. Now, if I substitute b, it will be cosine of limit b goes to infinity, cosine 1 over b minus and if it's 1, it would be cosine of 1. Now, what is this? Now, this is the constant, that's why it's outside of the limit. So, when b goes to infinity, my 1 over b goes to 0. So, cosine goes to cosine of 0, which is 1, right? So, the whole thing would be, therefore, 1 minus cosine of 1. That's the answer. Okay, next. Okay, next is a couple of problems which are actually related. Here is what I wanted to do. I wanted to investigate how the function y is equal to x to the power of a integrated. Well, you see, we have this is infinity and this is infinity, right? Now, I'm obviously talking for a negative a in this particular case because for positive a, we don't have obviously convergent results, right? With a positive a, it goes like this. So, obviously, integral to infinity would not converge to any number and it's not really interesting, right? So, we're talking about negative a. All right. So, for instance, we have 1 over x, right? One of the examples. Another example is 1 over x square. 1 over x square goes like this. It's higher there and lower here, which means this piece should be smaller as far as compared with 1 over x. But this piece from 0 to 1, the area under the curve should be bigger. Or we can have something like this. Let's say it's 1 over square root of x. This is 1 over x square and this is 1 over square. So, it's higher than 1 over x in infinity, but lower than 1 over x when it's close to 0. So, my question is, you see, considering we have infinity here and infinity there, I don't want to deal with two infinities. I would like to deal with only one. So, I will divide this problem into two. So, my first problem is this one. So, I'm investigating this function, integrability of this function from 1 to infinity. And then my second problem would be from 0 to 1. All right. So, that's my preamble to this problem, to these two problems. So, right now, we're talking about integral from 1 to infinity of x to the power of a dx. Okay. Obviously, let's do what we know how to approach it, right? So, it's limit from 1 to b as b goes to infinity x to the power of a dx. Okay. So, now it's a definite integral with concrete margins from 1 to b and we can very easily basically do the whole thing, right? So, what is the b? What is the indefinite integral? Well, obviously, it's x to the power a plus 1 divided by a plus 1, right? Because derivative of x to the power of a plus 1 is equal to a plus 1 times x to the power of a and it will cancel this a plus 1. So, I will have only x to the power of a. So, this is the correct formula. But is it always correct? Well, first of all, we do know that we are talking about a less than 0. However, there is one point which is a is equal to minus 1, which is not exactly the good one in this case, right? So, it's not really working always. Okay. So, let's put a not equal to minus 1. So, we are talking about function at the power of a for all negative a except 1 over x, right? When a is equal to minus 1, it's 1 over x. And you remember that in this case, the integral is equal to logarithm x. But let's just consider it later on. So, now, my question is, and we have to substitute b and 1, right? Alright. So, what is this? It's limit b goes to infinity b to the power a plus 1 divided by a plus 1 minus 1 to the power of a plus 1, which is 1. Or if you wish, I can take 1 over a plus 1 outside of the limit. And in the limit, I can put b to the power b to the power a plus 1 minus 1, right? 1 over a plus 1 is outside. Now, what is this? b goes to infinity. So, it's infinitely growing variable. If this power is positive, then infinitely growing number, the positive power will be infinitely growing, right? We need this power to be negative to bring down this, this growth, right? Because if this is negative, it's actually like 1 over something in a positive degree. So, it will be infinitesimal variable. So, 1 over infinitely growing would be infinitesimal. You understand that, right? So, basically, our condition is if a plus 1 is less than 0, if it's negative, then and only then this integral has a limit because this thing would go to 0. It would be infinitesimal b to the power a plus 1, where a plus 1 is negative and b is infinitely growing would be infinitely growing denominator, right? So, that would be 0. So, the result would be minus 1 over a plus 1. So, that's my result. If a plus 1 is negative, then this particular integral is equal to this value. However, we have forgotten.  That's the same thing. Now, b did not really cover a is equal to minus 1. So, for a less than minus 1, this is the correct result. How about for a equals to minus 1? What do I have in this case? Well, in this case, I have 1 over x, right? For a is equal to minus 1. And in this case, my indefinite integral would be logarithm x because derivative of logarithm is 1 over x. Now, if I will substitute b, I will have and if I will substitute 1, I will have logarithm of 1, which is 0. And what is this? Well, logarithm b if b goes to infinity, the function of logarithm, if you remember, logarithm goes to infinity. So, my integral is not converging. So, there is no value. So, this particular value a is equal to minus 1. That's when it's not integrable. So, only for a is less than minus 1. This integral actually exists. And let me just as an example, as an example, give you a concrete value. If a is equal to minus 2, for instance, which is less than minus 1, the integral is equal to now a is equal to minus 2.  So, integral, so this is 1 over x square from 1 to infinity, this area is equal to 1. If a is equal to minus 3, for instance, I will have one half. It would be even closer to x axis in this case. So, it would be half of this area. All right. Okay, fine. Let's do the next problem. And the next problem is, instead of limits from 1 to infinity, I will have from 0 to 1. Now, again, in this case, it's not interesting actually to consider positive a, because in this case, oh, sorry, because in this particular case, obviously, the integral would be definite and proper, right? So, we are not talking about positive a. We are talking about negative to get the infinity here. And we are talking about this area from 0 to 1, but this is infinity. So, we have a problem. We have improper integral. So, in this particular case, we can say that this is limit from b to 1 x to the power of a dx. Now, again, they are considering these and again, let's consider the case when a is not equal to minus 1, in which case I can say exactly the same thing as in the previous case that this is, I forgot the word limit here, as b goes to 0, limit b goes to 0. And what's the indefinite integral? x to the power a plus 1 over a plus 1 from b to 1, okay? So, from 1 over a plus 1, right? If we want, if I substitute 1, minus b to the power of a plus 1 divided by a plus 1. Again, let me factor out 1 over a plus 1 and I will have 1 minus limit b to the power a plus 1 divided by, not divided, b goes to 0. Now, b goes to 0. So, b is infinitesimal, variable. If a plus 1 is greater than 0, or even equal to 0 actually, then infinitesimal, no, let me just forget about equal to 0. If it's greater than 0, so this is the positive power and this is infinitesimal variable because b goes to 0. So, whenever I'm raising my infinitesimal variable into the positive power, it's still infinitesimal. So, under this condition, this thing is infinitesimal and limit is equal to 0, so my result would be 1 over a plus 1. Now, I specifically did not put 0 here because that means a is equal to minus 1 and we have agreed that this is not the case, right? So, a is greater than minus 1, or if you wish from minus 1 to 0, since the positive a we don't consider at all because it's a trivial case, we are considering always over a negative a, but in this case it's greater than minus 0, so from minus 0 to 0. Now, let's consider minus 0 separately. Now, if we consider minus 0 separately, then we will have here logarithm x, right? If a is equal to minus 1. Now, logarithm x, if we will put 1, it would be logarithm of 1 would be 0, but if we will put b and b is infinitesimal, so what happens is again, this is logarithm. If b goes to 0, logarithm goes to infinity, which means there is no limit, which means integral is not convergent to any real value. So, basically this is excluded case and the correct is only this one. So, the whole thing, the whole integral is equal to 1 over a plus 1, but only if a greater than minus 1. For instance, greater than minus 1, for instance, minus 1 half, just as an example, what happens if a is equal to 1 half, minus 1 half, I mean. So, integral from 1 to 0 to 1, x to the power minus 1 half g x, it's integral from 0 to 1, 1 over square root of x g x. Now, if a is equal to minus 1 half, that would be 1 half, it would be 2. So, that's the answer. And again, remember this graph, this is 1 over square root of x. It's higher, this is 1 over x. So, it's higher than 1 over x from 1 to infinity, but it's lower than 1 over x from 0 to 1. So, what's interesting is, 1 over x is divergent on both plus infinity and 0. So, both integrals from 0 to 1 and from 1 to 0 are not convergent for 1 over x. But for those curves, which are slightly turned over 0.1, 0.1, in this way, which means it's higher than 1 over x on the infinity, but lower than 1 over x close to 0, these are convergent here and divergent there. The opposite thing, like this one, like 1 over x square, which is lower than 1 over x on infinity, but higher when it goes to 0, then it's convergent in this case and divergent from 0 to 1. So, this is something which you can feel about all these integrals when they are convergent and under what circumstances. So, these are very typical examples. And you can always think about if function behaves like 1 over A x, A x plus B, and you can even put a constant C here, whatever, doesn't matter. If it's something like this, it will be divergent everywhere. Now, if you have some degree here, some kind of a polynomial, let's say, of degree greater than 1, then it will be convergent on the infinity, but it will divergent from 0, around 0. And vice versa, if you have something like lower than 1 degree here, again, plus constant, whatever it is, then it's vice versa. It will be divergent here, but convergent around 0. All right, so these are just examples of improper integrals and how to approach them. Basically, again, all about the limits here. It's not a big deal, really. I would suggest you to go through these examples just by yourself. They are obviously on Unizor.com. Check if you have the same answers. And well, that's it. Thank you very much and good luck.


Is the differential equation ordinary or partial? Partial differential equations describe multi-dimensional problems and are significantly more complex. Of which order is the differential equation? First order differential equations are usually easy to solve and describe, for example, exponential behavior such as radioactive decay or the cooling of a liquid. Differential equations of second order on the other hand are somewhat more complex and also often occur in nature. Maxwell's equations of electrodynamics, Schrodinger's equation of quantum mechanics, these are all second-order differential equations. Only starting from the second order a differential equation can describe in oscillation and only starting from the third order a differential equation can describe chaos. Is the differential equation linear or nonlinear? The superposition principle applies to linear differential equations which is incredibly useful, for example, in the description of electromagnetic phenomena. Nonlinear differential equations are much more complex and occur, for example, in nonlinear electronics in the description of superconducting currents. Moreover, chaos can only occur in nonlinear differential equations of third order and higher. When you encounter such an equation sometimes the only thing you can do is throw away your pen and paper and solve the equation numerically on the computer. Many nonlinear differential equations cannot even be solved analytically. Is the linear differential equation homogeneous or inhomogeneous? Homogeneous linear differential equations are simpler than inhomogeneous ones and describe, for example, an undisturbed oscillation while inhomogeneous differential equations are also able to describe externally disturbed oscillations. First, let's learn how to answer these questions. After you have classified a differential equation you can then specifically apply an appropriate method to solve the equation. Even if there is no specific solving method you will know how complex a differential equation is based on the classification. Our equation for the oscillating mass is an ordinary differential equation. Ordinary means that the function y we are looking for only depends on one variable, in this case on the time t. The wave equation on the other hand is a partial differential equation. Partial means that the searched function e depends on at least two variables and derivatives with respect to these variables occur in the equation. In this case, e depends on four variables t, x, y and z and in the differential equation also derivatives with respect to t, x, y, z appear. Furthermore, our equation for the oscillating mass is a differential equation of second order. The order of the differential equation is the highest occurring derivative of the searched function. Since in our equation the second derivative of y is the highest one, this is therefore the second order differential equation. The differential equation for the radioactive decay law on the other hand is a first order differential equation because the highest occurring derivative of the search function n is the first derivative. Moreover, our equation for the oscillating mass is linear. Linear means that the searched function and its derivatives contain only powers of one and there occur no products of derivatives with the function like y squared or y times the second derivative of y. There also occur no composed functions like sine of y or square root of y. Note that to the power of two in the second derivative in the Leibniz notation is not a power of the derivative but merely a notation that it is the second derivative. The radioactive decay law is also linear. What about the wave equation? It is also linear. The coupled differential equation system for the motion of a mass and the gravitational field on the other hand is non-linear. Here the searched functions x, y and z occur in quadratic form but even if the squares were not there, there would still be the square root and the fraction which make the differential equation system non-linear. In the next types of differential equations the coefficients multiplied by the searched function and its derivatives are important. In some solving methods it is important to distinguish between constant coefficients and non-constant coefficients. Constant coefficients do not depend on the variables on which the searched function depends. Non-constant coefficients do depend on the variables on which the searched function depends. A coefficient must not necessarily be multiplied with the searched function or its derivative. It can also stand alone. In this case we call the single coefficient a perturbation function. In our differential equation for the oscillating mass there is a constant coefficient which is multiplied by the searched function y namely d over m.  If the perturbation function is 0 then we call the linear differential equation homogeneous. So the differential equation for the oscillating mass is a homogeneous differential equation. The wave equation is also homogeneous because here there is also no single coefficient. The perturbation function is 0. The differential equation for a forced oscillation on the other hand is inhomogeneous. Here the external force f corresponds to the perturbation function. As you can see it stands alone without being multiplied by the function y or its derivatives. Moreover the perturbation function f is time dependent so it is a non-constant coefficient.