Now in, no, excellent, okay, here we go. Hello everyone. Quite recently, I got in my hands a notebook. A notebook coming probably from some embedded project. It was a diary of someone who was in my opinion and security expert in that project. I looked into the, I told myself it's a great material to talk about best practices in choosing software for your embedded product. I'm pretty sure nobody of you worked on that specific product. So if the stories look familiar, it is not your product. Okay, project starts on day one, right? So let's see what we have on day one. The project started. I got the list of components. The BSP uses the kernel 2.6. Yeah, we sometimes start projects from scratch and choosing the components from Groundsapp. But that is the minority of cases from my experience. Usually you either are building on top of some existing project with some existing hardware support or there is some component to use in that specific project or especially those days, there is something the procuring team can actually buy. So you have some system on chip that is there from the beginning. And what do a security person start from in this case? Asking a lot of questions. Is the socket self support integrated in the Linux mainline? Is it? Does it have correct device trees? And then we'll start looking to the quality of that code itself. There's the socket self, they are peripherals in that sock and the same type of questions. Do they have upstream drivers? Or there's some vendor non-steam drivers somewhere in some tariff file that was delivered one day. Then for which version does it work? And just a short look at the file gives us a hint on the quality. There's the code itself, the SOC support itself, but also the integration. Integration in distributions, all the drip distribution building system. What I like to ask as a question, is there a well-supported Yocto layer for this specific BSP? And the first quality check, does it pass the Yocto check layer? If answers to all those questions are mostly negative, time to go find some other chip and convince everyone that the new one is exactly what they need to have. At day one. Yeah, you have the chip. Of course, you repeat the same thing for all the external chips like the Wi-Fi and everything else. You've got the idea. But also you have the features that the project, the product is going to have. I'm a networking person, so I'm looking at networking first. To have network protocols and do all the network protocols in this project have encryption and authentication. If TLS, if it's TLS 1.2 or TLS 1.3, something else, try to remove it. And then quite many devices nowadays, they do have cloud functions. If you have cloud functions, you will be quite often also in the data privacy regulation space. So go and talk to lawyers. But from the security point of view, first big question is, are you going to transfer user data somewhere? If yes, how are we going to protect it? Big question to ask and not hesitate to ask difficult questions at this stage. Then the project usually has some libraries or APIs that I must have for one reason or another. So verifying what this is in your product, project useful from the beginning. And then the final question that isn't that easy is how long your product is going to be supported. Probably there will be some idea at the beginning, but how long it could change during the lifetime. It could change because of some regulations. So think about in practice, how long you are going to support the whole thing and write the number of years in a well-visible place because we'll need it a lot at different stages. And one small side note here about the vocabulary I use about maintained and supported. Those are synonyms. How I use them through this presentation is, maintained means, we talk about maintained projects. Maintained project is a project where someone is taking care of the project. Someone is accepting user requests, some bugs, poor requests, there's some activity. And then you have a supported version. Supported version is a version that actually gets updates, me mostly interested by security updates, but also bug fixes. And this is usually for a limited period of time only. So what you may have, you may have a well-maintained project that you use, but you use a completely unsupported version. Of course, something to avoid. Or you may be using an unsupported version of a non-maintained project. And that we try to avoid. Okay, let's go back to our diary. Day three. This is the second day discussing the distribution to use. Currently, the most popular option is not to use any at all. What I was thinking is that they probably decided to grab a few packages from the internet, compile them and just drop on the device, right? My answer to that, say no to do it yourself, especially when choosing distributions. Why? Because then you maintain it and you support it, basically. So when choosing a distribution, my first question is, how they support it? So how frequently do you get security updates? That's the question one. Question zero is, do they have security updates? And then how frequently security updates all? Are there known long-standing security issues? It's also an interesting question to ask. And usually at this moment, people start to hide. Then how long is the version supported? And then you go back to day one and see for how long you are going to support your project. And you check if those two ranges actually match each other. And of course, the related question is if the distribution has a long-time support version or not. If it has, normally it means it will be supported for a little bit longer. Taking into account that if your product is going to be supported longer than the distribution supports, this long-time support version, what it means, you are going to maintain it later. Yeah! On the binary or source distribution, it depends. It depends on quite many things. So if you're using source, you have a choice, for example, to use the Yocto project on the related distributions or bid route. On binary, I have seen quite many people using Debian on Ubuntu, Ubuntu especially in the robotics space. So let's get an example of how we analyze of what we see. This is an extract of the Yocto project releases page. So what we can see here. We have two LTS versions, Danfra and Kirkstone. And we have an upcoming new version that will be out. If you are familiar with this Viki page, there are all the releases in between Danfra and Kirkstone. They are not supported anymore. Means no security fixes whatsoever. If you have a product running, one of them do something. For a new product, what would be the choice to take those days? If you have already something in development for running Danfra, that's okay to keep it. At least until 24, that should be okay for the security updates. But if you are starting right now, I would rather recommend you to go with Kirkstone if you want to release rapidly. And if you have courage to follow the Yocto master, not go to the, with the latest version that will be just supported for some time, but just follow the master until the next LTS. Personal recommendations at this stage. Okay, let's come back to another entry. Day 17, today only five new layers appeared. This is better than yesterday. I would assume that they came with Yocto. What is the very good point of the Yocto project that it's easy to add layers? What is less liked by the security people and the maintenance people that it's harder to remove stuff that you do not actually need? So my advice for everyone adding layers or thinking about adding layers is to first ask yourself a question, do I actually need it? And then look at the quality, if it's Yocto project compatible, in this case, less problems on your way. And of course, is it maintained? Now, let's have an example. Someone wanted to include something that included Metasecure call. So the first analysis is on GitHub, but a glitch, it looks like a personal project of someone when you look at the GitHub link, right? So this is not a very good sign because what happens if that person moves away? It means that there's no direct assignment to an organization, it could be problematic. So a warning sign. Then we'll look at the statistics of the project itself. So at the number of commits, the clicker doesn't want to, you have hundreds of commits here. You have quite many folks, you have quite many stars on GitHub. And from all the sources, we know that it's pretty used layer in the area. So this is something acceptable with a warning that if something happens to the maintainer, it may be your problem. Another way of evaluating projects, certain programs, the best practices badge from OpenSSF, it gives you a number of criterias on different areas related to quality and security in general. Projects can get badges, you have spacing and you can get safer on gold level depending on the criteria they pass. The project itself needs to apply for the badge and they need to fill my form, give the information to fulfill the criteria. And let's have a look at some of the criterias. For example, it says that you need to have a bag, you may most have a process for the users to submit bags, quite obvious but necessary. And the project should be tracking individual issues as individual bags, okay. But also the project must acknowledge a majority of bags submitted in the last two to 12 months. Interesting. At least acknowledge bags that they are here, maybe not actually act on it. My personal feedback on using best practices it's a very useful tool because some of the information that is there is not available anywhere else in an easy to grab form. For example, there are questions about the static analysis tools and I do not know any place other than that where you can just look if that specific project uses static analysis and how it uses it. So very rich database of information and more than 5,000 projects those days. Okay, let's come back. We are day 27. I said no to adding one small component, checked. It was bringing eight new libraries. Yeah, unfortunately that is something that happens. One component bringing components that are bringing components. And I have a question. Yeah, this is day of hard questions. Do you know how many components that are in your project? Maybe, maybe you have an idea. If you don't, what can you do? If you are not sure, what you can do? Generate package list from your project and check it from time to time. The package list doubling in size in one day is a bad sign. Then if you are using your project there are few useful tools that you can have especially if you are monitoring from a CA1 to CA1. Bit back minus G with the dependency graph. Security people love looking at dependency graph and getting headache after analyzing what they see. Then the CV check giving you the non-security issues in your image also different when possible and the create as pediatrics for the S-bomb. Three useful tools to have when looking at what you actually have in your project. Let's go to some examples maybe. So I was looking over my morning coffee on the fresh package list and there was Leap Micro HDPD. Hmm, looks like a web server. And where does it come from? And not only this, there was some unexpected crypto libraries after I have been working for some time to remove the crypto libraries that we do not use. So what's going on? I'm not putting the whole dependency chain because it's a bit more complex. The crypto leaps were used by Leap Micro HDPD that was brought in by Debug and 4D that came from Elfutiles. Okay. Okay, asking around, does anyone use it in the project? No? Okay, let's get rid of it. And how easy? It's really easy when you know what you want to remove. In this case, it's one configuration option in Elfutiles that you need to remove and in the recipe, in the yachter, it's all already prepared. You just need to remove one distro feature. Done, removed, all this gone. And if you have analyzed the dependency chain, you manage to remove things. Most of the time I'm spending as a security person is actually on analyzing the dependency chains and finding out why it shows up here and if we can actually remove it. And one more example, a pretty recent one. The Oniroproject works on enabling S-Bomb generation by default all the time. That we can say that it was a little bit of an interesting ride, especially with some less frequent to use layers like Metazephyl, but all fixes are out, let's say a little bit work around it in some places, but still it works. You can watch quite many talks at this conference talking about generating S-Bomb. But what we decided to do is to go one step further actually use the S-Bomb. Yeah, use the S-Bomb. So we gave the S-Bomb to lawyers to the IP compliance check. And as a result, we have a nice discussion, started yesterday on the October project mailing list because they found out that there are a few things missing in the reporting. So they cannot do the composition analysis as they would like to do, but there are a lot of ways apparently to get the missing information. So it's a pretty exciting and nice use case of S-Bombs and actually using them in practice. So I'm pretty interested to see how it ends up and what we are going to add so that this particular use case is satisfied. Okay. Let's go now back to the diary. We are at day 79. Finally, a discussion on updates. I asked from day 11, updates, three months in the project, I would say it should be like that. It should be like that because it's critical. I will be very verbatim here, updates are critical because even the best design project with best people, they will be back. And when the device is deployed, an update is probably the only way you can remove the problem other than destroying the device, of course. So I'm not telling you which other system to use. I'm telling you to look into the scope of the system you are looking into. Does it allow you to update the firmware? And which firmware? If there may be the SOC firmware, there may be firmware for some Wi-Fi or some other elements that you have. Does it allow you to update bootloaders? Because updating bootloaders is typically a pretty tricky thing. And you need to prepare for both update of firmware and update of bootloaders. If you start adding it late in the process, this is going to be complex. And of course, the two other things, updating the kernel applications and of course the file system. Yeah, quite many things that we need to consider when updating as early as possible. And then we come to the, yeah, that is the last entry in the diary. Day 97, two weeks to the release. And there is some name that I couldn't read. Wants to try adding secure boot. To that, I will answer, okay, first, I will answer that we do not do it two weeks before the release. And then I will answer it with a citation. Do or do not, do not try, especially with secure boot. So secure boot is added for a number of reasons. Some of them are very good reasons. Some of them have other solutions. Examples, you can be adding secure boot because you want to protect the device from accidental removal of keys. That something bad happens and the keys just disappear. You may want to encrypt user data because it's some confidential information in there. But you may want to also protect against a little way more sophisticated things like someone resoldering the EMMC or Flash on the cart and putting a malicious software instead. Or you may have an application typically in the T that must not be changed. Protecting against resoldered Flash or for example, it's a very good case to actually do the full complete secure boot. If you want to just protect your for some accidents and not really from malicious users, there are easier things that you can do. Do not need to bring a secure boot that is not that easy to put in place. My advice summarized on one slide. It's very easy to build secure boot broken from the beginning. It's a chain. It's not just another package you add somewhere. Unfortunately, those days, people are working to make it easier but it's still a little bit complex and requires understanding on different elements of the chain and how they interact with each other. It needs to be taken into account early for quite many different things like partitioning the updates. I was at the previous talk about Delta updates and I was thinking, okay, secure boot on with the Delta updates on all the recalculations that you need to do. I thought it is to work cool. And you have the key. You have the key on multiple keys and the big question of user keys on the machine on this key. If you're going to have it and how it's going to work. If there is a reference implementation for your platform and you want to implement secure boot, start from the reference implementation. And at the last point, I'm not joking. That is really what I strongly recommend. If you implement secure boot, get an external update. It's too easy to make it wrong, use the wrong key or just forget to re-inertialize something. Very easy to just miss it and then your whole secure boot chain, it doesn't work. So it doesn't make sense to let that kind of an easy error to pass through. I don't know how this project has ended. It ends, the diary ends at the secure boot. So you understand now why I was thinking that nobody of you was working on that project. Even if you were, keep it to yourself. There are way more stories we can find from this project than another, I think. For the part two, for the sequel, we have a setting up of network protocols, especially do it yourself, network protocols. That is especially cool. And protocols without encryption, even better. We have how to update both support packages, how to we back both security patches and what happens if it goes wrong. And we have the security response team. So a lot of material for part two. But now for the part one, my takeaways. Security depends on most of the decisions you take in the project and the choice of different components you have in a project. Evaluating the software is absolutely the key to everything. And the first question to ask yourself before adding anything, do I need it? And the second one is, does it have security updates? I also recommend you to have a look at the guide on evaluating open source software just released by the Open Source Security Foundation. As a full disclosure, I'm one of the co-authors. And that is not the only reason why I recommend it. It contains a nice list of questions to ask yourself for each single package it contains. And that will be time for questions. We have a mic in the middle if you would like to ask something and hesitate. Or you can ask just like that. We'll try to repeat the question. Yeah, we have the first one. Yeah, somebody has to start. Yeah. If I got you right, then you said that the actor project does a lot of stuff quite well. Please tell us what we're doing not well. Where we should get better? Yeah, I prefer to telling about things that are done well because if I say that enough, then people will keep doing that and won't change their mind. So that's already a very good thing. Then about the things that maybe could have some other outcome. I've talked about the difficulty to find out what you do not need and the analysis of dependencies of having some packages that come from somewhere. And try to figure out where it comes from and why. So this is something that could be worked on. The actor project also quite good on fixing CVs. That is working pretty nicely. More people working on the CVs, that will be good. And also I've noticed when I was working on analyzing the gaps in the CV process of the actor project, I found that there are some gaps like the CPEs that are not set correctly. Found things like mismatch between the CV that was actually fixed and that was marked as fixed. There are things like that, apart from just fixing CVs, working on the general security flow. I know there are many working on that. What I would love to see is see the meta-hardening layer being transformed into a distro feature. That's my project on my to-the-list for a long time. I've never managed to do that. Are the hardening actually hardening options to quite many packages just from the beginning that you can have them configured correctly as it is? Because the default configuration, as you bring the image, it's not ideal from the software point of view if someone just flashes it to a production device. Well, as I understood, the whole presentation is taking care about the product itself. So are there any do's and don'ts and recommendations about the infrastructure that surrounds it? Oh, you mean the CI, the cloud and... Yeah, and when it comes to security specifically, so secret management, all these aspects. I'm between you and the lunch. Do you really want me to answer this question? So, those days I think the big challenge that we have is the use of cloud and embedded because there are a few reasons for that. There's the reason related to the supply chain attacks. If you start putting containers from the internet, it may happen that what you download is not exactly what you were expecting to download. So all the verification of what you are downloading from the internet, we need to... maybe not tools, but to be aware that all those attacks exist. So there may be attacks on the software, you may get just malicious software on your container. And there is the whole thing related to data protection. It's so easy to send stream of user data when your device is a camera, send the stream of the user data somewhere. And that's a big challenge. And I think I've seen the red card already, so I need to stop at this point. We can talk later on. Thank you.


Welcome to my talk gradual typing is the best. This is where I was gonna call out everyone who thought this wasn't gonna work But it kind of isn't working, so We're gonna skip that part of my talk My name is Cameron Matheson. I'm a software engineer at Instructure and You probably shouldn't listen to me because I'm talking about gradually type languages, but I spend all my time writing a Dynamically type. Thank you dynamically typed code and Ruby and JavaScript. I did do half a Haskell MOOC once though So I like to pretend I'm an expert So I wanted to start by I listen to a lot of podcasts and I heard one recently about this family that was way into like the Christmas spirit specifically they really were into Santa Claus and they would Staged these like elaborate real-life encounters with Santa like their kids would stumble upon Santa in the forest and they'd have to help him out somehow I give his reindeer some carrots or something and This worked out great for most of their kids but one of their sons like really took the Santa Claus thing to heart and So much so that in high school. He's getting like fistfights with other kids to defend the reality of Santa Claus By the way, I hope I'm not spoiling anything for anyone but you know the school administration had to call his parents in to Try to you know have the Santa talk with this this high schooler And they were willing to do that in fact even on the radio. The dad was unwilling to refute the existence of Santa Claus so unfortunately a Careless relative once let slip that he was the Santa in one of these encounters and this kid's life was ruined immediately like His world fell apart 15 years later. He still can't have relationships with people or trust anyone And the reason I'm telling you the story is because like I had this exact same experience Except it wasn't with Santa Claus It was it was several years ago I was a student and I was super happy, you know as I was writing a lot of ruby which I loved I was doing some scheme at school, which I really liked It's doing a little bit of JavaScript. Oh back then I think it was called jQuery and So, you know, it looked like dynamic I started programming with C++ and you know, it was hard back then it was the dial-up days So it didn't have stack overflow or anything and things were confusing Java was verbose It looked to me like the industry was moving towards dynamic languages, you know Facebook was on PHP a bunch of the startups were doing rails life was good and Then I took a course at school I was way into compilers and programming languages at the time So I took this class called programming languages and semantics and in that class we just did by hand interpretation of Lambda calculus programs basically using different like machine types and in a huge portion of the class was actually dedicated to Static type systems, which surprised me because I thought they were going away But it turns out that you know the past couple decades Programming language researchers had been developing like more and more sophisticated type systems. The industry was totally ignoring You know, you're getting stuff like Miranda and Haskell and dependent types. All this really cool stuff that could Verify correctness of a lot of properties of your program before it runs and so Static typing was Causing some like problems in my brain and my heart because there are a lot of benefits to it, you know, it Could catch errors early.    So static typing is great and So this is where like I was in crisis mode, you know, I had been so happy and now like I hated programming because Yeah, you know dynamic languages are clearly inferior So that's when my Haskell experimentation began and Quickly I discovered that that was a failed experiment Haskell has these like it has a really sophisticated type system and it's lazy and those two things combine into these horrible type errors In fact like when I would learn about type systems at school You would the things professors or other people on the internet often like to say no is like once your programs type checks It's gonna run correctly and I thought that was a selling point, but it really just means your program never runs So the Haskell people figured this out I think you can defer type errors to run time now, but it was awful Also, you know the writing was on the wall JavaScript is gonna be more and more important for us web people, you know And so I knew that I was gonna have to be in JavaScript anyway Additionally static typing has you know, like the way studies there's trade-offs, right? Like assuming this room is the universe of valid programs Static types would be like one column of chairs or type checkable programs, right? So a lot of it rules out a lot of valid programs and a real-life example of that would be like Recently there was closure transducers or transducers transducers JS.  This is where I have to do a disclaimer because I don't actually, you know, I don't have a PhD I'm gonna mispronounce a bunch of names leaving probably some important stuff out and Others, you know take this with a grain of salt by right a bunch of papers in the mid-2000s Gillian Bracca, I'd said I was gonna mispronounce these things This is the guy behind dark. He came out with a paper called pluggable type systems and in this paper he was arguing that Static type system shouldn't be a language feature right languages should take Type systems as plug-ins so you could have one or many type systems and he explored this in a programming language I think called new speak So maybe you would have your static type system type language and also, you know various linter type languages and So so that was cool, you know, it kind of like was not orthodox at the time in 2006 Eric Meyer and Peter Drayton came out with a paper called static typing where possible Dynamic typing when needed the end of the Cold War between programming languages Eric Meyer is old Haskell guy who went on to work on a lot of cool stuff in C sharp like link and the Async await stuff we heard about earlier this morning So basically their paper was arguing that Developing new stuff in statically type languages is restrictive and annoying But as your program matures and as you add more people to your team, you know, you don't want like Your dumb co-worker ruining things so Types Protect you from this So so he didn't put forth the solution, you know, they were just putting this out there, you know Like static and dynamic is it's not a good argument to make Now in 2006, this is a big one Jeremy seek and walled Taha come out with the paper gradual typing for functional languages This is where the term gradual typing is invented And so in this paper they take this strictly typed simply typed lambda calculus and Regular a lambda calculus and they develop a way that the two can interoperate And they come up with a soundness theorem which the soundness for this kind of thing means that if There was going to be a type error in one of these hybrid programs that are typed and untyped the Error is guaranteed to come from the dynamic code And so that's important because that means as you start annotating your program with types Those portions are now safe And this is done with just annotations and also inserting runtime checks That same year independently Sam's from Twitter, I don't know how to say his real name, so I'm not gonna try and Felicin come out with a paper called inter-language migration from scripts to programs This is the birth of type track it which is the first Concrete gradually typed language and it's also still the best gradually typed language It's the only one that can use the type system to inform the VM how to Use types to increase performance good heavens, okay, and So If you're interested in gradual typing and I recommend checking out type track it. It's really cool Now fast-forward six years Microsoft gives us type script, which is a type super set of java script And so we're gonna take a look at oh, it's not sound it doesn't meet all the criteria that Jeremy seek put out in his paper But it's close enough and if you're interested in where the sound is breaks down They have a page on their website that explains it really it's reasonable trade-offs So we're gonna do some live coding now. Oh my gosh, I was supposed to say cross your fingers, but I've got some terminal plug in Okay So This is a type script program also a javascript program and You know, we're gonna have an add one function that adds one to a number and Are we are we cut off? Oh Let's just do this Okay Can we see this good So if I run this, you know, oh first let's type check I've got this Vim plugin that lets me type make and nothing comes back. So we type check Which we would expect because we have no type annotations. And so if we run the javascript 211 so that's clearly not what I meant right javascript takes strings or numbers with additions So we'll just say we want a number And now we get the suite our Argument of type string is not assignable to parameter of type number. That gives me a line in a column And it Vim even jumps me right there. Does this okay? So so this is great. It found a type error for us. I actually do run into this number and string stuff in real life So I think that's pretty cool But let's look at a harder one I instruct sure I work on a lot of assignment and homework submission type stuff so Here we're going to define an interface called submission and this this is just saying that For an object to satisfy this interface It's got to have a number score and a string property called type And then we're also going to make an assignment called class It'll have points possible a list of submissions It's got this constructor and Average score method So this just computes an average, you know, it's pretty basic stuff So let's make a new assignment. We're not passing in any submissions and we'll run average score. So first we compile Type check so it should be correct Not a number okay, so we have a divide by zero The type system can't catch this kind of errors So let's let's give it a submission though Let's see. We need a score and a Type so I said type Okay, we'll run it again. Oh comma expected Thanks. Thanks guys. This is what I have you here for Oh No Thank you New this is a mistake. Okay Okay, so works So let's add another one let's let's have two assignments, you know that way the average is actually meaningful Score five Type I know guys I'm doing on purpose this time shoot Okay, so I'm like JavaScript type script enforces that you Provide the parameters you expect if you Want optional parameters you can but by default, you know, you need to do the right thing so we'll put this in the array and Run again Great and just to demonstrate one other thing We could add another one This time we'll forget our type type or our type thing and it gives us a nice error again property type is missing So if we wanted to not require that one, we actually can make them optional with a question mark And then we type check so anyway, I think this is pretty cool My biggest Complaint with type script is just that it doesn't have anything to protect us from nulls Or like empty lists, you know, but overall it can catch a lot of errors and it's great Now last year Facebook released flow, which is another JS type checker It's made for huge code bases. So it's it's really fast. It has a demon that runs in the background and Just updates the things that actually changed so that's cool The really odd I audacious part though as they added type inference, which as far as I know has never been tried in a gradual language and I don't think it's possible to do it like completely correctly, but We'll see that it does pretty awesome. So here we have a flow program There's the square function x times x and we're gonna square to so we'll flow check it That works now, we'll try to square the string to You know in type script this would type check because we haven't annotated square, right? But in flow. Oh We get the sweet air string. This type is incompatible So that's pretty cool Now add one this is our example from earlier, right? And here we're gonna add one to one and add one to a string It can't catch the air here because that's actually a valid operation So we would still annotate with flow and it I don't know if I mentioned this it keeps type script syntax, which is very handy Okay, so there we go Now this is this is where it addresses my big complaint with type script, which is No protection, but we'll we'll go through the example first. So food takes an x which logs the property bar And then we have three things here. We've got a which has a bar B is undefined C we mistyped bar into Baz so let's Flow check Okay, that works and we can run it although I don't know that's very interesting Okay, great Now we have foo B So type script again would have no problems here Okay, this is kind of amazing to me property bar cannot be accessed on possibly undefined value so When we ran foo before there were no issues But now that there's a potential of running foo with a undefined x It makes us actually check the x exists and now we should type check Great and let's try see also. So this one has the typo, right? Okay, zero errors. This is too bad It doesn't know that I mean flow. This is a trade-off. They've made right They don't want to make you protect against every property access ever So it won't catch like typos on your property names If you wanted protection here, you would just make an interface like we made earlier So that's very cool now recently in the past couple weeks Google went to the Yes ECMAScript dudes and proposed sound script Sound script Okay This is a shell script guys sound script is a Sound like it's actually sound unlike type script and flow it is a sound gradually type system for JavaScript That they want to be part of the next revision of JavaScript And I think like it's been met with like a whole lot of skepticism basically although Jafar would know better but I did pull up the ES six meeting notes and Sam said Unsound type systems are not usable for performance if we want types to help the VM It is not going to happen as an evolutionary type system on top of type script or flow And an ARB I think is one of the Google guys, but I don't really know He points out that yeah to get predictable performance. We need types and Particularly sound types so so you know that's that's something being tossed around In Conclusion, you know, I used to like like I would actually lose sleep at night thinking about the static and dynamic thing But turns out it's not the way to think about things. We've got gradual typing now. It's better than both It's the future and I think you should try type script or flow That's it


It's the mat work. I'm thinking about doing it, but I want to know if it's like worth it. I don't really have a fan base, fan base like that. Yeah, I feel like you should do merch when like 20 to 30 people have asked you about it. Or if you have like 20 to 30 people that you think you potentially sell it to. Because realistically, only like 5% of those people are gonna buy it.  But I feel like I always look at like everything like. When should projects drop? When should merch drop? And I would say when you started to notice a bunch of people asking about it, probably at the time it started working.  People are like, you should make merch. Like this is cool. You notice it was like they're having a lot of DMs like this, a lot of comments like this, then, you know, start working on this with the man for it. But you have to, you know, plan for the cap that most people, most people reject when they say it. A lot of times people will say it, they don't expect me as well. So like, I was looking at like, I really simply made it like 5% of the people who said it or bought something, and you were asking about something. Yeah. You know, but I think before a merchant should come in an attempt at like collecting people, figuring out which of the people that's following and support you are kind of living more down hard. So it's like a sales forum for a business, right? Like you have the top of the forum, people that are like mildly interested in you and every step of the funnel is pretty much a test to see which of these people are the more likely candidates to buy something. So the person that walks your ad isn't as likely to buy a t-shirt from you as the person that subscribed to your email list, right? Or the person that gave you their phone number or the person that even on a more basic level, let's say like you were the ad, right? Then follower or subscriber, then email list or SMS list, subscriber, and then purchase. Like each of those points let's you know, like, who is the more likely to buy something to do something, say if I asked them to. So I think like before you start or it could be in the midst of when you're starting to see people actually merged up, but I think before you get to the point of trying to sell a merch, that should be that way of like collecting people first to figure out who are the people that are more likely to buy something from you. Because then those are the people that you should be trying to sell to. So like you have a thousand followers, 200 and 200 emails, you know, saying like, yeah, still put the general stuff out about buying it to people. I put out your posts on Instagram and Twitter and shit, but a bulk of the hard sales work is going to go from trying to sell to those people on that email list because those people have already shown you they're a little bit more likely to buy because it took an extra step to get a little bit extra work to get onto that list. So I think it's like, you know, in those sequences, like we were talking about the ads, you got your general brand awareness phase. I'm just trying to get people to see me.  I'm trying to gauge, gauge results. Then from brand awareness, if we look at like lead generation comes next, what's lead generation is, how can I get these people to give me the information? How can I get a phone number out of you or email a lot of people? What can I do to get you to sign up for my list while I may send you stuff out and then from that point is nurturing, which goes back to what we were talking about, engaging with these people, providing value for them without asking for anything first, which for ours, that could be like exclusive content, discounts, music, whatever you see fit, whatever they like, if someone like your brand, it could be like, you know, I'm going to just every every Sunday that we're going to do like a, like a book club type of thing with anime, you know, so you figure out like, what is the process you're going to use to deal with your fans? Then you do that for a while. Then you move into one session. Cool. Now one month, they're familiar with me. They are, you know, connected to me now.  OK, because I think I think I know where you headed. And I think I know how to do it because like I started a discord and I got like a few people in there. So I think once I pretty much like zone in on the discord, I think I'm going to end up running some some ads on it to get to get more people involved. And then I think that's that's a good way to, you know, warm people up. They know me. They feel like they get to talk to me on a regular basis, you know, me and then they already took that step to join it anyway. And they're being active in there. So I feel like that's exactly right. That's really good. Like I said, like they left whatever app they were on and go to that app to find you. They care. Yeah, that's that's true. And then I use, I don't know if anybody like on this call uses their like close friends list on Instagram and knows what it is. Yeah. So what I do to qualify people sometimes, like I do a lot of polls to see like who was going to who we asked the most or we actually like answers my polls or questions, whatever. And then like I'll kind of like keep a tally on like the names that I see most often and then I'll keep a tally like, OK, this person always answers my questions. This person always watch my story or whatever. They always engage in some sort of way. So like I'll add them to my close friends list. So I know kind of know like who is more than just a follower. You know what I mean? Yeah. Now, that's that's a that's a good idea, too. All right.  It was one point I've seen bigger accounts.  So that's a good idea. That's another level to it where, like I said, you actively always trying to figure out who is more engaged with me, who cares more about me than whoever else. And then as you become interested in you, they're always looking for ways to be different. People who didn't do as much. You know, it's the same reason we have generally mission and VIP tickets. It's the same reason you have fans and superfans like people want to be like, OK, what would differentiate me from the rest? What can I do to show I'm a bigger supporter of you than these other people who said I support you? Oh, I can do this and I get into your super friends, your super friends group or your close friends group and I can see this type of stuff. Cool. I'm going to do that. And then that shows you. Oh, yeah, this person is somewhere I need to pay attention to, just like you're doing the show. Appreciate that. Let's see what time it is.


Welcome to George H. Smith's Excursions into Libertarian Thought, a production of Libertarianism.org and the Cato Institute, narrated by Daniel Highland. Self-Interest and Social Order in Classical Liberalism. David Hume. I wish to begin my discussion of the Scottish philosopher David Hume, 1711 to 1776, with some inside baseball. By this I mean how Hume is sometimes viewed by those modern Libertarians who have been influenced by Ayn Rand. Rand ranked Hume high on her list of intellectual villains, as we see in this passage from For the New Intellectual. When Hume declared that he saw objects moving about, but never saw such a thing as causality, it was the voice of Attila that men were hearing. It was Attila's soul that spoke when Hume declared that he experienced a flow of fleeting states inside his skull, such as sensations, feelings or memories, but had never caught the experience of such a thing as consciousness or self. When Hume declared that the apparent existence of an object did not guarantee that it would not vanish spontaneously next moment, and the sunrise of today did not prove that the sun would rise tomorrow. When he declared that philosophical speculation was a game, like chess or hunting, of no significance whatever to the practical course of human existence, since reason proved that existence was unintelligible and only the ignorant maintained the illusion of knowledge. All of this accompanied by vehement opposition to the mysticism of the witch doctor, and by protestations of loyalty to reason and science. What men were hearing was the manifesto of a philosophical move that can be designated only as Attila-ism. Although I would not associate Hume's epistemology with Rand's literary ideal type of Attila, and though I might disagree with Rand's characterization in other respects, I share her low estimation of Hume's theory of knowledge, which I regard as quite crude, as when Hume treats ideas as nothing more than faint images of impressions, i.e. perceptions. Although Hume's theory is sometimes represented as a continuation of Lockean empiricism, Locke's careful analysis of abstractions in an essay concerning human understanding, 1690, which resembles Rand's approach in some respects, is far superior to anything found in Hume. For Rand, a theory of knowledge is the sine qua non of a philosophy, the foundation that will profoundly affect one's theory of ethics, politics, and so forth. Consequently, those libertarians who accept Rand's approach tend to dismiss Hume out of hand, as if nothing he wrote could be of value. But, as many commentators have noted, there is a curious disconnect between Hume's epistemological skepticism and his moral and social philosophy. As Charles W. Hendl explained in his Introduction, 1957, to Hume's an inquiry concerning the principles of morals, 1752, Hume was not skeptical in this work of moral philosophy. The first thing Hume insists upon against any skepticism in morality is the reality of moral distinctions. They are real, and they are important. They are not merely matters of convention or products of education. They originate naturally in the life of man and society. Of the book referred to by Hendl, on inquiry concerning the principles of morals, which would become the second part of inquiry's concerning human understanding and concerning the principles of morals. Hume later said that it was, of all my writings, historical, philosophical, or literary, incomparably my best. Scholars disagree over whether the later inquiry is merely a briefer and more elegantly written version of Hume's earlier treatment of ethics in Book 3 of A Treatise of Human Nature, 1739, or whether Hume changed his view somewhat in the later book. A treatise of human nature, which is widely regarded as Hume's true masterpiece, was written while Hume was a young man and unknown in literary circles. After it fell dead-born from the press, Hume resolved to write a more accessible version of the ideas contained in a treatise of human nature, which can be quite difficult to read. And this led to his shorter inquiries, an exemplar of how to write philosophy in an essay style. One thing is certain. In his later book on ethics, Hume avoided some of the controversial language and expressions that appear in the treatise. For example, we find no references in the inquiry to justice being an artificial virtue, an unfortunate choice of words in the treatise that generated considerable misunderstanding among readers, for reasons I will explain presently. Moreover, some of Hume's hopped-up expressions in the treatise do not appear in the inquiry, most notably the infamous remark, reason is and are only to be the slave of the passions and can never pretend to any other office than to serve and obey them. One can imagine a young Hume being delighted with this striking bit of rhetoric, even though it could and did lead to misunderstandings about the points he wished to make in the treatise. Hume was not the only young writer in the history of philosophy who was occasionally over-exuberant. F. A. Hayek was the chief conduit through which Hume's moral, political, and social theory entered the mainstream of modern libertarian thought. In his article, The Legal and Political Philosophy of David Hume, originally presented as a lecturer at the University of Freiberg on July 18, 1963, Hayek bemoaned the fact that Hume's legal and political philosophy had been curiously neglected. In addition to being one of the founders of economic theory and the greatest British legal philosopher before Bentham, Hume gives us probably the only comprehensive treatment of the legal and political philosophy which later became known as classical liberalism. Although I think Hayek sometimes cast Hume's ideas in a more favorable light than they warrant, his article remains essential reading for libertarians who want to understand Hume's contributions to classical liberalism. In this essay, and the one to follow, I can do no more than sketch some of Hume's ideas in moral and social philosophy, especially as they pertain to self-interest, social order, and utility. First, however, I wish to clear up a controversy that I mentioned previously, namely, Hume's references in A Treatise of Human Nature to justice being an artificial virtue or an invention, as he sometimes called it. This language, which Hume later abandoned, provoked a good deal of criticism from his contemporaries who claimed that Hume was attempting to overthrow a natural law ethics in favor of moral subjectivism. But even in the treatise, Hume made it clear that he had no such intention. For an excellent discussion of this problem, see Stephen Buckle, Natural Law and the Theory of Property, Grotius to Hume, Oxford University Press, 1991. As Hume wrote in A Treatise of Human Nature, To avoid giving offense, I must here observe that when I deny justice to be a natural virtue, I make use of the word natural only as opposed to artificial. In another sense of the word, as no principle of the human mind is more natural than a sense of virtue, so no virtue is more natural than justice. Mankind is an inventive species, and where an invention is obvious and absolutely necessary, it may as properly be said to be natural as anything that proceeds immediately from original principles without the intervention of thought or reflection. Though the rules of justice be artificial, they are not arbitrary. Nor is the expression improper to call them laws of nature. If by natural, we understand what is common to any species, or even if we confine it to mean what is inseparable from the species. Justice, according to Hume, is not a natural sentiment of human beings, such as the affection that a mother feels for her child, nor is it an eternal truth discernible by reason alone independently of experience. Rather, justice is a social phenomenon, one that emerges over time as people reflect on how they benefit from social interaction, and how those benefits can be preserved. To say that the rules of justice are not arbitrary is to say that they cannot be altered or abolished by human will or decree, a crucial tenet of the natural law tradition. People come to value justice as essential to society because it is, in fact, essential to society. We come to formulate the rules of justice after sufficient experience and reflection teach us their role in preserving social order. Thus, in referring to the rules of justice as conventions, Hume meant that they must be discovered over time through the trial and error of circumstances as experience reveals their usefulness or utility. The rules of justice cannot be deduced from axiomatic premises by reason alone. They depend on experience, and on our analysis of that experience, which teach us the indispensable role that justice plays in maintaining social order. In order to appreciate what Hume was getting at, we need to know something about the tradition he opposed. There were two broad currents in British moral philosophy during the 18th century. One, as I explained in the first essay of this series, is sentimentalism. So-called because of its focus on the role played by human sentiments, feelings, emotions, etc., in human action, a role that must be appreciated if we are to understand why humans behave as they do and how social cooperation comes about. The second current is commonly called moral rationalism. So-called because of its claim that justice and other moral principles can be derived and justified by reason alone. Moral rationalism was the target of Hume's critical analysis of reason in moral philosophy, and of his celebrated is-ought dichotomy. Moral rationalists, said Hume, defend an abstract theory of morals and pretend to found everything on reason while ignoring the role of sentiments and passions in the evolution of institutions, such as property. According to moral rationalism, our notions of virtue and vice, right and wrong, justice and injustice have their origin in reason alone, in the same way that our scientific and mathematical notions originate in reason. Our practical knowledge of ethics, like the theoretical knowledge of mathematics, can be logically demonstrated according to rationalists. Both are based on the eternal and unalterable relations of their respective subject matters. Moral obligation in this view is a species of rational obligation. Just as we are constrained to accept mathematical propositions when their truth becomes evident to the mind, so we are similarly constrained to accept ethical prescriptions. The approach to which Hume objected is found in the writings of Samuel Clark, a well-known philosopher and theologian of the time. Another rationalist was William Walliston, an influential 18th century philosopher specifically mentioned by Hume. According to Clark, discourse upon natural religion, 1706, there is a rule of equity which states that we so deal with every man as in like circumstances we could reasonably expect he should deal with us. The human understanding naturally submits to a demonstrated truth. It is not a matter of will, for example, whether we believe that twice two equals four. Once we clearly understand what numbers mean and how they are related mathematically, we have no choice but to accept the proposition two plus two equals four as necessarily true. Similarly, once we understand the nature of human beings and their social relationships, we have no choice but to accept the truth of basic moral propositions, such as the rule of equity. Quoting Clark, for as the addition of certain numbers necessarily produces a certain sum, so in moral matters, there are certain necessary and unalterable respects or relations of things which have not their original from arbitrary and positive constitution, but are of eternal necessity in their own nature. The following argument by Clark was typical of moral rationalists. The reason which obliges every man in practice so to deal always with another as he would reasonably expect that others should in like circumstances deal with him is the very same as that which forces him in speculation affirm that if one line or number be equal to another, that other is reciprocally equal to it. Iniquity is the very same in action as falsity or contradiction in theory and the same cause which makes one absurd makes the other unreasonable. Whatever relation or proportion one man in any case bears to another, the same that other when put in like circumstances bears to him. Whatever I judge reasonable or unreasonable for another to do for me, that by the same judgment I declare reasonable or unreasonable that I in the like case should do for him. And to deny this in either word or action is as if a man should contend that though two and three are equal to five, yet five are not equal to two and three. It was in reaction to this kind of hyper rationalism that the sentimentalists such as Shaftesbury, Hume and Adam Smith proposed an alternate psychological and sociological theory of justice one that took into account the role of human passions in the genesis of moral principles and social institutions such as private property. I will examine this approach as developed by Hume in my next essay.


Hello everybody, E here. Welcome back to Thursday Theorists. Today we are talking about Hearts in Atlantis. I don't talk too much about this book because I don't know how to categorize it. It's always been that way for me. I don't know if I should call it a mosaic novel. I don't know if I should call it a novella collection. I don't know if I should call it a short story collection. I have no idea what to call it. Or a novel. I don't know because he does bring all four, I think it's five. Five stories all back to center in one short story at the end. Some highlights for me of course is the first story because it actually ties into the dark tower just hardcore. I mean that's another thing. It's very odd that the first story with Ted Brodigan and spoilers in case those of you that watched these that have not read these books. Spoilers for the Dark Tower, spoilers for Hearts in Atlantis. Ted Brodigan pops up in the Dark Tower series in the final book of the series, The Dark Tower. And he mentions everybody in this book is Sully John, Bobby Garfield, Carol Gerber, so on and so forth. This is also probably one of the Stephen King books that I have reread the most. This is my edition of the hardcover and it's pretty much falling apart. I don't know. I need to find another one, but I love this one so much. In fact, back here I had this Cheepo, it seems all bent up, Cheepo movie tie and cover. Can't stand movie tie and covers, but I got that one because it was cheap. So I started reading that one instead of this one. Most recently I did the audiobook for the first time. I was not impressed. William Hurt does the audiobook for the first story and the last story and he's not very good. In fact, you can tell through some of his readings that he wasn't 100% sure either how to pronounce something or he actually stumbled on words and he would kind of get going on something else. I don't know who produced it either because there were whole sections that were at different levels as far as the sound was concerned. I was listening to it while I was walking and it was a super pain but for me to have to keep reaching in my pocket and turning the sound up or down. But Stephen King reads the stories in the middle like the Blind Willy one, Heavenly Shades of Night are falling. I can't remember all the names of each one of these and he doesn't harp on the titles of each individual story either. So it also feels and there's no table of contents. So it doesn't feel like a collection. It feels like it wants to be a novel but it's more mosaic novel because all these different stories come together to form a whole. You deal with, at the very beginning you deal with Ted Brodigan and Bobby Garfield. Bobby Garfield is a little boy coming into maturity, puberty not maturity, but coming into puberty and he's got a little girlfriend named Carol and they deal with bullies. It's the typical Stephen King build of Coming of Age story but where it's different is you have the insertion of Ted Brodigan, an old man who is alone, who is just passing through, who rents a room, sublets room from Bobby's mother and there's a very interesting, not really seen but an interesting point that King brings up with the way the world has changed, how people no longer feel safe with an older man hanging out with a younger boy, no matter how innocent it might be, which I completely understand. And I do find it weird also to see an old man hanging out with a younger boy when they're not related and I know that's probably, it's probably not that fear mongering but it's just something that has been you know placed in my head and Stephen King tackles that in this book because Bobby's mother Liz is always worried about whether or not Ted is messing with Bobby. And then you reach the end of the first story and he goes, Stephen King just goes in, just dives in head first into the Dark Tower connection and there's little sprinklings of you know Ted being a breaker and one of certain stories and of course the, and we're gonna get to this with the Dark Tower connections, there is the stuff where the psychic touch and all that that is talked about in here, Ted's power and how he kind of passes it on, which brings me again to how my connection, all of it comes together. When the Tommy knockers Crashland and Haven, spoilers for this one, for Tommy knockers, they end up giving people powers just by being there. You know the more of the ship that is at least the more of this environmental effect changes the people of this town. Ted brought again, again, that when he touches people or just around people, he gives them the ability to sense, to tell the future, the past, whatever has happened and he's a breaker from the Dark Tower universe. This also brings it all the way back to Carrie, to the dead zone, to traumas and to you know possible touches of people that happen to have these powers. In the entirety of Stephen King's universe, I have heard people complain that Stephen King always uses psychic ability and stuff like that to cheat his way through an ending or to make it easier for the characters. Whereas I believe that he had this in mind the entire time, that this world is leaking through into our world and giving people powers. Now why Maine? Why all this stuff in Maine? Because there was the crash landings in Maine. Why did they crash land in Maine? Because you know, you write what you know and he lives in Maine, or for the most part. So you have Pennywise who crash landed in Derry. You have the Tommy Knockers who crash landed in, wow, Haven, sorry, Haven. And you also have the Dream Catcher, which is also in Maine. So those are all my thoughts on the book itself, but the tie-ins, I mean, you can't get any harder of a tie-in than Ted Brodigan being in the Dark Tower series. What I want to know is why? Why this initial character? I'm wondering if Stephen King got stuck on this, like he got stuck with it, and he decided to throw in, to, to connect these worlds to give himself an ending for this first story. But that wasn't it. He continues on with it and tells Sully John's story. He tells, I always forget the guy's name who's blind, who ends up being Blind Willy. And then he tells, and Carol Gerber's story is throughout that also. So why the heavy emphasis on the Dark Tower in this first novella-length story? And then in the rest of the shorter stories throughout the rest of the book, there's really no other mention beyond that. And I do love how he wrapped it up, but I don't talk about it because I don't know how to classify it. I don't know if I want to put it on a top 10 short story list, top 10 novella list, top 10 novel. I don't know, but it is definitely up there. And it's probably the book that I have reread the most other than Stephen King's It. So, did I miss anything? I'm sure I did. I know there's a lot of stuff that I mentioned. I mean, you got mentions of the Crimson King. You got all that stuff it ties in. But I'm gonna let you guys do some hunting and give your stuff down there in the comments section, you know, like we do. So until next time, I have been E, you have been U. This has been another Thursday theory review. I'll talk to you guys later. Bye-bye!


Hello everyone, this is Amit Dhan and on this channel you'll find financial travel and more videos. If you like what you see, please do the thumbs up and consider subscribing. Thank you. Hello everyone, this is Amit Dhan of amitdhan.com. Today I'll have another episode of unboxing video and I'll be unboxing the Luxibel Selfistic Aluminium Waterproof Telescopic Pole. Now if you have been watching this channel, you know that I had a different version of the Luxibel Telescopic Pole which is slightly smaller than this one and that one is called the Luxibel Selfistic Telescopic Pole and it's slightly smaller than this. That one is 6.6 inch to 18.1 inch and this one is 7 inch to 19 inch and it has a better grip and the material is expected to be better than the other one I had because this is slightly more expensive than the other one. So I was not satisfied actually the previous version of Luxibel but the reason I'm buying this one which is slightly better version again because they are very portable and very small. So if you remember I had the last telescopic pole I purchased actually this one. Let me show you right here which is the Sandmark Telescopic Pole. So this is a very durable and strong pole but the reason I have difficulty using this when I travel is because it's a little bit too big and it's a little bit heavy on the heavier side. I do not carry any luggage with me when I travel so I try to minimize my weight on everything possible. So with this one my weight is going to be significantly lighter than this one because this is a heavy pole. So for that reason today we'll unbox this pole and see how does it compare with the other one or whether this is a good product or not. So let's take a look here. So the packaging is very minimal. There is like you know just some basic information on here. Let me just go through it. Ultralight aluminium material twisting locking mechanism and expanded size is 7.24 to 19.4 inch and adjustable wrist strap. Okay so I don't think I'm going to be needing a scissor or anything. I should be able to open it with my bare hands. So let's take a look here. Okay so the box is empty and I'll just set aside this box here. The first thing I'm noticing is that we have some attachments so let's take a look. Okay so this one looks like to hold the camera on top of the pole to tighten it up and then actually they are providing this range kind of tool to use this like this. So this one looks it is plastic but you know the quality is not bad. It doesn't look like it's going to break that easily and the quality of this piece is actually it looks very sturdy and durable. So it should work fine and I'll set it aside here and this is the pole. So it's the very basic and very small which I like. So see the grip here. The other version of laxable I had didn't have this. It was just you know basic rubber type of material but this one feels better when you hold it. And it looks more expensive material or better quality material the other one. And even here the material looks better quality and what I'll do let me just try to extend this pole so that way I can show you more. So let's just turn and twist lock very simple and easy to use. So what you do here you just push it in and then just you know twist it a little bit and it's locked. And when you have to take it out so you just move a little bit and turn it this way and then to lock it you just twist it again. When you open it up let's see how far it goes. Okay so this is a 19 inch which is not bad at all. This is perfect for me. The other one I had which is the sand mark is bigger than this but I like this one because this is just perfect and this is very lightweight. And when you stretch it all the way it doesn't feel like you know anything moving or it doesn't feel like anything is falling apart. So the quality is very good and you have to just attach your camera to here. However you'll be needing a separate piece of attachment tool which is going to be like this. You put your camera on top of this if you have like a standard camera which you can mount. So it doesn't look like they gave you that attachment tool like this one. Okay so let's unfold this. Okay so this is really you know the feeling is very good when you're holding it. So it doesn't look bad or feel bad at all and in terms of being stable and sturdy it feels very you know it has that feeling. You see that feeling that you know it's going to last for long and it shouldn't have any problem with this one. However when I opened I remember I remember from the previous version of Luxeville I had. So the moment I opened the box and when I opened everything I was kind of like you know not happy with the product but this one is different. So I feel I'm happy with this one and again this is not an affiliated or promotional review. I have purchased this with my own money and all my reviews you watch on this channel are non-affiliated, unbiased and honest opinion. So if you like what you see please give it a thumbs up and consider subscribing. There will be more videos coming up and I'll provide you the link for my other previous monopole or selfie sticks in the description box below so you can watch from there. Thank you and I'll see you soon.


In terms of it just kind of being, I guess, the last full practice day, have you gotten what you needed out of this camp? They're very productive. You set out a clear objective. You start to spring, everybody does it a little bit different. I mean, we know what the rules of engagement are, but for what we want to do accomplish, we feel pretty good about where we're at. The next couple weeks are critical. I think it's a good rule when you have this dead time, but it allows guys mentally to get away, and we've got a long campaign coming up. Everybody does, and how we handle it will determine a lot of factors, especially early on in camp and early part of the season. So when you have the right guys that we do, I'm very confident. And in terms of spring, very pleased. It seems like more teams are kind of going away from the full three day mini camp or eliminating sometimes mini camp altogether. Right. Why is that, you think, more of a trend now in the league? Yeah, there's a lot of opinions.  People use that, certainly the COVID year. But any time you have an opportunity, in an environment to train the job that you've been hired to do, and you can do it, and it is voluntary. So that's, and we mean what we say and say, what we mean, and that requires, and we guys, life goes on outside of it. And that's good. But there's the guys that want to come in here and work. They make a little bit of money. Certainly around their teammates, I think that's a positive. And ultimately, then a day, you've got to make the best decision for your team. And some people, they may break early because they're playing in the Hall of Fame game, or they may have a veteran team, or they came off a long playoff run. I mean, if you remember back, like Tony Dungey, sometimes those vets wouldn't even come in until a little bit later in training camp, because they were consistently playing late in the year. And so everybody's got to do what they think is best for their team. Young, maybe you change the system. So we feel good. We've used just about every opportunity they've allowed us. And we're pleased with it. Hey, Art, you finished out this spring with Dez as the guy. What stood out to you seeing him throughout this period? Well, I ought to our players can. I mean, he's made daily improvements. We've thrown a lot. There are certainly things that continue to harp on that will continue to evolve. We'll never stay the same, continue to improve. In certain years, we may have to play a little bit different. So many times, we're not going to ever compromise our core values and things we believe in and some of our habits and things we talk about behind the scenes. But in terms of schematics, a lot of things, sometimes we'll look to improve and adapt. And so we've thrown a lot at them. I think you've seen a lot of daily improvement. Certainly, this is a passing campus known on contact. Things can change, certainly, when you get more into real football. But very pleased with the progress he's made day in and day out. When it comes to this, how much was he comfortable with the play action game coming in here versus how much do you feel like you've had to coach enough in that?  I mean, there's things that I always looked at to improve on. I think if you stop trying to improve and never think you have the right answers, you're going to get passed up. You see that in any industry. People get arrogant. They get stale. And you never want that. In terms of Dez and a lot of our players, but some of the things they asked him, and he was obviously very successful in college. And there's a lot of great schemes. And some things translate. Some things don't. And there's some things with certain players, Josh, that it's how comfortable and what kind of play action. As it gets more to the play action, how many times is it a hard play action when they turn their back and flip their head around? And some guys haven't done that, but they get to this. You may ask them to do that. And they're very good, spatial players. They can. They can turn their back to the defense, flip around. They've got trust. And they see it like a great point card sometimes. They see things before they happen or anticipate. And every player has been a little bit different that I've worked with, but very comfortable with Dez. I think he's got that. There's a lot of things that we may ask him to anticipate or wait a tick. And not everybody can do that, but he can. He's shown that so far. So that gives us a lot of hope. And yeah, I mean, everybody's every system is a little bit different, too. So please with that, with him in that regard. Did he show that at Cincinnati? Had you seen that on Fulmer? There's some traits. There's some traits. And you don't even know what they're asking them. And unless you're sitting in those meeting rooms, you may run similar concepts. But everybody's going to teach them a little bit different. Like, that's why I always laugh, too. They're the arrogant sometimes guys. They may have learned this play from somewhere, and they may have had success with it. And they get on TV or they get on whatever platform and pontificate like, that's the only way to do it. It's nonsense. There's been a lot of people, been a lot of very successful in different schemes. There's things that we tweak year in and year out. Hey, on this play, we're passing up this read. Let's try to take advantage so we give certain parameters. Let's get to it if we get this look. That may be different if Matt Ryan walked in here and went to one of our offensive meetings, there were a lot of things that would be foreign to him. And he was here, what I'm going to call it, a year and a half ago. Right. So that's the constant evolution you're trying to make and tweak and improve. So there's things you see on film. But until you really get behind the scenes and you work with it day in and day out, there is something though, but very, very pleased with Des and the way he goes about his business, it handles himself. Mark's kind of sticking on the Des tip. He was talking to some of the reporters yesterday about not throwing a pass to Kyle yet, and maybe the chemistry there. How much value do you give on the last year in training camp? And they'll get on the same page. I'm very confident in that. Who sets the rookie draft class and what you've seen from them just in valuation to this point? I know it's not full contact and whatnot, but how they've adapted? Similar thoughts to last year's, some mature group. Again, a lot of things that you don't worry about. I think we've got the right kind of guys in here. They've continued to work. Like I said, I've been very pleased with the progress. Everything's foreign to them. And I think they've handled so far everything we've thrown out and they've handled it pretty well. Because in terms of the genre, is he been what you anticipated it would be when you drafted? It's always the same question. There's no difference, whether it was Marco or Javan or Big Zame alone. I've been very pleased with all those guys. I guess what I was just getting against, when you, even the night you got drafted, we talked about he's not running back. He's more of an offensive player. So I was just wondering if you see, if the traits that you saw in Texas have translated already? We do not have buyers or more, so that's what you're asking. Can you talk about Ryan Nielsen developing individuals? How does that translate as a board player? I saw a lot of coaches.  I think Marquise does a hell of a job developing players. I mean, I think we've got a strong staff. There's a lot of work that goes into it. It's great to have Dave Vuxable here. Dave's a guy with a lot of knowledge. Been in college football a long time. Been with Ryan. Ryan actually worked under him at NC State. And Dave's seen a lot of these trends, and he's a fantastic football coach. I have Jerry Gray in here. These guys, Steve Jackson back on the defense. I mean, people forget the wealth of knowledge that Steve and Jerry have. Go back and look at those 0708 DB runs we had in Washington. We had some great players and vets. I mean, it's like the players forget. Well, these guys, I mean, you give reference. I mean, Jerry can give references about defending certain Jerry Rice in the 80s or what Eric Dickerson was like. They have so much knowledge, and they're great teachers and great communicators, so very pleased with the staff. I think we've got a lot of good teachers. You guys have a good problem as far as having so much talent in the running back room. Have you learned anything to spring to maybe of how you use all that talent? We have a plan for them all. So we don't just throw darts at the draft board and not have a plan. And that's not fair to the players if we're coming here and if you're going to invest that heavy early or in free agency if you don't have a plan. And so we've got a versatile group, same way I feel about the tight end group and the receiver group. Very pleased. You really, we can label them in certain positions, but you look at it as a collective, it's a very unique and talented skill group. That's what I'm saying is you combine our receivers, tight ends, and backs in that room. Like, how did Michael Petrie have in the selection of each one? Well, like, we run a very inclusive process, and then ultimately in the day, Terry and I, that's what we're paid to do is make the decisions. But we listen to everybody. We've got a great football staff and guys that scouted them, Dante, and guys that put a lot of work in. And you take everybody's opinion and we gather that information. And I think Mike Petrie is another guy. He's a fantastic football coach and certainly a bright future and can do a lot of different jobs. Mike does a fantastic job.  I mean, these are little nuances and the protections that Mike, I thought did a great job with. And with Carlos Washington, a guy that's coming here and these guys, he's a hell of a teacher and a really good football coach. But we have an inclusive process. And Mike was certainly part of that. What do you think I liked D'Alford? How did y'all's vision for him kind of evolve as he did in his role on this roster? Well, we looked at his skill set. D's had a unique road to the NFL. Very pleased with the spring D's had. And he's another guy. He's very consistent in his habits. And all he does is just work. And he works and he works and works and gets better every day. And there was certainly a trade story that he thought that he could play inside. Because that's a hard position to play.  But to cover those routes inside, I mean, there's a lot of space. Because they tougher than hell, quick. But very, very pleased. But those traits you saw as those guys brought him in and worked him out. And he's really done a nice job.  Anything you're curious about seeing in that? I mean, Netflix does a good job. And it's like a TV show. Sure, it'll be some good parts. I'm sure there'll be some historical fiction. Collin had said something yesterday that Ryan Neal showed him a technique. He implemented it. It worked well for him. He clearly is able to kind of take that coaching and implement it. This is a bit of abstract. But is that something that you can scout and apply or that they're going to be able to take that coaching and implement it and work it into their game? Yeah, that's a good question. But I think what you look for in Kalleus has been a lot of schemes, right? Going back to Arizona. He's had a lot of fantastic football coaches. And so he's playing in multiple schemes. And so you see that adaptability. And the guy's productive in multiple schemes. So that gives you a lot of confidence. But hey, this guy is who he says he is. It's not just this personality that you guys see on the outside. It's day-to-day when you really watch the tape and you talk to people. But that's what gives you a lot of confidence is that flexibility. He hasn't just been in one system. So that is what's hard. If a guy's only played a certain way for 15 years and then you ask him, it's only really different. I mean, they may make it work, but it may not go the way you want. It has a lot of habits to break or something so foreign to him. But Kalleus, he's been, like I said, he's been a lot of good defensive schemes and had a lot of good coaches and he's been successful in all of them. Jesse Bates, you bring in those guys. What impact have you seen for them on the young guys in particular, maybe the overall defense?  And that's why you bring them in here. And you better bring in the right guys. And Jesse certainly feel very confident. That's who he's been. You know, day-to-day, the interactions, the guy they can watch, they can emulate. Certainly a guy that's here, he's new. You gotta find his voice as well. But I think when you just watch him day in and day out, gives you a lot of confidence in guys. That group, that DB group, they're just gonna be a very competitive camp. And they've done a good job. I mean, I think Jalen Hawkins has had a terrific spring and what we've asked him to do. Like Abernathy, and there's a lot of depth, a lot of great competition. So excited Jesse's here. And same thing with Klaas and Bud, David, Kaden, very pleased. I wanna stick with the defensive front for a second. I was talking to David on Yamada yesterday and we were talking about how so many veterans have come in on this defensive front, but he made the comment that this is still Grady's group. What does that kind of say about the way that some of these veterans that y'all have brought in respect what Grady Jarrett has done here for himself? Grady's a real guy. There is nothing phony about Grady Jarrett. So I think people respect authentic people. The reason we wanted Grady back and why we invested the way we did. Like I've gone on record before. Again, I don't, when I have recency bias, it's like when you go somewhere, oh, that was the best, whatever I just, but my history didn't take, you know, whatever. He's gotta be one of the top leaders I've been around. Respect and trust. When you talk to all the defensive guys, they speak so highly of Ryan Dillson already. What is it about him that he's been able to come in so early and implement and make his mark?  Always joking, the line guys, those things have been called Colts. I saw with Russ Grimm, I saw with Mike Munchek, and Dwayne Ledford, there's a certain characteristics about it. No, he's a good teacher. I mean, that's why we brought him in here. We were excited to get Ryan. So you wanna make sure that they're getting his intent and they seem to be, and hopefully they're translating to camp, but very excited. And like I said, that's a good group in there. And there's a lot of guys in there. We've got a veteran group. Certainly a lot of new faces and they get on the same page and they said, you know, Hux is in there, Lanier is in there, Mario, and they work well together. Thank you.


Hi, I'm Anthony Vellada and I'm the March student of the month for PCTI. I really like culinary arts because over the last three and a half years I've been able to dive into the world of culinary arts and I do what I love which is serving in the school restaurant and I'm always with my friends working and collaborating as a team. So over the last school year I was able to participate in the pro-start management team and what that is it's a competition team where we have a restaurant concept which we came up with ourselves and then we presented that to a panel of judges and I'm also a server at Shea Technique in the school restaurant. So after high school I plan to pursue a degree in business administration. I want to get my masters and I came to that decision because after working with the pro-start management team it made me realize that I wanted to own my own business one day. So I was actually really surprised when I was named student of the month. I didn't expect it even though I knew I was nominated and I'm just really grateful. So a fun fact about me is that even though I spent two years in the bake shop at school I actually prefer culinary arts more so I prefer cooking instead of baking. So there are a couple people I'd like to thank for this. I'd like to thank my instructor in my shop Matt Venaria. I'd like to thank my gym teacher Mrs. Yeong and my guidance counselor Mr. Watley for nominating me.


Item Number SCP-3952 Object Class Euclid Special Containment Procedures SCP-3952's area of operation is to be monitored by ground-based radar at all times, with civilian aircraft diverted from SCP-3952's flight path. As the main risk from SCP-3952 is its threat to normalcy, containment procedures revolve around concealing its anomalous characteristics. Site-1922 has been established with the guise of a private vintage aircraft restoration organization – Society for Conservation of Planes. In order to provide a plausible explanation should the existence of SCP-3952 come to the attention of any individual, with at least one aircraft resembling SCP-3952 in constant operation. All efforts to apprehend SCP-3952 have been suspended indefinitely. Two AN-TWQ-1 Avenger surface-to-air missile systems are stationed at Site-1922 in case of emergencies. Description SCP-3952 is a modified Boeing-Stearman Model 75 biplane trainer aircraft. It has been painted in the livery of the British Royal Flying Corps, although the RFC did not operate this model of aircraft. World War I-era precursor to the Royal Air Force Two 7.7mm Bikker's machine guns and makeshift gun synchronization apparatus have been mounted on the nose. SCP-3952 is constantly airborne without any requirement for fuel, ammunition, or maintenance, and flies in a random pattern with a 400 km2 area in northern Minnesota, USA. In addition to flying without clear direction or purpose, it performs aerobatic maneuvers, flies in a manner resembling aerial combat, and occasionally discharges its guns at no specific targets. While SCP-3952 is not hostile unless provoked, it displays further anomalous properties when threatened, including flying at speeds of up to Mach 3, resistance to forces of up to 12Gs, and extreme turning capabilities in aerobatics such as the Pugachev Cobra maneuver, in which an aircraft raises its nose vertically while maintaining constant altitude. In these situations, it has also been observed to exhibit localized reality-warping capabilities involving short-distance temporal and spatial displacement, incorporeal-incorporal phasing. Foundation forces are prohibited from engaging SCP-3952, following the loss of two F-15C fighters operated by MTF Sigma-9, Valkyries. The pilot of SCP-3952, designated SCP-3952-1, is a white, mid-sized adult specimen that can be familiar as Domestic Dog. Obtaining further specifics of SCP-3952-1 is proven problematic, as close attempts at monitoring tends to provoke threat responses from SCP-3952. SCP-3952-1 operates at controls with its paws, although its movements do not completely correspond to the maneuvers made by SCP-3952. SCP-3952-1 no requirement for sustenance, and does not exhibit to discomfort that would be expected from a non-nomous member of its species in the same situation. Like SCP-3952 itself, it demonstrates resistance to high speeds and G-forces. Addendum 3952-1 SCP-3952's origin has been linked to POI-17897, Francis K. Lin, 1930-2002, a peripheral member of the NRS community in the Midwest and hobbyist pilot. Although his connections to SCP-3952 were not suspected until after his death, investigation of his estate and personal effects found purchase information for an aircraft of SCP-3952's model. Vintage weapons identical to those observed on SCP-3952, and various paints and tools for aircraft maintenance. Additionally, it was noted he previously owned a dog, Joe, matching SCP-3952-1's description from the late 1980s until its death in early 2000 and natural causes. The remains of this animal were exhumed and found to be non-anomalous. It remains unclear if and how POI-17897 was responsible for SCP-3952's creation. However, the following message in POI-17897's handwriting was found amongst its personal documents. Document 3952-1 It's a cliché to say those who have left us are somewhere up there looking down on us, but in your case I can believe that. I know the plane isn't quite right, but it was the best I could do. At least I didn't try and put the hat and goggles on you. You're going to be world famous, even though you were always cooler than I was. The nights are dark and stormy without you, my friend.


Operation Pangea 8 is a cooperation between Interpol, WTO and a different health organisation around the world. It's a great way of showing Interpol strength and beauty because we have 180 member countries and that means that we can connect people together during the operation. Operation Pangea will also have private partners and other agencies working together which means that we can take everybody's knowledge and get a good grip around this pharmaceutical problem. We're all working here at our coordination centre in Lyon and they're all sending us emails with the results of what they've been doing. The police do their cases, custom body borders, health agencies do their investigations and everybody is sending us information. I'm phoning them, checking what can we do further, how can we coordinate this between different agencies and get more results. It's quite often that when we are working here that people are sending us messages about for example websites that are in one country and they need help to close down them. We connect our private partners, we connect other countries, agencies, police and see if they can help us to close them down. So it's all about connecting people, help them to get forward and make the job done. When it comes to Operation Pangea it's all about awareness. Whatever we do here, the police are doing their thing and the customers do their work and the health agencies do their thing. But everything together here is about telling people what they actually will learn about this. We have to be careful when it comes to buying from social online. As a citizen from any country you have to check what is the proper pharmacy in your country and don't buy things online.


Welcome back to Tennis Talk, my name's Cam Williams and Raphael Nadal has come out and made some comments about Novak Djokovic's actions at the Olympics. Of course, he threw his racket into the stands, he also smashed his racket at the net post. These are the comments that Rafa made in Washington. Luckily, there was no people in the stands and nothing else happened. But hey, they are things that happen from time to time. You have to try to avoid them. The image is not the best. It is important to avoid this, especially as a role model for many children. He is the number one in the world and one of the best in history. He goes on to say it's strange that someone so successful reacts this way from time to time. But in the end, he's very competitive and reacts like this. So that's what Rafa had to say about Novak's actions at the Olympics. And of course, he did throw his racket into the stands. The stands, of course, were empty, so there was no harm done. He probably wouldn't have done it in a full stadium. But the smashing of the racket and the screaming and the yelling, of course, we know he's passionate. But it was a little bit too far. According to Rafa, he has to be a bit more of a role model, Novak Djokovic. So let me know down in the comments below. Do you think Rafa is accurate or do you think Novak was justified in doing all those things? Of course, he was playing for the Olympics, playing for history, a lot of pressure on his shoulders. And of course, we know from Rafa, he never smashes rackets. He is known for not smashing rackets and upholding a very, very clean sheet when it comes to even talking to the umpire, yelling at the umpire, getting angry in matches. Rafa doesn't get angry at all in matches and he doesn't smash a racket. I've never seen him smash a racket. So this is coming from one of the best players in the world, one of the best players of all time. Maybe giving a little bit of advice to Novak Djokovic because they are role models if they like it or not. So Rafa Nadal, he's come out and made his comments about Novak Djokovic breaking rackets at the Olympics.


Good morning and hello to all. I am Dr. Chuhi Poreja, currently an Arvind resident in Radiology Department of M.P. Shah Government Medical College, Cham Nagar from Gujarat. And today I am going to present a case series on Hydrated cyst and its various locations. The aim of my study is to demonstrate various typical and atypical locations of hydrated cyst using ultrasound as a modality. Introduction. Zoonotic diseases are the diseases that spread from animals or insects to humans. Once a zoonotic disease, a kind of cocosis or hydratosis, as we know it, is one of the most important diseases which occurs in different parts of India, our country being endemic to it. Liver is the most common location of the hydrated cyst followed by the lung, with the approximate occurrence rates of 70 and 12% respectively. This is the pie chart showing the localization of hydrated cyst. Majority of the cysts are encountered in the liver, but it does not make up the entirety as lung. Spleen, cerebrum and other sides of the body, though in less numbers, are also prone to hydrated cysts. The life cycle of hydrated cyst goes as follows. Dogs or other carnivores are the definitive host of the cyst, from which the embryonated eggs are laid out in the feces. Such eggs are ingested by herbivores such as sheep, which form the intermediate host, exist in this form in lung and liver of the intermediate host, and after which this intermediate host are eaten again by the carnivores, continuing the cycle. Among these humans are the accidental, incidental, dead-end host of the hydrated cyst. Accidental in the sense that it is not necessary nor included in the conventional life cycle of hydrated cyst, and we may get infected through the feces or saliva of definitive host such as dog through direct infection. Humans are dead-end host in the sense that the infection is not transmitted from humans or the humans and the cyst cycle ends in humans itself. Materials and methods. Machine used for my study is Samsung RS80 Evo Corvilinear Pro, the ultrasound machine of our institute. The methodology of my study goes as follows. Patients referred to us from surgery department for ultrasonography for various abdominal complaints underwent routine ultrasonography. Three patients were diagnosed with hydrated cysts in different locations and findings were conveyed to surgery department for further management. The results of my study were as follows. The first patient had a well-defined tick wall cystic lesion with internal septals and echoes in left lobe of liver thus liver-hydated. In second patient, thin wall well-defined cystic lesions with internal calcific foci and ecogenic sand were seen in splinic parenchyma thus making the diagnosis as splinic-hydated and the third patient had multiple well-defined thin wall cystic lesions with internal floating ecogenic membrane and various stages of cysts were encountered in peritoneal cavity thus peritoneal hydrotidosis. The discussion goes as follows. Case 1. 55-year-male livestock breeder by occupation came with complain of epigastric pain and vomiting since 15 days. Findings on sonography were as follows. A well-defined thick wall cystic lesion with internal septals and echoes was seen in left lobe of liver. Classical liver-hydated. Another classical appearance seen in liver-hydated is the crumpled membrane or the water lily sign encountered frequently in many cases. Case 2. An 18-year-male came with complain of left-sided flank pain since 15 days. He had a history of close contact with domestic fauna. Findings on sonography were as follows. A well-defined cystic lesion with internal calcific foci and ecogenic sand was seen in splenic parenchyma. Case 3. A 58-year-old female came with complain of right hypochondria pain and episode of vomiting since 2 years. Findings on sonography were multiple well-defined thin wall cystic lesions with internal ecogenic floating membrane in peritoneal cavity were encountered. Another lesions at different stages of life cycles such as this cyst without any membrane or ecogenic content in this cyst were also encountered. Thus concluding my study, the hydrated cyst can present in any part of the body and no site is in view. These unusual locations often produce non-specific symptoms. Consequently, it is advisable to have a high degree of suspicion to consider hydrated cysts in the differential diagnosis of cystic lesions found anywhere in the body, especially in endemic countries such as ARVs. The following are the references used for my study. Thank you.