If you've read the financial news lately, you've undoubtedly been introduced to the bizarre concept of negative interest rates, which have already been adopted in Japan and increasingly are under serious consideration by central bankers in Europe and now in the U.S. Now, negative interest rates conceptually run counter to everything we know about building an economy based on savings and production. And they also conflict with everything Mises and Rothbard understood and taught about the function of interest rates in a society. So here to make sense of it all and to explain it for us is Paul Martin Foss, who is head of the Karl Manger Center, who is a long time monetary policy aide to Congressman Ron Paul and also a frequent contributor to Mises.org. So stay tuned for an interesting interview with Paul Martin Foss. Paul Martin Foss, welcome back to the show. It's good to talk to you and I've enjoyed all the things you've been writing lately on both on your own website and for Mises.org. I appreciate it. Nice to talk to you, Jeff. Well, so negative interest rates, it's all over the financial press. It was in today's Wall Street Journal on the cover. This article in particular was talking about the Bank of Japan and what we're talking about folks is not just negative interest rates in terms of inflation adjusted rates. We're talking about actual real nominal rates being below zero as potentially set by central banks. So first and foremost, Paul Martin, let's talk about the fundamentals of interest rates with the Austrian perspective on them, how Mises and Rothbard understood the function of interest rates. Mises, for example, talked about the original interest rate, which was basically a discount applied against future goods for present goods. Right. And Rothbard was pretty much the same too. I mean, they both understood that the natural rate of interest always has to be positive because people always will prefer to consume in the present as opposed to the future or prefer to consume near at a near point in the future rather than a far point in the future. I mean, the concept of a negative natural rate of interest is just is absolutely absurd. I mean, that would mean that you're hungry and you say, well, I'll I'll eat two weeks from now. Well, by that point, you're dead. It just it doesn't compute with reality. OK, so all of the things being equal, there's no scenario under which I would rationally give you low new $1,000 today in exchange for $900 in return a year from now. Right. So talk about time preferences. I mean, explain to us what time preference means and how it applies to borrowers and lenders who would meet in the middle and develop an interest rate or a price. Well, I mean, time preference, again, people have different different time preferences. Some people prefer to consume a lot more in the in the present than in the future. The interest rate, you know, then it's a function of what exactly what exactly is a particular individual's time preference. I mean, if you if you decide to set an interest rate of five percent, somebody may say, OK, I will, you know, go ahead and defer my present consumption. I will let you borrow this money because I don't need it that badly in the present and in exchange, I'll get more in the future.  I mean, savings and investment is how is how economic growth occurs. You have to have a positive rate of interest. I mean, you just pointed this out, if you if you have government attempts to set a negative rate of interest or or eliminate interest altogether, what you essentially have is capital consumption. There is no incentive to save and invest and you consume your capital. And when it's gone, that's it. You have no more. You have nothing left to save, invest and grow. I mean, it's a it's a essentially self-defeating concept. Why do you think so many economists, not to mention the public, don't understand interest rates as prices? In other words, I'm telling you, I'm going to give you some money now.  How much that interest is seems to me like a price for the loan. Yeah, I mean, and that's one of the things when I was working with Dr. Paul, we always he always used to hit on that. Was this this is price fixing what the Federal Reserve is trying to do by setting certain benchmark interest rates is essentially price fixing. In a sense, you can kind of understand. I mean, when you when you talk about, for instance, monopolies, too, I mean, people, a lot of economists will say, oh, yeah, monopolies are bad. We need to break them up. And you say, well, what about the government's monopoly on roads, the monopoly on the justice system, the monopoly on defense? And immediately their minds go blank because they just it doesn't compute with their worldview. They're not willing to think outside the box. I think because, you know, interest rates are quoted in percentages or basis points and because they're not quoted in necessarily in dollars or euros, people just don't bother thinking of them as a price, which is what they really are. Well, if we understand that conceptually, at least interest rates would be positive apps in any sort of government or central bank intervention. Fast forward to today, Mies and Rothbard no longer with us. Do you think negative interest rates as being discussed and even implemented by central banks around the world are these some? Is this represents sort of a Hail Mary past? In other words, we've had this extraordinary monetary policy period basically since the crash of 08 in Japan. We've had it far longer than that. So they've tried zero interest rates. They've twat. They've tried endless rounds of quantitative easing. Is this sort of the next the next gambit? Is this a Hail Mary? I think so.  You have these central planners, these central bankers who think that they're geniuses. They think they can manipulate the economy just so, you know, set this variable to this and this one to that and everything's going to be just fine. And they I think they realize now that their their models have failed. They don't know what to do. And they were literally grasping straws and they figured, well, this is pretty much the only thing they can they can do at this point. They've exhausted, I mean, QE, they've pumped trillions of dollars into the system. The ECBs done the same thing with their monetary easing. The Bank of Japan is, you know, pumped a few trillion yen into the system. They just really don't know what to do. They're the grasping straws basically thrown something at a wall trying to see if it's going to stick. And it really it's going to end up being a failure. I mean, if you look at the ECB, if you look at the, you know, why they went to negative interest rates and figure what was it a year, year and a half ago, they said, well, we don't want these banks parking the reserves at the central bank. So we're going to do negative interest rates that money is going to get forced out in the economy and they're going to loan it out to people and everything's going to get better. Well, when you look at the actual numbers of reserves that are parked at the ECB, you'll see a small dip when that first negative interest rate kicks in. But then it increases again, it comes right back up to where it was. It was a complete failure from a from a practical perspective because the banks, a lot of the banks figure that, well, we'd rather take a guaranteed loss parking our money at the central bank rather than loan it out and risk losing all of it. And so it just it just doesn't work. I mean, it's both theoretically and practically a bad idea. But this term has been bandied about for the limits of monetary policy. In other words, pushing on a string. It seems like you can't force banks to make uneconomic loans to insolvent borrowers, right? I mean, in other words, both business and household debt worldwide, but certainly in the US have increased since the crash of 08. Right.  Nobody knows when the other shoe is going to drop. Everybody has this kind of sense of foreboding that something bad is going to happen. They want to park their money in the bank. They want to hold cash. They want to keep things safe and just wait and see.  Don't be conservative. Push the stuff out there.  That's the way to stimulate things. And people just aren't going to respond to that. I mean, there was a Wall Street Journal article, I think last week, that said that some study had said that in the Euro area of a negative interest rate could possibly go as low as negative four and a half percent. That's mind blowing. I mean, when was the last time you even saw a positive four and a half percent on, say, a bank savings account? Wouldn't happen. So to think that it could go to negative four and a half percent is just and that's, of course, that would be the rate that the banks are being charged. Of course, if they pass those on to the consumers and the depositors, you can guarantee it's going to be even even lower than that. So it's just mind blowing, you know, what kind of policies they're trying to push right now. Well, you mentioned it hasn't worked in Europe. The ECB has not been able to force member banks into increasing loans, at least not much. Now, let's say hypothetically in the U.S., let's say the Fed was able to achieve this and so commercial banks no longer parked their reserves with the Fed or at least not in the numbers they do now. And they sort of pushed this out in the public and commercial banks responded by charging consumers negative interest rates on their deposit holdings. Would that not create an immediate sort of flood in the banks to withdraw cash? I mean, that seems like the rational response to me. Right. I mean, that is the biggest fear, obviously, is that people are just going to start pulling the money out of banks. You collapse the deposit base, which means all the loans have to get called in, of course, because of a fraction reserve banking system. If too many deposits are withdrawn and the bank can't cover it and it goes under. If you're talking a Bank of America or a Wells Fargo or, you know, these large commercial banks that maybe had some large institutional deposit holders to start to say, well, you know, why store our billions at the bank? You know, maybe it's cheaper. And you see this, I think, I want to say it's Switzerland, some places in Europe where some of these businesses are now starting to say, well, it's actually cheaper for us to just buy a safe and park the stuff, you know, in a safe and on business rather than hold a bank account. And if they start doing that, then you kind of get this domino effect, this spiral of, you know, deposit withdrawals and bank collapses that will eventually, you know, create this huge, huge spiral that it will take down the banking system. That's the real big fear if you try to push these negative interest rates. And the thing is, because this is uncharted territory, nobody knows exactly, you know, where that border is, where that limit is.  Well, the irony here is that all of this, of course, sounds deflationary, which is what central bankers live to fight, right, is deflation. I'm just curious though, if commercial banks did experience a run, you know, the cash just isn't there. The fiscal cash is not there. If you go to your bank and try to take out even five or $10,000, they oftentimes your local bank branch simply won't have it. Well, I remember when I was working for Dr. Paul, we took a trip up to the New York Fed and they showed us the underground vault where they store the gold. They showed us a couple other vaults where they had printed all this, I guess it was in the aftermath of 9-11. They printed billions and billions of dollars of cash because they were afraid that there were going to be bank runs and people were going to start pulling money out of the bank and go into ATMs and everything was going to run dry and there wouldn't be no physical cash. So they have pallets and pallets of physical cash down at the New York Fed. Now, I doubt there's still not enough to go around in the event of a really, really big crisis. But I mean, I know that they are sitting at least as of about three years ago, they're still sitting on some of those pallets of 50s and hundreds. But of course, one way to fight this is to declare war on cash, right? Take $100 bills out of the system, which has been floated in just recent days by the awful former Treasury Secretary, Larry Summers. And all of a sudden, it gets pretty hard to hold significant wealth in cash. Right. And if the end of banning cash and going to mandatory digital payments where everything is in the bank and through some sort of electronic payment system, they're going to be able to force negative interest rates on you because then what can you do?  Well, you can't pull your money out of the system unless you buy food or clothing and use that as kind of a barter method. But all you can do is transfer it to another bank that you hope has a slightly higher but still probably negative interest rate. It makes it very difficult for consumers to escape these monetary shenanigans if war on cash continues. You know, Paul Martin, we just have time for one last question. But if you step back and look at all this from a distance, you know, it really goes to the two basic perspectives that have dominated economics in, let's say, the last 150 years. One, you could loosely term the Austrian school based on Sey's law that says, you know, savings and production are what grow an economy. The second, the now dominant strain of economics we might call neocainsiness, which basically says aggregate demand is king and we need to stimulate it. And it seems like the triumph of the latter viewpoint is being sorely tested in what's happening today. Yeah. And I mean, I think for the last, you know, at least 50 years, what we what we've had is because, you know, we've had negative rates of return on, say, bank accounts. I think the Bundesbank did a study that showed that people would deposit money in the bank for the past 50 years. They've lost money every single year. We've had kind of a slow motion capital consumption as Mises said would occur. We've basically been testing, you know, kind of these. We've basically been a lab lab rats for cocaine for the past 50 years. But we're reaping the negative effects of a capital consumption, monitor huge amounts of monetary inflation, especially after the gold window was closed. I know a lot of people in the United States, I know we're starting to wake up thanks to good work that Mises Institute is doing and all the resources people can find there, they're starting to open their eyes and realize what exactly the Fed's doing wrong and what the ECB is doing wrong. The question is, when are the policymakers going to finally admit their fault? I mean, the two most difficult phrases, I think, to utter in the English language are I'm sorry and I don't know. And for people who have spent their entire careers in government and academia and risen to the level of the Federal Reserve or, you know, member of the Board of Governors, last thing they want to say is I don't know or I'm sorry or I can't help. We don't know what to do. I really think they're just going to keep stumbling and bumbling into a complete economic collapse. Well, one thing we know for sure is you cannot create prosperity simply by punishing people for saving money and accumulating capital. Paul Martin Foss, thank you so much for your time. Ladies and gentlemen, have a great weekend.


My name is Alessandro Falgartia. I'm a Senior Solutions Engineer in the NGINX community analysis team, and I also happen to be the main slash only internal developer for two of our most popular open source projects. One of them is the Docker NGINX, some privileged image. And the other one is the Ansible NGINX role. Guess a little housekeeping before I guess I started proper. You can find my contact details down there in the slide. I'm sure you have any questions after the session. Feel free if I don't get to them here. Feel free to shoot me an email, get in touch via Twitter or GitHub. And just to set expectations a little bit more, I don't think any of the lessons that are going to be covering here are necessarily going to be groundbreaking. But hopefully they confirm things that you're already doing in your pipelines nowadays, or they provide some guidance on how you could improve some of your workflows. And with that being said and done, let's move to the beginning, chapter one, the great NGINX. So you probably already know what NGINX is, but just in case, just you level-set expectations. Well, level-set, you know, a little bit of what NGINX is about, and just to people that might be actually tuning to the recording. Later down the line, let me give you a little brief recap about NGINX. NGINX is, well, it started out as a web server in 2004. The main goal back when it was first created, or the problem it was trying to solve was the world-famous C10K problem, which the Cliff Notes version of that problem is that no web server before NGINX could handle 10K concurrent connections. Then NGINX came along, and it was able to handle them. There's a little bit more nuance behind it, obviously, but I'm not going to delve into it right now. As of April 2023, it's the most used web server in the world. And in the almost 20 years since it first got created, it's been a bunch of new features that have been added. This day is in addition to being able to use NGINX as a web server. You can use it as a reverse proxy. It's an API gateway. It's a content cache, it's a CDN, it's a WAF, and the list goes on. You can pretty much do everything with NGINX. Well, not everything, but you get to just. And there's very, very good reason for its increasing performance. You could say that NGINX is the Formula One car of web servers. It has a very performant engine, hence the name NGINX. That's probably a joke. I actually don't know where it came from. But it also has a very lightweight encasing. It's around 8 megabytes on Alpine Linux. If you're using other distributions, Debian, Rel, whatever, it's not going to be 8 megabytes, but it's still pretty small. Combine those two things together, and you get a placeingly fast web server. Well, reverse proxy API gateway depends on how you want to use it. Moving on, chapter two, tail off to GitHub projects. So now that you've covered a little bit about NGINX, let me move on to the two projects that I'm going to be talking about today. The first one is the Docker NGINX and Probletch image. This project is fundamentally a port of the upstream Docker NGINX repository, which you'll probably have used at some stage in your life. And the only major difference, while there's two main differences, the first one is that it obviously makes some changes to the Docker image to be able to run NGINX in an appravelled environment. The second main difference is that it has its own pipeline to build and push those images. The upstream Docker NGINX repo is part of the official Docker library, so all the pipelines are maintained and supported by Docker for various reasons that I'm not going to delve into here. The imprivileged image is not part of the official library, which means all the building, pushing all the CD pipelines have to be run locally by, well, not by me, and not locally, I guess, but they have to be integrated within to be able to run BIOS by NGINX. And then there's the Ansible NGINX role.  There's one for configuring NGINX. There's one for NGINX app protect, which is our commercial WAF offering. There's an Ansible collection for NGINX. Bunch of Ansible stuff out there. But all of the innovative, so to speak, or any of the new developments that get done into your CITD pipelines are usually first made on the main NGINX role, and then they get ported across all other roles and collections. Ansible, everyone I'm sure knows about Docker Ansible, just in case you don't know, just TLDR, it's a configuration management tool. It's not that dissimilar from Puppet who is here, for example, it's one of the sponsors. And with that, let me move on to chapter three, Moby Dick or the Docker Unprivileged NGINX Image. I'm going to be covering now some of the lessons that I've learned. They were mostly in chronological order to when they were implemented, not always, but just to give you a little bit of a guidance on how things are going to be presented. And we'll start with the first lesson, just to implement a CITD pipeline as soon as you can, not four years later, which is how long it took me to implement a CITD pipeline for the Docker NGINX Unprivileged Image. For the first four years, I was building everything locally using a local script. Then let's just say local scripts for CD are not great. This script took, on average, about 30 hours to run. On my laptop, every time I had to do a new release or a new CVE came around and had to rebuild everything from scratch, it's not that common for a build script to last 30 hours, but it can last even longer than that. You don't want to have your local laptop or your local environment being set up to such a tremendous amount of effort for so long. Also, in this case, it took half of my laptop's RAM, basically made it unusable, say your laptop crashes, or whatever many issues your local laptop can have will crash the script. You have to start again, not fun times. And as it turns out, it probably took me longer to actually write this batch script than it took me to implement CITD at first place on GitHub, so you know, just as soon as you can, just implement your CITD pipelines, whether it does via GitHub Actions or whatever other tool out there that you want to use, just make it one of your first priorities. Second lesson, figure out when to best publish new artifacts. That is especially relevant if you're pushing something like Docker images to an option repository, it also can apply to any amount of packages. There's some expectations or like some unwritten rules around publishing packages. One of them, for example, is that you never publish something new on a Friday, because if things break, people are gonna have to stay over the weekend, that's not fun. So it's up to you, you gotta figure out what makes the most sense for your project, for the Docker engine action privilege project, what we ended up settling on that made the most sense, it's on a weekly basis every Sunday night, or Monday morning, midnight, I think it's CST, I think that's the default GitHub Actions timing, or time zone, new packages, well, new Docker images are built and published, both to Docker Hub, to the GitHub Internet Registry, and to the Amazon ECR registry. And then there's also the option, which is very neat that GitHub let's see do, which is to set this flag called workflow dispatch, which lets you manually trigger those builds down the line, which for example, if say it's Wednesday and someone finds there's a new CVE and then there's a fix gets released for the CVE and you want to publish that fix before next week, you can just go manually trigger that new build. Next, let's integrate one delivery target at a time, if once it works, move on to the next target. This is what I did when I was implementing Docker Hub and the GitHub Internet Registry and Amazon ECR. Even if you have the code done from the beginning, and you're pretty sure it works, and you may be tested in development and it works, once you're publishing it to production, it's just way better to still make sure that one target works at a time, you push your build, see you Docker Hub, you give it a couple of weeks, make sure that there's no fires to put out, then you'll implement, let's say GitHub, yeah, the GitHub Internet Registry with another couple of weeks, make sure there's no fires to put out, and then you go into the next step and so on. This fundamentally helps you if things go wrong to just be able to address one issue at a time instead of having like, I don't know, 10 new issues over a week targeting three different platforms. The next lesson is that caching can be cool. Better be wary of potential pitfalls. Why do I say this? When I first found out about caching in Docker, using GitHub Actions, well for Docker images using GitHub Actions, I thought this is cool. My builds now on average on GitHub Actions still take like four or five hours. Let's try to make it a little bit faster. Turns out that did work quite nicely. Actually, my build times went from like four or five hours to 30 minutes, 20 minutes, 10 minutes sometimes. But I did not take into account that caching, the way it's implemented at least for Docker on GitHub Actions. It fundamentally does not detect package updates within your internal Docker file unless you're very explicitly set. So dependencies of dependencies and so on are not really flagged as being outdated. And what that means is that when any CVE happened and you fix was released, sometimes rebuilding the full image will not actually force the rebuild of the cache and the CVEs will not get fixed.  Fundament, and there's also this small issue that the GitHub Actions cache to this day is not fully quite there yet, where it should be. If you want to delete a cache, you have to go through the entries manually, they'll let them be at UX. If you want to use the GitHub CLI, it's a little bit better, but it's still a little bit of a process. So caching can work out in your project, but before you implement caching, make sure that you're taking into account all the possible things that go wrong with the cache and be ready to potentially having to use certain caches and going through that process, which again, it's still not quite there yet. And the final and very obvious lesson that I've learned over time for the Docker Engine X Privilege repository, is to never write tags. I made, once upon a time, decided to rewrite a little tag because I made a small change and I thought it was gonna be a huge quality of life improvement for everyone using the repository and using the Docker image turns out, people were not happy about it. And since then, obviously, I learned my lesson the hard way. You just never write any tags no matter how minor changes. Doesn't matter if it's just a marked-in update, people expect their tags for a good reason, obviously, to be immutable and they should be immutable. So yeah, no matter how tempting it might be, just don't do it. And with that, we can move on to chapter four from the Earth to the Ansible Galaxy, which is some of the lessons I've learned whilst developing the Ansible Engine X role. Ansible Galaxy, for those of you that might not know, is the Ansible open-source marketplace as the little joke. All right, lesson number one, avoid a pipeline vendor lock-in as much as possible. When it first started working on this project, the go-to default for Ansible workflows were both for CI and CD was Travis. It was the recommended tool by Ansible. It actually even came with some built-in integrations. As we all know by now, Travis open-source is no longer a thing for better or worse. So that's obviously not a good candidate for any open-source project. So it had to migrate to GitHub Actions. You could fill in any other pipeline tool out there. GitHub Actions just made the most sense to me. And fundamentally, it was relatively easy for me because all I was doing in Travis was a bunch of scripts. Porting scripts is easy, but you gotta be careful not to try to lock yourself too much with that pipeline.  So time down the line, it's gonna be quite hard, which does not mean that you should not be using external GitHub Actions supported by other people. Just make sure it's a conscious decision and what you're doing when you choose to use one of those instead of your own scripts running on whatever platform. Lesson number two, optimize your pipeline's runtime and efficiency. This is one of the most important things. Honestly, this day and age, as far as pipelines go, especially if it's part of your automated workflows, it just makes your life so much easier. Developer productivity, it goes up to roof, if there's an issue with your code, you're gonna be able to find it as soon as you can. You know, there's multiple ways to do it. There's no right or wrong way. For example, in my case, I used to run a bunch of molecule tests, molecular-sensible native testing suite, but I used to run them in order in the same workflow. What that meant is that fundamentally running a full suite of tests will take easily about eight hours, something like that. That's when I learned about using build matrixes, and I mean Travis supported them, so that's get-up actions. I am seeing other tools that support MT. You can create a workflow matrix and then you just run a bunch of tests at the same time, run like 10 jobs concurrently and they will hopefully be done within an hour or two instead of having to wait like 10 hours just to have a single test of, well, suite of tests to run.  The next lesson is, split your pipeline into distinct workflows. So when you're starting, this is a little bit like, you know, monolithic versus microservices, when you're starting, having something at the same workflow file can ease development speed, might make sense, depending on your whole ecosystem infrastructure and the complexity of your project. But as you keep developing it, you keep adding more use cases to you and things that your workflows can accomplish, it's a good idea to start splitting them into unique and distinct responsibilities. For example, in my case, I have one pipeline that's for testing, I have one pipeline that's for deploying new Ansible releases into Ansible Galaxy, and then I have one pipeline that's for creating release notes. And it could get even more different than that. It could have like a pipeline that's for testing software, for testing PRs and then for testing external and internal PRs, different pipelines. It could have a more complex pipeline that runs once a week and does like a full range of unit and integration tests versus a more simple pipeline for external PRs. But fundamentally, it depends on your use case again, just keep in mind that it's usually a good idea to over time split your pipeline into distinct workflows. And this actually ties into the other lesson, figure out when it makes more sense to run each workflow. If it's a workflow that just publishes to say Ansible Galaxy, maybe you only need to run it when you're creating a new release. Maybe instead, if you have a pipeline that is creating Docker build artifact, you want to publish it on, you want to run it on every external PR, publish it to your development environment and test that it works. If you have a pipeline that only does release notes, maybe you only want to run it when you're doing release notes and so on. Again, it depends. But you gotta figure it out. And it's a good idea to spend some time thinking about it. Let's listen, depend upon is great and you should enable it. This is very GitHub specific. Find out about it's a great tool. It will tell you exactly what packages you have audited. It will open PRs for you automatically. It will save you a lot of time that you will be spending otherwise if you were hunting for those updates yourself. There's a little issue with it though and that's that it can also be overwhelming. If you, I mean, at least as of two years ago, things might have changed, but two years ago the defaults meant that the Pandabot will open a PR anytime that you release for any package got released. That, and sometimes I can, this trial series of PRs that I have here basically results that over a week, maybe you have like five, six PRs being opened at random times over different days. So only, you know, how to your job becomes to be a dependable maintainer. So it's a good idea to use dependable but tweak the updates to a consistent and same frequency. What I did and what made the most sense to me is that now every Monday, because dependable lets you do this and, you know, not a lot of people know about it, but basically what it is every Monday at midnight or Sunday night, dependable search at the same time for any new updates, it opens a bunch of PRs and then every Monday morning when I log on to GitHub, I can see any PRs, deal with them all at once. If there's any issues with one of the PRs, I can deal with it over the week and so on, but I only have to worry about dependable once a week, fundamentally. All right, next lesson, hard code package versions in all your pipelines. This is something that has bit of me quite a few times, it still does bit me to this day with some packages like last week, just more recently. A lot of, it's not uncommon, especially in some more dynamic ecosystems such as Node or Python, to have multiple packages being released week after week.  Every once in a while might have breaking changes. It's not uncommon for a workflow to just randomly stop working from one day to another and that's again not great. It's not the first time that's happened to me that I've had to spend like a full day just trying to debug why my pipeline stopped working only to eventually find out the issue was that one of my dependencies got a major breaking change over an overnight update and I did not realize. Hard coding, those package versions helps with that. You will always know what version is being used and if there's any update to that package, it'll be found by dependable, dependable will open up ER and you'll be able to fix the issue in that dependable PR specifically instead of your whole pipeline failing. The next lesson is that pipelines will randomly fail and it's good to find ways to avoid a hard restart. Why do I say it will randomly fail? If you're using anything that really lies on a potential HTTP endpoint, whether that's downloading a package from somewhere or querying an API, timeouts happen, the internet goes out, there's always a chance that something will randomly fail if you use networking or anything like that in any way or shape, you'll know what I mean. There's a very, by default, GitHub has this option, GitHub Actions has this option called fail. I can read it from the side, it's fail start or fail save. Fast fail, something like that. It's such a true, that means that if one of your jobs in your matrix fails, everything will fail automatically. I'm not a big fan of that because again, Python's randomly fail. I always suggest people, she said it to false so that if one of the job fails, all the other jobs will still continue and ideally if it was just a random failure, all the other jobs will succeed then you can go to the job that failed, dig into it, see why it failed. If the issue is something to do with your code, obviously you go fix it and push the new commit but if it's just a random failure which happens about, it happens more than like, I don't know after time, it happens more frequently than it does not, you can just rerun the job that failed. The next lesson, very briefly, soon is something that you develop over time, it's just whatever possible, consolidated pipeline tools and steps. To do this properly, you usually have to keep actively checking for updates and the tools that you're using. An example for this, for example, is one of the Ansible lint objects that came out in the past couple of years. Added YAML lint as a dependency and started running YAML lint natively within Ansible lint. What this means is that, well, what this meant is that I was fundamentally able to get rid of YAML lint in my workflows and have Ansible lint with that. It's not a big time saving but over time if a bunch of these little changes happen to some of the tools you're using, you're gonna be saving some time and it goes back to optimizing your workflows, be able to run through workflows as fast as you can, as often as you can. There's also, beyond that, there's also just how you keep developing your workflows and how you learn how your software works and how the workflows work. There's always opportunities to optimize some of those workflows a little bit more and consolidate steps, probably. Next lesson is enabling contributors to develop PRs for less than software. I'm not gonna adopt too much into this because this is one of those there's no right or wrong ways and it depends on your use case but fundamentally if your tool has like an open source component and maybe an enterprise component like nginx.dash, nginxuppensource and nginxplus, it's a good idea to let users have a way to test those enterprise features by letting them have an option to if they fork the repo, provide some licenses, some secrets, be able to test that software. Instead of doing what I initially did here which was to fundamentally block any enterprise tests from running on any fork or external PR. And the last major lesson is integrate all the plumbing and target distros in your pipeline as well as your target architectures. This seems like it makes a lot of sense but I've seen a bunch of times where people don't properly test all the platforms that are part of that their software is supposed to target or they don't test properly all the architectures that their software is supposed to be running in and it's very obvious it just saves you a lot of headaches even if you test some of these things locally and they're not part of your pipeline. And you think you're gonna be doing locally, every major release, it's only a matter of time until something slips and you stop doing that. So just integrate everything in your pipeline, in your automated pipelines really. And with that for the final few minutes we can move on to chapter five, 100 years of collaboration, also known as why pipeline as code is great. Pros and cons, fundamentally. So there's the good. There's the version control side of things when you're using pipeline as code, CICD as code, version control, everything is checked into Git or Mercurial or whatever tool you're using. I would hope most people are using Git these days. You have automated PR, well not necessarily only PR automated CICD it's very easy if you use pipeline as code. You can foster continuous improvements by knowledge sharing between amongst other open source users out there in the world. You can reduce false positive bug reports. This adds a little bit into the whole, make sure that you are code on your package dependency, someone not. It helps people know if the issue is an issue on their end, maybe through using some packages that are not the package versions that they're not the versions that you'll be using, or whether it's an issue with the source code as an actual bug. It also helps because people can then look at your CICD, be like, hey, this is being tested this way, maybe I'm not using the software or the tool the right way, maybe there's this flag or something that's not documented but it's in the CICD pipeline. It does help quite a bit with that. And then the last part is both the source code and the CICD code live together. This is quite important because as a user, it's an open source user, I know for example I myself love when all things are in the same place where I don't actually navigate through three different websites to find everything related to the software I'm using. So that's the same way why you probably would want to have docs in your repo and your source code too, this makes your life, makes the life of external developers and internal developers too, all the much easier. Then there's the bad, which is not necessarily bad, it's just things you need to think about. You know, what do you do with secrets? If you're gonna, it's an open source project and it requires secrets to run. Do you enable them for external PRs? If not, do you provide an easy way for external PRs to access your secrets? It's stuff that you need to think about. There's no right or wrong answer. Again, it depends on your use case but you need to consider it. Then there's when do you run your CD pipeline or for example, who or who triggers the CD pipeline? Does the CD pipeline get run on every PR? You know, get pushed to development repository? Does the CD pipeline only get run on new release? Is the CD pipeline automatically triggered? Do you need like a maintainer to come along and run the CD pipeline? All food for thought. But it's not necessarily bad, it's just the things that you really need to keep into account. And then there's the ugly, which is the const, there's really no const that I can think of or that I've ever really been able to find with pipeline as code. There might be some, I don't know, if there are just hit me after the session and I will make some amends but you know, just no bad reason to start your journey with pipeline as code. And with that, that's the end. You can find those details in the slides later and they're gonna spend too much time here.  And then there's the little epilogue, which is basically the Q and A. But before, I think I have like two minutes for questions, not a lot of time. I just wanted to do a quick call to action. We have an engine X community slack. If you, it's quite recent, only like two months, three months old, maybe a little bit older than that. No longer than half a year old. But we are all hanging out there. It's been growing quite steadily in population. If you have any questions, if you want to interact with any of us engine Xers out there in the world, this is a great place to do it. And just secure code there, just the link down. Then there's my contact details again. If you want to reach out at some stage. And I don't know if we have time for questions, but if you do, does anyone have any questions by any chance? No, no, yes. Yes, there is a tool called ACT. It's a little bit of a, it's not the easiest tool to use. It has its quirks, but it does the job. Good enough. Decides? Yeah, there'll be, there should be on my, if you look at my session profile thing on schedule app, whatever, I uploaded my slides. There should be a way for you to get access to them. I honestly don't know how that works, because I've never done it, but there should be a way. Oh, for publication. That's all, maybe a little bit more involved. Say around later, you can shoot me an email or something. We can look at that, yeah. Right, one more question. Yes, you actually do use that for all my Docker builds, yeah. Yeah, she mentioned Docker. I built for all sorts of architectures using Docker, I use Docker or Kimu now on GitHub Actions. Kimu, I don't know. Anyways, way back when I did use Docker BuildX natively on my GitHub, when I run the script locally, and when these days, by default, if you use the Docker Build Action on GitHub Actions, it does use BuildX behind the scenes. There's like S390, LPC, etc. Yeah, I do that for the Docker Engine X images that are built for all the architectures. The Ansible role gets tested on AMD ARM64 and S390X, actually, S390X, that's the name they come off with these days. All right, any more questions? No, I think that's it then. Thank you for coming along.


Live from Midtown Manhattan, the Cube's live coverage of Big Data NYC, a Silicon Angle Wikibon production made possible by Hortonworks, we do Hadoop and WAN Disco. Hadoop made invincible. And now your co-hosts, John Furrier and Dave Vellante. OK, welcome back everyone to Big Data NYC. We're covering all the action at Hadoop World Stratoconference. A lot of action. This is where in New York City it's all about business and tech coming together. I'm John Furrier with Dave Vellante. This is the Cube. Our next guest, Ed Dunbill, Cube alumni, an amazing person, really a big part of the Stratoconference co-chair, Alistair Kroll. Welcome back, part of Silicon Valley Data Science. Congratulations on your huge success, Estrada. Always great to have you on the Cube. How's it feel? Well, thanks very much. I feel absolutely delighted. We have a full packed house. It's kind of difficult to walk around there. It's been a great show, a lot of energy. And I think as well we've still told a good story, right? Full of vendors. You can just always hear what the vendors are trying to say, but above that, beyond I think everyone's reaching for a story and reaching to make Big Data practical and tell people how to do things in a meaningful problem first kind of way. We had a lot of conversations here in the Cube about folks talking about the show, packed. But the bumper sticker seems to be coming of age, right? The maturation.  It's such a short period. I mean, you're talking about, we're talking about production scale deployments now. It's, as Gardner says, it's now not what, why, it's who you're going to do it with. And what are the platforms? What core things have you learned from the show coming out of it now that you can look at and say, hey, you know, this is the nugget that came out at Strata Conference this year? Well, you know, I think we're at this, you know, you said the coming of age is certainly a great threshold. There are several kind of periods in the industry's life, right? And we're at the 1000 flowers blooming stage and everybody pouring money into this at this point and trying to solve a bunch of problems. I think one thing that's very clear that's coming across is it's, the whole is more than the sum of the parts. And we're really reaching for a big data kind of platforms inside of organizations. And really when you look going forwards, we're not just Hadoop and, you know, Hadoop itself is morphing into something more like Linux.  And really what organizations need is a solid platform to build their enterprise data apps against. So my take home is it's great to see things consolidate where businesses aren't just saying, look at our tech, isn't it great? But look how we can solve your problems. And the second thing is looking forward. We're going to think a lot more about enterprise data applications than we maybe were thinking about making BI cheaper. That's ultimately the Holy Grail. And the theme that Enterprise Ready has been a big one. But it's interesting with ClearStory. I was talking to Charmilla this morning. She brings a whole other dimension that Platform was teasing out, which is, you know, making that real-time BI, business intelligence, be like a search engine. Charmilla takes the whole other level of like, hey, user. iPhone, iPad. I'm not a data scientist. I'm just making, I'm Billy Bean in the organization. I could be anybody. Yeah, I think it's great, you know, that people are actually paying attention to that end of it. You know, for a long time, Tableau has been the only person really in that field. One thing that I find very interesting about ClearStory is that because it's a cloud service, it can take some of that market where, maybe say, ClickView used to be before, in that kind of departmental area where the spenders may be the CIO or the product manager's discretionary spend. So it's opening up a class of product and big data, you know, cloud-based self-service analytics that has been quite young so far, and I'm, you know, excited to see the competition. It's AC after cutting, as I'll be able to say. I just put that together. That's good, because all this stuff was BC. But despite some of the incredible success, there's a lot of it predates Hadoop. Yeah, and you know, one of the interesting things about ClearStory is, as far as I recall it, a bunch of the stuff under the covers is actually the spark of Charlotte, the Berkeley analytics stack. And that's pretty interesting, because you've got them coming into production based on it, and you've now got their funding of Databricks, which are also partnering with CloudEro. So I think, you know, we'll see Hadoop there as a substrate. I think we've got another bunch of techs on top, and it's wonderful to see attention being paid to the user. So that's a low-latency play, right? That's the value of Spark, is that right? Right, that's the in-memory stuff and the SQL querying, yeah. So that's what really enables them to, you know, basically what in-memory gets you is responsive analytics in the system, and that's what the Berkeley stack is bringing on top of HDFS. Talk about real-time, and we had conversations, and not in debates. We didn't really actually get into the debating of Storm versus, say, Spark. Real-time is huge in machine learning, you know, graph processing. These are the cutting-edge computer science conversations happening right now, certainly on the graph side in machine learning. But now with real-time streaming, do you go with Storm? Is it Storm or Spark? I mean, what's your take on that? Is it just simply two horses on the track still? Is it too early? Well, I think there are actually two different things. I mean, there's two aspects to real-time. One is getting data into the system in real-time. The other one is actually, you know, getting queries in interactive time. And so in this case, Storm is one, and Spark is the other. But I think that's a really important point you hear, you know, a couple years ago, oh, batch is good enough for anything, right? But the real important thing in solving data problems is the person. And if you have to wait ten minutes between queries coming back, the person goes to sleep, loses their flow, and they're not empowered. So the real important thing about real-time and in-memory database technology is that it empowers the analyst to explore interactively, rather than going off to sleep and losing their thread while the query runs. Yeah, real-time means real-time like now. Yeah, I mean, we talked about the Amarawadala on earlier, talking about, you know, the personalization aspect of it and how the discovery side of it might not be search query-like, but all that will be rolled into the app. So, you know, we were talking about the recommendation engines, and the first instance of big data was, you know, which I had to put in front of the user, but if you take that same premise, the same concept, discovery could be whatever that edge point looks like. I think one of the really important concepts in computing going forward is going to be personal context, and you see that coming out on mobile devices. Things like Google now are really early foreshadows of this. Well, given that I know a certain amount of what you're doing, I can make even more intelligent things. If I'm your friend, John, I know what you drink, and I'm only going to suggest we go to bars where they're specialized in it. Why on earth do we have to do so much work to satisfy what ultimately is lack of effort on behalf of the programmer? This is one of my big bug beds. So context and intelligence search, I think, is wonderful that's becoming like a default expectation and interface. Great. So talk about what's next for you and what's going on with the data science operation. So your day job is about data science. So give us the update. What's happening now? What are you working on? What are some of the cool projects you're talking about? Yeah, obviously we can't give you exact customer names at this point, but we are rolling forward really happily.  And really the theme, I suppose, one of the things we're doing is they're probably up and running with some degree of data-driven business already, but they're looking to make a business transformation towards something that's a lot richer, like adding context, like turning information into retail, a lot of things like this. And so we're attacking the problem at a bunch of levels. We believe that to do good data work, you need both data scientists and data engineers in the same team, and that's how we deploy. And then it's often a matter of data architecture at the same time as smart algorithms, because you cannot do data science on the data if you can't get the data in the first place. Yeah, we love having you on. Hillary Mason was just on. She's again one of our, she's cut from the same cloth as we love. We're data geeks, and we're always early on this stuff, so we kind of like, people think we're crazy when we start talking about stuff. You're one of those guys who has a good nose for it, very practical. So I want to get your opinion on the next topic of gamification. And gamification is basically algorithmic manipulation of data in real time, whether it's, you know, poor gaming, or using things like voting, or using some scoring, where rankings come in. And this is stuff that's kind of on now the real front end of really cool user experience. You mentioned, if you know I'm your friend, I like to drink, then that's essentially gamification going on in software, in context. And Hillary mentioned the app where you tap on, it gives you the precise forecast where you're standing. So where is gamification going in your mind? What have you found? And can you share your opinion on that? You know, we certainly heard a lot about gamification in recent years. You know, it was far back as when we were back in New York for Web 2 Expo, which is what, like, four years ago, it was a big thing, and it was certainly a big thing in the user experience world, how to get people engaged. And like a lot of topics, I think it maybe went way out in specialization, and it became a buzzword. One became slightly cynical of turning everything into a game. What I think it is, in its essence, is again what I was saying, essentially respect the humanity of your user in the same way that great, it's about great software design in the way that, you know, say Apple is about great product design. There's something that feels great about it. And to me, gamification and trends that have that aspect is, recognizes a human there, and we interact in many, many sort of ways and reward and enjoyability of the experience, comparing ourselves to our peers, all things like that, make it nicer for us. It also enables us to volunteer more information, which is more context that the big data machine can then use. Two years ago, you talked specifically about user experience. I remember that we were talking about big data. I think it was last year, the year before, which feels like 10 years ago.  No, you're talking about the user experience. Use the gamification, game mechanics to add value to the user experience, not so much to sell them something, right? That's what you're getting at, right? Yeah, you know, I tend to believe that all these things, people find out they work, right?  And I think it's something that's sympathetic that, fundamentally, what people has driven gamification is that, oh, software engineers discovered human nature all over again, right? And the things that we enjoy, and then, ooh, that way. But now it's for tea, you can't play 9,000 games, right? But you can understand that things should be enjoyable to use. You should feel a sense of accomplishment as you work through things. Things that great teachers have understood, you know, for years. Yeah, Dave and I were just talking yesterday around fatigue, gamification. And one of the things that we talked about is that, you know, there's a line between creepy and awesomeness, right? So, you know, it's like, at some point, it's like, whoa. That's all, well, that's creepy.  So like, how do you manage it? I mean, sometimes it's a common sense. Maybe it's just a common sense approach, but, you know, is it just transparency? How do you advise startups out there, people doing some really cool work with data?  But what's your advice to companies out there on how to manage it? Because once you cross over that creepy line, you could really go into a death spiral. We know there's a great talk at Ignite a couple of nights ago. Go check it out if you haven't seen it, called Algorithms of Pain. And hopefully they'll be posted on YouTube pretty soon. And this woman was very brave and talked about her breakup and the problem of, you know, obviously first Facebook kept reminding her. But then, you know, she would be connected in various ways to her ex and she didn't sort of fet the adverts she got served on Google Plus in her regular search results. You couldn't get rid of it. So there's definitely this situation where just because you can implement it, it doesn't mean you understand the entire consequences. And I don't think you're going to get it right for more than anybody else. I think to go back to the team thing, right, I think product design requires cross-functional teams of people with different abilities and different insights working together. That's going to give you the best chance of working your team of getting that balance right. I think it's amazing. You know, as a human, we're really good at intuiting this, right?  But the computer doesn't know that. That's up to us as programmers to put those limits in. Okay, Ed, we got our next guest coming in. Thanks for coming in. I really appreciate it. I know you're super busy with the conference.  I want to have you end the segment on just a quick bumper sticker. Bumper sticker of the conference. So I'm going to put that on the back of the car. What is the bumper sticker for Stratoconference this year? Great progress. A long way to go. There it is. At Dunnville Co-Chair of the Stratoconference, that's Silicon Valley Data Scientist, his day job changing the way companies do their business. Again, this is a great theme. We always have that good content. User experience, design, thinking about the human impact. This is theCUBE. We'll be right back with our next guest after this short break. Big data NYC, right after this short break.


Healthcare facilitation is a strategy used to increase the uptake of effective clinical innovations in routine practice. It involves engaging leaders and practitioners, clarifying roles and responsibilities, and identifying opportunities to mitigate barriers to practice change. These activities lead to increased trust between stakeholders, normalization of the effective innovation, and ultimately ownership of the facilitation process. This article was authored by Amy M Kilburn, Elving Ng, Ingrid Eschen Wilson, and others.


All right, more on the behavior beast stuff here folks, you know, I Get a little torqued every now and again and one of the things I get torqued about is Ah psychology in general, all right, I don't mean to pick up my colleagues my friends all the people that are just normal everyday Psychologist, I don't have a problem with them on a personal level, but on a hype not on a hypothetical On a pragmatic and scientific level. Yeah, I got an issue. Why because I don't find Psychology to be as scientific as what it could be And I'm biased all right, and I know that I'm drastically biased because I'm a favor analyst All right I see as we've talked about before I see the value in Studying things from an empirical perspective, right and then applying what we've learned in the laboratory To everyday real-world problems apply behavior analysis. Okay, so what's the utility of it, right? That's always the big question. What you could do with it Well, because we are so freaking scientific and because we have followed the scientific method to a T I mean, I don't mean just a little bit I mean folks you realize that what I've been talking to you about is that we're not a soft science We're a natural science like physics biology so-and-so forth. Why it's really cool It's really simple. Why because we study behavior for behavior's sake We don't seek to explain behavior at a different level You don't appeal to some hypothetical damn construct to explain what you're doing. It doesn't do any good Right, so we look at for functional relations in the real world and because of that because of that natural scientific approach What we ended up with was a science that is uniquely used For modifying our world in ways that make it better for ourselves, right? You could even talk about self-management here, right? But my point is is that naming another part of psychology that does that I know we all talk about it But when you get down to the core of it what you see is this appeal to something that might not even exist All right He's appealed to these hypotheticals and even turn reify those hypotheticals and make them move the river Move the river if you couldn't hear me whatever is it you do you do it's just god drives me nuts So when people go with the value of applied behavior analysis is it what you want to solve the problems in the world? Do you want to learn how to get off of just get off? I guess we could leave it there. No, do you want to learn how to get off of fossil fuels? Not a bad idea, huh?  Let's let's leave the whole part of that topic that is Argued alone and let's just talk about the fact that it is changing and how are we going to deal with that? How are we going to get people to modify their behavior to live in different zones? Maybe to sell their houses whatever they're going to have to do to survive. How about moving to Mars? That's a challenge. Maybe maybe the people that move to Mars want to know a little bit about how to function Maybe they want to know a little bit about behavior and how to select for the responses that you want In the individuals that you're working with or oh my gosh, how about just society as a whole? All right, I'm going to direct you to Anthony Biglin right now I want you to go read all his stuff all of it starting with the nurture effect read the book All right, and no it's not I suppose the bit of a shameless plug, but he doesn't know I'm doing it He didn't ask for it. I'm just telling you to read the darn book All right, why because you'll understand the value of behavior analysis when you do you'll understand what we can do with it You'll understand that it can change all sorts of stuff and because it's a natural science We actually have some real hard-nosed data to work with We're not making stuff up. It's not willy-nilly. We're not appealing to hypotheticals. We're gonna make change period We're gonna make change in people's lives and make the world a better place Any problem you want to apply to that that involves an action a behavior We're gonna tackle it so people go. What's the value everything? Everything's the value It applies to whatever you want it to apply to and that in itself is what makes it a unique feel Some myself included will argue that it shouldn't even be called psychology because it's not a soft science It's a hard science. It is a natural science It is different than the rest of the social sciences. It isn't a social science I shouldn't even lump it together shouldn't even be called psychology Radical behaviorism applied behavior analysis and experimental analysis of behavior when you start to understand all of them You'll understand the value. You'll understand what we can do with it and the power of the techniques is important. It's It's it's it's life-changing. It's world-changing. You can use the techniques and so can I that's why we're doing these videos That's why we made it all open source that get the knowledge where it belongs with the people that need it Simple see you later


The most important thing for me is I'm a municipal counselor in my hometown. So my goal has been how can I connect the national work of the Prime Minister's Youth Council with a small municipal council in Newfoundland Labrador. What points of collaboration could possibly exist? So for me it's been mental health. We have some pretty serious challenges in our community around mental health and around access to health care as an isolated rural community. So I've been trying to bridge the gap between taking the voices of my own community members and bringing them to the Youth Council. And just yesterday I had the opportunity to meet with Minister Jane Philpot and to just say the words Bell Island to her was pretty meaningful. And just to talk to her about the challenges we face and see what ways the Youth Council could serve my community.


I'm Dianne Adiang. I'm from Jericho, Vermont. I'm from Boise, Idaho. South Hamilton, Massachusetts. What is Field Connecticut? Falls Church, Virginia, Chicago. Burlington, Vermont. Remembering how to love to learn because I think you forget in high school. Both my parents went here and talked about how awesome it was, so I want to make my own experience here. Hopefully working in the cream program and working with all the cows and stuff, that sounds fun to me. I'm in the Honors College, so I'm really excited about being in that community and taking the extra classes, but I'm also really excited for the Costa Rica trip that I know the Plant Bio program does. A lot of the professors and faculty, when I ask them questions, really cared about what I had to say and what I was passionate about. I really like the size of UBM and a lot more individualized attention for students with the teachers. Traveling, hiking, outdoors, just experiencing the world.


So, as you can see from my title today, I'll just really be sharing my experience of running according to Python as a beginner. So, as mentioned, my name is Vijay, but you guys can call me WJ if you're sharing. Yeah, so without further ado, let's get started. So, first things first, maybe a little bit backstory on why I decided to, you know, start programming and all, and go into Python. Oh, no. Okay, yeah, so anyway, to get started and all, first thing first, a little bit of a backstory to why I started to, you know, start to go into programming and all. So, just like a couple of months ago, my mom came to me and suggested that, you know, we go to Korea for a holiday. And so, she asked me to come up with a bunch of places to go for a list of them. So, with that thought in mind, a couple of options, you know, came to mind and all of what I could do to come up with a list of places. So, the first option. I could maybe go old school style, right?  I could Google, so just Google, you know, spend a few hours Googling, right? Pretty good way to be efficient, or better still, you know, get in contact with a bunch of Korean friends and ask them what really Korea is and, you know, what to go and stuff. Except, I realized there was a problem here. I don't actually have Korean friends. So, you know, one more option came to mind. How about I spent three months painstakingly in Python, getting a little scratched after this. You know, setting it up and then delving into a web script and modeling, creating an algorithm to get together for the more like type of a change. Really, right? Actually, indeed it is. That's the only way. Indeed. Yeah. And so, a little bit more on the particular web scripting model that I used to create this and all of this is scripting. So, if you have anyone here that loves scripting or views scripting, yeah, so as you know, this is a web scripting model that basically Python uses as a library a lot. So, what scripting is. It's a Python based web scripting model, as mentioned. And, you know, you control the web for all sorts of information based on the algorithm using like different spiders and all. So, yeah. And, of course, I plan to actually use this script to create a CSS selector to, you know, kind of create the algorithm and select the data that I want. So, with that, here's my plan. So, I was planning to, you know, create an algorithm, as mentioned. And then, you know, my reference, it could be dispatched to a crossfire.  And then afterwards, you know, become really adaptive web scripting eventually. And then, you know, scripting by the data. Oops. I shouldn't be there. Anyway, so, first things first. Right. So, learn how to, you know, not know anything about programming at all. I started to learn Python. So, basically, I found like a really good website for me to learn Python. It's this place called Kodakenn.  Code for learning how to code at the same time. Then again, you know, not under any sponsorship. You know, anyone's interested in doing a sponsorship. Sure. Yeah. And so, here was my first error message that I got in trying to install Python. True story.  And, of course, now this is actually true to check that the current Python version has been installed before command prompt. Yeah. And so, following that, now, this is where I really started to actually learn programming, because, you know, as a beginner, you would think that the most part would be learning the basic syntax, stuff like that. But, oh, I was wrong. It was actually really interesting to set things up and installing the dependencies and, you know, the necessary things to actually get it running around. So, one of the first problems that I really had was actually the package management system. I see. I have an issue. Yeah. Yeah. I believe you guys would know that the ring code in my face was constantly getting the message that wasn't recognized as a maternal or external command. So, like, what?  Right? So, you know, to troubleshoot it, I just essentially used this command line to add this particular bit, which is the whole installed use directory to the path variable. You know, be able to use it since then. And, you know, just to check that it was actually added to the variable and it was the newest version. It's really, like, a good version check and, you know, it was newest, 20.3.2. Right? And so, but I guess, you know, I really have a problem like this that actually, you know, not knowing or making the mistake of syntax error, despite having, you know, just freshly run Python. Except, I did. So, as you can see here, it is very ridiculous, right? This actually gave me a heart attack because I was thinking, oh, what do we know? It turns out it's just syntax error where I put brackets on the screen pointing at what I shouldn't have. And so, the next thing that I learned was actually the axes, right? And I believe this is, like, the programmers one-on-one error message, right? And I believe you, if you've never encountered this error message, you're not considered a programmer. Right? So, essentially, what happened here is honestly, I did not know much about this, but there's a twisted file that had to be pre-installed, properly-installed scraping, you know? So, in a sense, that's why you're not looking at syntax one-on-one error. So, the next thing to do was to download the twisted file and, you know, get it started, you know, pre-installed that and then move on to install scraping. Except, oh, this happened. No. If you guys recall, just like a couple of pictures back. It was the newest version, right? So, I'm not seeing things. Yet, this somehow happened. And at this point, one of the people was crying, I told him, so, you know, oh, well, at this point, I really just started to doubt my position of the life. Maybe there's another way to do it. Who knows? And so, eventually, I traversed it that by just being, you know, reinstalling, re-operating, to the newest version. And so, the next thing, that I kind of learned, you know, was actually the scraping shell tool.  So, this really helped me a huge lot here because I had no idea about how to use the CSX lenses. And there was, it had to be some type of record, you know, interact and just, in a sense, have a very practical example of how to use it and learning it now. So, as you can see over here, first of all, Mike, he's just response.css, and he does return the title of this particular box.css page. And, oh, that's always, I was so happy. I was like, a huge forwarder because we didn't know the amount of effort I kept trying to just constantly error messages and, wow. So, this was really a huge step for me. And so, the next thing I'll talk about is actually the visual studio. Because, you know, as you all know, it's not really simple, I'm not ideal to actually write a couple of complex lines of codes on the command from the south planet. So, the best thing to do is to get a source code editor, which is usually useful, to, you know, write the algorithm first before sending it as a file, and then afterwards, you know, running it on a command point. Yeah.  And of course, just, you know, tabs after tabs after tabs after tabs after tabs of online browsers. I finally came up 14 lines of functional code. And at this point, it just felt like that. Happy man. Finally, I'm a coder. Yeah. So, you know, and, and so, this actually leads to my next point about open source, where, you know, essentially, how great open source is. And, you know, in a sense, I wouldn't be here if you're going for open source. Because, essentially, this concept would allow me to believe in everything I could online from learning nothing about within three months. And eventually, come up with functional code. And in fact, to be honest, to go back here a little, to be previous, sorry, yeah, to be previous, to be frank, I wouldn't, if we asked you to explain the technical and the lines of codenom, I actually can. Because, obviously, the only thing I understood from this line of code is the response part. But, you know, traditional shows help create open sources because, essentially, to see here, it's greatly itself has an entire documentation based on a line that we just follow and, you know, just trick it a little to stall the mod and, eventually, return only one. So, really, I'm really grateful for the whole open source concept here. And so, now, just to show you guys a little demonstration of how this algorithm actually works and on. So, yeah. So, first thing, I'll go into command prompt, and then CD to, sorry, we're going to the virtual environment that I created for this, right, and then from here, direct into the file, I probably shouldn't have saved it in a file that's easier to access, right? Finally, yes. And so, from here, if you remember the algorithm, under the class, actually, I actually named this particular file a lot of Jeju. So, over here, how to access it would just be simply read command script, be prompt, and then name it the spider, which is Jeju. Give it an open data and then just take it as a data file under a CSV. Yeah. And so, yeah, peppermint, peppermint, yeah. Yeah. So, essentially, as you can see here, it basically is fake. I'll give you some things that I wanted from the both page and all, and eventually, if you go back to the source code editor, there it is, saved under a CSV file every condition. And the best part of it all was, it was automatically saved as in a simple order. And so, there we go. I'm ready to go to career now. Yeah. So, I guess the best way to learn all the best way to prepare for a vacation is to learn the entire new skills from scratch, right? Yeah. So, that, the end of that, I'll just, like, to give a little conclusion to my talking now by having just a simple picture of the expectations as to the reality of coding. As you can see on my, on my right, I provide an algorithm by running the Trevon Live and on my actual algorithm. So, there we go. So, as in confusion, it's, it's just, well, learning programming and all through scratch is actually not as hard as people would think. And it's, you know, it's too much easier these days because, again, thanks to the concept I was hoping so, but I guess, you know, for anyone here who wants to get into programming and all, like, learning from scratch, I say, just go ahead, go for it. It may sound scary, you know, not knowing any programming or anything at all, but, really, just go ahead and do it the hardest part is to just get started afterwards.  Anything. I didn't, because of the virus, so, well, hey, but on the right side, I can code bytes on them, right? Why did you put in the code, right? I didn't see it. So, I put data.csv Oh, right. Defaulted? Oh, sorry, yeah, that is actually the command to run it over here. So, in a sense, that is sort of, like, a command for scraping to, yeah. Scraping, okay. Oh, so, in the output, in the command, you say where you want it to go out? Yeah, yeah. So, in a sense, yeah, the scraping code is as the command to run the spider-man after I've created it. Ah, yeah, it's hyphen over here, okay, great. Yeah, so, yeah, and you're sitting as a csv file, so it's easier to come up with an Excel. Yeah, so, yeah. So, well, what are your plans for input? That's my question. Oh, my plans for here are now. More trips? Yeah, maybe, maybe more trips, but I should, I should probably find more places to go and then, maybe for now, maybe learn JavaScript, right? Or even C++, yeah. Oh! Any language for a new country? Ah, yeah. But check out the BTS stuff. Oh, yeah. Yeah, it's very popular in Korea right now. Yeah. So, any more questions? All right. Thank you. All right, thank you. Thank you.


What's up everyone Kyle here from driving and vibing and you're watching road gear reviews today We are super excited to be teaming up with three in one They are partnering with us on this video to get the message out about their new RV care line of products So stay tuned Welcome back to the channel everyone if this is your first time here Hit that subscribe button because we put out new videos every week about the best road gear there is today Is no exception. We are super excited to be talking about this But more than talking about it We will test it today show you the difference it makes on both the windows and even the door because this stuff can Be used in the doors too, but first and foremost This is the three in one RV care window in track dry lube It helps keep RV windows indoors sliding smoothly and silently and I can tell you what we've been using this for I think it's been like two months now and it has really helped especially in this last month here in the Alabama heat and humidity Everything is squeaking and creaking and not running smoothly So one of the benefits about this is that it is quick drying It leaves a clear protective film to reduce the friction and it doesn't attract the dirt and debris and I can attest to that We've been using it on our window for a while now. I have seen no dirt buildup So that's been very cool, and it's a corrosion protected against the elements So hey keeping that aluminum protected on our windows And not only can we use it on our windows which have an aluminum casing on them It's also safe to use on plastic and vinyl, but I do think that's enough talking about this Let's go use it because our door is in awful shape right now as far as the humidity goes But the window as well so let's go around to the other side of the camper and see how this works on the window All right y'all So this is our camper where we travel full-time for the last two and a half years It is a vintage rig made in 1985 with that some of the parts are just you know Don't work as well as they did when they're a brand new. So this is the window It's sliding pretty good right now. I last applied this probably three or four weeks ago So it but there is definitely some added friction there I'm gonna put a layer of this right on the bottom here and on the top to see how much smoother we can track it So just a sec All right, yeah, so there is a noticeable difference there it is moving smoother There wasn't much noise to begin with with this window, but you know It also does just help protect the aluminum as well So we got a smoother moving window and a little protection in there now Let's move over to the door because even though this stuff is for window and dry track lube It does work on doors as well So let's move over here, and I'll show you how creaky this thing is. All right y'all So this is our brand new door. We just built it about a week ago Reinstalled it, but listen to this. Oh Yeah We got a good creek there. Let me see if this will do the trick I have not yet tried it on the door But once I read some material about it that it did say that it could be used on the door I thought hey, why the heck not? Let me give it a few squirts and see what happens See if it made any difference Oh Hear the difference. I'm happy about that That's great all the way open No creaking or cracking so yeah Super excited about that and you see it has this little nozzle here for easy aim Whoa just gave myself a greased up there but uh This again is the RV window and dry track lube now They do have a whole new line of RV products Which also includes slide-out lube and I believe a few others we'll link all that below in the description But thank you again to 3-in-1 for hooking up with us on this video to get the message about this Product out there and again hit that subscribe button. We're putting out new videos every week Thank you guys so much for watching and we'll see you next time


You know what I'm trying to do? These fellas did have been harassing you for a year and a half. I think we got the dope on them once and for all and a conspiracy to riot. And if the Attorney General goes along with us, I think we'll expose them any day. Davises, we'll expose the Tatans, we'll expose the Rubens, we'll expose the Chebagans, we'll expose the whole goddamn outfit and that mobilization for peace in Vietnam. And we'll also include some of McCarthy's friends. And they fell himself because if it were ever a planned thing and all these incidents affected you, you moved around this country, this is it. And they had the whole thing set for Johnson on Tuesday and Johnson on Wednesday. And we got the raw steel, but I think we're coming out. I don't think they're fooling the American people. Well, I believe that there's been a great revulsion in the country as a result of your calling their hand. And I think the country, for the first time, has seen what the network has been doing and what these revolutionaries have been doing. Now, did you see the story yesterday they're trying to cover it up now? But they've violated the Bucks laws. They had hidden microphones in the platform committee. Our whole town was booked, including night rooms and everything else. Well, that's just disgraceful. They ought to indict some folks on that. I told them last night that they ought to do that. I don't think there's any doubt about what they should. I noticed CBS was down in Dallas and they went to the same post office box that Oslo had. And they rented a box down there and it's got them cock-eyed crowd. And they wrote a letter out to the Chicago trying to get it done. And they were going to prove that you could mail order guns, what order you could do it.  It hadn't been the paper, I think it ought to be. But CBS, there's a conspiracy between the two of them. I think you've got some pigs operating both outfits. I think you're right. And I think it's in the whole medium of communication. And I think they did a savage job of you and a unfair job. They've been doing it for the last year and a half. But if the attorney general only stand up, we will turn up with a conspiracy and show and reveal it with documentation and with evidence of fact. We don't want to go after anyone on a witch hunt. But gosh darn it, Mr. President, I think these people should be exposed to the entire nation and show what you've been up against for the last year and a half when you go about this country. Organized behind it, Tommy, they tell me that this guy Dillinger talked here on Tuesday and they broadcast it into Miami from Havana on Wednesday. We're trying to get that through the U.S. Information Office. The broadcast. Well, this is happening now. All of these guys that were leader out here, I'm sorry, to the government, were in Hanoi. Now, by God, if this is going to exist in our country, then I'm going to fight the damn thing whether I ever hold office or a lot of this. Well, I haven't. You had a pretty good reaction out there. We got a terrific reaction. We published a, and I'm going to send you a copy of a strategy of confrontation that we published last night in which it documents dates going back to November 67, what they said they were going to do to Chicago. Dick, if you've got any pictures of this crowd that they didn't use that you can show. Here's what they were chanting and here's what they were saying and they wouldn't use them. Isn't it amazing thing, Mr. President, no medium carried a picture when they had them of them lowering the American flag and burning them. And you see what happened there. Some of our fellows that are policemen have sons in Vietnam. Some of them lost their boys. So anyone with any American blood, when he saw that they went in and got them and out stand behind them until the end.  They raised the Vietnam flag. Our fellows tore it down and raised the American flag, but there wasn't a picture in it. We're going to show that. In one picture it turned out police brutality. The policeman was hitting a fellow with a baton and the fella was biting his leg. He brought a bit of big chunk of flesh out of the poor policeman's leg while I went to the hospital. This was brutality. Another one, a girl and a boy injured and the father called me up personally. Back down at Mary, he said, what kind of people we got? Your police saved my daughter and my son from being killed by a window pane that was broken in by these terrorists. They weren't in there. They weren't hippies. They weren't in this crowd. And for them, the print picture that this is another example of police brutality is the most shocking thing to me. I've telegramed. I've called them and he said, God damn it, they better retract it. We've got to think if we just get a little help from our friend down there and he doesn't get to... Well, he doesn't see this as you and I see it. I just worked on him a long time last night. That's the only way his daddy would see it. Not at all. Not at all.