Librarians are actually very lucky. They have entire sections of the Copyright Act that are just for them. Section 108 is literally exceptions just for libraries and archives. Section 110 is exceptions just for teaching, right? So these very specific exceptions are really helpful and useful for librarians and they give you very clear guidance. You know, three pages is the right amount, four pages is too many, right? It tells you exactly what you can and can't do. And if you can live within those fairly tight strictures and you're only talking about these very particular behaviors that were important to Congress in 1976, you're fine, right? But things change. The world moves on since 1976 and there are practices now emerging that Congress wouldn't have and couldn't have foreseen. There's always been a recognition that you need to have specific exemptions and then the more general flexible fair use. And that is particularly true in a time like now when there's rapid technological change, the specific exceptions simply are not adequate to provide, to allow libraries to do everything they need to do to serve their users. So it's a really popular misconception that if you have a specific exception for your community like librarians do with section 108 that describes a handful of ways that your community can use copyrighted materials without asking permission, that's it. And you cannot make recourse to fair use to do other things. But that misconception is completely false. In fact, Congress, from the very beginning, in 1976, Copyright Act, it's clear in the legislative history of that act that they always meant for fair use to be available to librarians. And in fact, if you look at the text of the statute, fair use is all about education and scholarship and criticism and commentary. So of course fair use is going to apply in situations that are quite similar to situations described in section 108 and the other specific exceptions. That's on purpose. Fair use describes a wide variety of things that you can do if you're willing to think about it, if you're willing to go through the kind of exercise that we're going through with the Code of Best Practices. And then those exceptions pick out safe harbors. They tell you if you make two copies you're definitely safe. If you do it this way, you're definitely safe. But it doesn't tell you that you can never leave the harbor, right? And sometimes you need to leave the harbor. That is what fair use is all about. And that's what we hope that this Code is going to empower you to do. The Copyright Act is not perfect. In fact, it's far from perfect. The Copyright Act has the terms are too long. The exceptions are too narrow. You know, there are plenty of things that need to be changed about the Copyright Act. And people should work to make those changes. Fair use, however, is such a wonderful doctrine because it gives us a way forward in the meantime.   And so it's great about fair use is you don't have to wait around for this, frankly, very difficult process of reform. You can make important uses now. And we can't wait, right? Library users need access to library collections. They need to go forward with interesting and new projects based on those uses. And we can't wait for Congress to come together and have a sort of rare rational moment and make big, huge, important changes to the law before we do those things. We've got to do them now. And that's actually what fair use is meant to accommodate. It's meant to be a flexible doctrine that will allow important new uses despite whatever other limitations there are in the Copyright Act. Fair use is an equitable doctrine, meaning it was a judge-made law involving balancing of equitable factors. It's this flexible doctrine. And it is very convenient if the Supreme Court says this kind of use is a fair use. Then you know, right? Then you know once and for all that if your use looks exactly like that use, you're in the clear. The problem is if you stray at all from exactly the kind of use that a judge endorses, you're suddenly once more into the realm of risk, right? You're once more into the realm of deciding and having to make a real judgment call about whether this is a fair use and doing all the same kind of decision making that you're going to do before the court makes that one decision. So the value of precedent shouldn't be underestimated for the folks that are clearly within the precedent. But once you start straying from that precedent, again, you're going to have to do this kind of thinking and working. You're not going to get a free pass based on a single test case that's going to cover all the different kinds of things, frankly, that libraries need to do. Fair use is risky if you don't know what you're doing. If you've got a good set of best practices and some broad understanding of the law of fair use, it is not a risky concept. There are cases that are close cases and most large institutions want to avoid that. But there's a huge area that is safe harbor and then between safe harbor and fair use but risky. There's also a big, big piece of real estate. So yes, you can always wander into risky territories whether it's using your credit card or walking across the street or any one of a number of daily activities. But being knowledgeable can keep you in that safe area. The whole point of a code of best practices is getting together and deliberating thoughtfully about the risks involved and what are rational risks to take relative to the practice and the value of the mission. So don't believe that fair use is inherently risky. All law is inherently risky, frankly. And if you're a rational person, you can take that risk into account and weigh it and go forward based on the value of the mission that you have. Even highly progressive critics of copyright law have sometimes referred to the fair use doctrine as being vague, uncertain, and difficult to imply in practice. I hope those criticisms may be heard less widely now that the best practices project has stepped in in some fields and now in the field of library practice to bridge the gap between this general flexible and potentially dynamic statement of the law on the one hand and the needs of practitioners to be able to make decisions on the basis of predictive information on the other. We're never going to get fair use down to a formula, and that's a good thing, because if we were, we would freeze it in whatever position we had chosen to take that snapshot, so to speak. But we can, we should, and in a variety of fields we have made the process of arriving at reliable decisions about fair use, far less mysterious and far less frightening than it may have been in the past. As part of the fact that it's flexible, fair use is going to apply differently across different situations. And a lot of times you'll hear that fair use has to be a case by case analysis. You have to look at it one book at a time or one movie at a time. Is this movie the right kind of movie for fair use? And that's actually a canard. In reality there are very well established doctrines in fair use, very well established practices in fair use where whole swalls of copyrighted works are taken advantage of and used in a fair way without doing this case by case analysis. So internet search is a great example. Google just indexes the whole web.  And they copy it, they put it on their servers, they use those things for profit even, my God, for profit. And yet, you know, and they don't have to do it case by case because there's a very good fair use argument for the general practice of web search. Web search is a transformative use. And so it's a transformative use no matter what the work is. It's a transformative use on website A, website B, and website to infinity, right? So the idea that you can't ever make a broad judgment about a practice because fair use has to be case by case is just false. If you search for copyright, you know, copyright question or copyright library or something, you will find guidelines. You'll find guidelines written by all kinds of interest groups. You'll find a guideline, you know, you'll find guidelines that have a kind of stamp of approval that looks sort of quasi legal, right? There are some guidelines that were literally sort of endorsed by Congress, right? In the late 1970s, when the 1976 Copyright Act was passed, some stakeholders and copyright came together and wrote up some kind of safe harbor guidelines and Congress said roughly, you know, well, that looks pretty good.  That looks like a good way to go. But those guidelines themselves, even the most powerful seeming ones from the 76, you know, from when Congress literally endorsed it and said that looks pretty good to us, they were never intended to be the end all be all of how you apply copyright law to these educational situations. In fact, if you read some of these guidelines, they literally say these are safe harbors. These are clear places where you can act without any fear whatsoever, but you can always go beyond those places. My view of those guidelines is the same as my view of the guidelines at studios and and broadcasting networks. They're written by people who who are a little afraid and they want to control and make sure nobody does anything which could possibly get them in any kind of trouble or in any kind of gray area. And in fact, the truth of the matter is they don't always work. You could comply with the guidelines and still not fall within fair use. So they're they're a little misleading in their clarity, a little limiting in their specificity and in all respects outdated in my opinion. It's time to come to grips with what the law allows, let people know, and operate within that context. Over the last couple of decades, there's been a really helpful development in the law where judges are looking to what's called transformativeness to evaluate whether a use is fair. So if a use is transformative, if it repurposes the original work in a way that the creator didn't intend, if it's not taking advantage of that creator's own market, if it's not just literally competing with the original work by issuing copies, then that's a lot stronger case for fair use than if not, right? And that makes the fair use thinking very easy for certain kinds of users. So critics, scholars, those folks that are taking a piece of a work and putting it in a new work that they create, they have a much easier time thinking about fair use over the thanks to this evolution of a transformativeness doctrine. What do you do if you're not a creator, you're not an artist making a new thing? In fact, transformativeness doesn't only apply to transformative works, but transformative uses and transformative purposes. And to me the paradigm case of that is internet search. Google copies the entire internet, right? Copies the whole thing, puts it on its own server, and then crawls it to index it, and then serves you search results. Google doesn't create a new work, right? There's not some new kind of mashup of the web authored by Google. What Google gives you instead is a service. It helps you find information. Helping you find information is a transformative purpose. It's a transformative use of all those different little web pages, right? When I put up a web page about my dog, I'm not intending to help you find anybody else's web page. I might not even be doing a very good job of helping you find my web page. Finding web pages is not what I'm doing. Google, though, is helping you find web pages. That's a whole new project, and it takes some copying to get that done. So there are transformative uses and transformative purposes that don't create new works. You don't have to be a remix artist to be a fair user. And a lot of the works that libraries, a lot of the uses rather than the libraries make, are going to be transformative in that same way. They're going to be taking content that was originally published to entertain or amuse or published for one's scholarly peers and making them available for all new different kinds of different kinds of uses and in all new different kinds of contexts. And that's how libraries can take advantage of this transformativeness reasoning. In reality, your use is fair if the amount that you take is the right amount for your transformative purpose. And sometimes that means the whole thing. Sometimes you need the whole thing to do what you want to do. So artists who will take the entire image and then draw all over it. And they needed that image. They needed the whole original before they could start their project. They have to use the whole thing. There's a great Supreme Court case where Two Life Crew took the song Oh Pretty Woman and rewrote it as a kind of parody of Pretty Women about a big hairy woman. They had to take basically the whole thing. They took the chorus. They took the music. It is the song Pretty Woman. But that's how much they needed for their purpose. And the court said as much in the decision that if you need the whole thing to parody the whole thing, take it. And so that's that's that's the way fair use works. You can have as much of the thing as you need for your new purpose. Now you shouldn't take too much, right? So you should think about why you're doing what you're doing. What use is this material to my transformative purpose and tailor how much you use. Don't take more than you need. That's going to undermine your case. But sometimes you need the whole thing and it's just a myth that you can't take the whole thing when you need it. Any copyright owner always can make an objection to anyone else's use of their material as long as that use hasn't been specifically licensed. But the experience with codes of best practices so far suggests that librarians who choose to operate in future within the scheme that this code of best practices provides don't have a lot to worry about. Lawsuits are expensive to defend but they're also expensive to bring and they're risky to bring in situations where there's a good chance that the person they are brought against might actually win the decision. So our experience has been over six or seven years that so far no individual and no institution exercising fair use rights within the four corners of any one of the statements of best practices has been sued. Now threatening letters are another matter. They're cheap to write and fortunately they're also fairly cheap to answer and I wouldn't guarantee the librarians operating within the scope of the statement of best practices would be immune from threatening letters and calls but I would suggest that they will have an answer to those letters and an answer to those calls and that once that answer is given in all probability the controversy will be at an end.  What does that even mean? Well it means that if you get taken to court you know the judge wants to hear about fair use at a certain part of the trial. What does that really mean for you as you're making a decision about whether to make a fair use? It doesn't really mean anything because frankly the people that are interested in protecting their rights that are concerned about whatever use you're going to make they're smart they're lawyers and they know that if they go to a judge and try to sue you over something that is obviously a fair use it's going to get thrown out the fact that it's a mere defense is not going to make a difference. It's kind of like telling the truth.  Does that make it not a right? It just depends on the context. It's a useless semantic debate that makes me crazy partly because the oh it's a defense is used by people who want to convince you not to use your rights under fair use and it's scary to some people but it's it's not a debate worth joining. You get two sets of stakeholders with such different interests together what they can agree on if they can agree on anything is usually very little so the resulting guidelines are typically so restrictive that they don't really function very well for the purposes of the the users in question. Best practices on the other hand derive as we know from the shared understanding of the use community itself and that approach is potentially very potent indeed. There have been studies of what courts really look at in determining whether something whether a use is fair and and it turns out that that courts have often really looked at what is standard practice in an industry and so sort of like again it ultimately goes back to what's reasonable and how you define what's reasonable is what do people in that situation do. So if everyone in a given industry if you have industry standards industry practices that is a measure of what's reasonable in that industry again and that applies in all areas of the law and so there's no reason why the same standard shouldn't apply here to be sure people can challenge that and but they do that in other areas of the law as well they say well you're you know that this isn't reasonable and the industry standards are wrong but that is a a much higher burden to overcome the the notion that that there's something wrong with industry standards as so if you're operating within the context of the industry standards you're a lot safer than if you didn't have industry standards and everyone was kind of off doing their own thing. The way the code of best practices for libraries is structured it's going to be very very difficult for any practitioner who's read the code and understood it to make a large or comprehensive or far-reaching mistake very difficult for anyone to create a whole program that is somehow then as it turns out discredited as an example of fair use but it is perfectly possible in connection with this code of best practices as in other contexts perfectly possible to make an honest isolated mistake about how the principles apply in a specific instance or to a specific item and in those cases I think the answer is that the best thing to do is what one does when everyone makes an honest mistake which is to apologize and to do what one can to undo the mistake and I think in general that's going to be plenty because content owners are not interested in spending years of time and tens of thousands of dollars to to persecute someone who is honestly mistaken


For about 60 years, Second Fleet was the protector of the Atlantic following World War II. And then in about 2011, we decided that the global environment had changed to the point where we really didn't need a concentrated fleet effort. Our military focus over the last decade has been primarily on counter-insurgent, violent extremism, and expeditionary warfare. Now we recognize the need to evolve and change to great power competition. The global security environment has changed. And as such, it has created this need for us to command and control forces in the Atlantic and in the Arctic. And that's where Second Fleet comes in. We're not recreating the Second Fleet of the 80s or even 2011. This isn't your grandfather's Second Fleet. We're creating a fleet that is fit for its time, but fit for its purpose as well. It means that we need to evolve the way that we attack the problems, the way that we view the problems, the way that we're structured, and the way that we operate. What we're doing at Second Fleet is just the tip of the iceberg of the kinds of changes to be affected within the larger reserve force. We talk about requirements, and it's not active or reserve, it's a Navy requirement. So if the reserve force can deliver against that requirement better than the active duty can, then by all means we're going to double down and create opportunities to fill those needs. Those who are willing to come to the Second Fleet reserve force as plank owners are really going to be shaping the future of an enduring reserve presence. We're not necessarily planning to operate one week in a month and two weeks a year for exercise support like a lot of other augmentation units. We will have a persistent reserve presence. So we'll be standing watch beside and integrated into the active duty watch bill. Some members will be reserve, some will be active duty, and no one will ever know the difference. We're 100 years into being a reserve force, and at this point we know that there are some things that we need to do differently. We are going to make sure that the value of every dollar dedicated to the reserve force provides maximum utility to make our Navy better.


Hello, welcome to this week's CMC Markets Commodity Snapshot with myself, Jasper Lawler. This week we're going to be focusing on copper. Now the price has just broken out to a three and a half month high, near four month high. And so we want to look at some of the reasons that this might be taking place and whether it's sustainable. We also want to have a look at the price chart because there is a bottom formation here which could indicate much higher prices. So we did hear news this week that China, one of the largest producers of copper in the world, is going about slashing millions of jobs in its state-owned enterprises. These are the companies that the government directly owns. Now some of that included the steel and coal industry, obviously not copper directly. But part of what's been an issue for commodities in general is that China has been flooding the world with these cheap, underpriced commodities from these government backed firms that don't necessarily have the same profit motivation that everyone else does. Now the fact that they're cutting jobs here is the country going some way to address the excess supply and the over capacity that these industries are being experiencing for a while. And the hope is that China cutting back jobs and reducing its over capacity of these commodities will see some of the private industries in the West do the same as they already have started to do. So it looks like supply could be starting to come out of some of these industries. And so that's why we've seen the price break out of what has been a three month consolidation pattern. So if we just have a look at this daily price chart for copper here, we can see that we've broken out above this 214 horizontal level. Now that was two previous peaks and it was also a downward sloping trend line that's been in place for about eight months. So yesterday we broke above both those two areas of resistance and it now does appear that we have broken through an inverse head and shoulders bottom pattern. Now if that pattern does hold to be true, the objective for that would actually be $235 per pound in copper. That would actually take us through a couple of quite major resistances on the way. One was from two previous lows around August and October of last year. They come in just above 220 per pound. There's also the 200 day moving average which currently sits just below $230 per pound. A couple of resistances along the way, but we have broken through a major resistance level here and suggest that some higher prices could be on the way. So that's it for this week's CMC Markets Commodity Snapshot. We're of course looking at copper, a lot of the emphasis being on China, its efforts to reduce capacity in some of these commodity markets. We've had some pretty weak data from China this week, services and manufacturing declining but that doesn't seem to have put off this rise in commodity prices which again adds to the strength of this breakout in the face of quite negative news. So let's look out for further news from China, see how that impacts the price and let's see if we can make anywhere close to this $235 per pound objective from this inverse head and shoulders pattern.


Hello. This is the SIG multi-cluster intro and deep dive. I'm Paul Mori. I'm Jeremy Olmset-Thompson and I work on GKE at Google. And I'm Laura Lorenz. I also work on GKE at Google. So we're going to cover a lot today. We're going to cover what is this SIG about. We're going to talk about areas of current activity like cluster set, name space, same as cluster ID and cluster set membership. The multi-cluster services API and multi-cluster DNS. And more. We're also going to have a deep-ish dive that covers multi-cluster services API, cluster ID and multi-cluster DNS. And finally, we'll talk about how you can contribute and be involved with our SIG. So let me share first what this SIG is all about. The whole idea is we're asking ourselves what should be the Kubernetes native way to do things like expose workloads from multiple clusters to each other, or replicate workloads across clusters or target deployments to specific clusters if you have multiple clusters in a group. So these pressing questions and more are the purview of SIG multi-cluster. And it turns out that the work that we do touches many different functional areas, all sorts of different problems. And we also find ourselves collaborating with many other SIGs. But where we're at right now is working to identify the best, most durable primitives that are going to help us achieve all of these multi-cluster use cases. And we love input and really need your input. Where it comes to multi-cluster setups, real user stories and use cases are extremely valuable, you know, designing any standard that is extremely valuable. And many of the projects that we have are in AlphaStage and are still malleable. And we need new tools to expose new needs. So we'll talk about it more when we get to how you can contribute, but we would love to see everybody and hear your multi-cluster use cases for the projects we're working on. So let's talk a little bit about our approach. This is really important to us as a SIG, I think we've seen great progress because of this kind of shift in mindset. But we try to avoid premature standardization or solving any optional problems. I think in the past we've maybe tried to reach too far into what could be for multi-cluster instead of focusing on problems that we knew existed and specific problems that we're seeing in the community that need to be solved now. So that's basically the changes. We're trying to instead focus on the specific functionality that we want to build, pay less attention to what could be but making sure that we're not closing any doors, and then kind of work backwards from those problems and see how things evolve into bigger and bigger problems. So let's talk about the current activity right now in the SIG. So the first thing I want to talk about is the cluster set. And you may have heard us talk about this before. This is your first time coming to SIG multi-cluster. Let's dig in here. Cluster set is not an API. It's a concept. We don't really expose it as any resource, but that's changing. We're starting to have some resources that really kind of revolve around the cluster set. But the cluster set basically represents a pattern of use from the field. So historically in Kubernetes, resources within a cluster are not aware of the cluster itself. There's no real concept of a cluster from within the resource model. We're changing that. And so a group of clusters in a cluster set are clusters that are governed by a single authority and have a high degree of trust within a set. If you wouldn't want things in these clusters to talk to each other at all or even be aware of their existence, it's probably best to keep those clusters separate. This is if you want to have some coordination between your clusters and communication between your clusters. And if you're okay with kind of exposing what goes into the services and whatnot that make up the workloads that run within each cluster, then cluster sets are probably very interesting to you. So with cluster set, we introduce this concept of namespace sameness. And this is that permissions characteristics and identity are consistent across clusters in a cluster set for each namespace. So foo in the bar namespace in in one cluster is the same general workload or service in another cluster. Namespaces don't have to exist in every cluster, but for clusters in which they do exist they behave the same so that maybe that you have a service that exists in multiple clusters in the same namespace the same name as an extension of that service. Or it may be that you have a namespace in each cluster that is always cluster local and and never shares any information outside of that cluster and that's okay too but the idea is that you don't have this kind of mix and match so it's very predictable. You know how namespaces are used, and generally someone with access to a namespace in one cluster should have similar access to that namespace in another cluster. So with the cluster idea this is kind of the first time we're trying to expose that that cluster concept as a resource. So really what we've done is we've introduced this new cluster property CRD, which is basically a name value pair that the idea is that this is a, a resource that you can use to expose cluster level properties. And the big one that we're pushing to start with is ID dot kates.io so this will be a well known named cluster property that has the, the discoverable identity of that cluster. So services within that cluster workloads in that cluster can can use this resource to figure out, you know, where am I running. We're also introducing the cluster set dot kates dot io cluster property which will be the identity of the cluster set, or at least the way for a cluster to identify the cluster set to which it belongs so this may be a membership ID for that cluster within the cluster set and maybe the name of the cluster set itself, you know, going back to not solving problems we don't need to solve we're kind of leaving that up to implementations. But the idea is that now a workload will be able to discover which cluster is running in and, and which cluster set to which it belongs. These need to be unique, unique to cluster within a cluster set for the lifetime of that membership so basically as long as you have a cluster belong to a cluster set, it will have a consistent cluster set ID and it will have a consistent cluster ID. So you'll always be able to identify your, your clusters in that cluster set. And, you know, these are really to build that reference for multi cluster tooling that we're going to talk about here in a second. So the first big project that we've been working on for a while and some of you may have heard us talk about before is, is the multi cluster services API. And this is basically an extension of the service concept across multiple clusters I mean services are the basic way that workloads communicate with each other and in Kubernetes, and we've extended that across clusters. And so we've just kind of been focusing on just the API in common behaviors that we want to see in services so we've, we've left room for various implementations and we have some out there we've got Submariner, GKE has one and STO has been developing one as well. We have not built a standard implementation, but we've built an API that we, we want you to be able to rely on in no matter which implementation you're using. And this builds on the concept of namespace same as so basically Laura's going to dig into this a little bit more later, but with the multi cluster services API, we let you stitch services together across clusters simply by using the same name. We've left room for control planes to be centralized or decentralized depending on your implementation where things are running what makes sense. But cluster IP and headless services just work the way they do across cluster the way they do in a single cluster now across clusters. And there are some DNS changes as well involved with this that Laura will talk about as well but again all this is additive your existing services. And we've been working with other SIGs to figure out how this can integrate as well. There's been some work with SIG networking in the gateway API, which plays night nicely with multi cluster services as well so this is really becoming kind of your standard service building block for multi cluster communication. Now, what everyone's been waiting for the more. Alright, here's the more we got cube fed which is preparing for beta. We've got work API which is about spreading groups of resources to different clusters, and also recently we've had some conversations about SIG multi cluster in the context of election in the context of services that are running across multiple clusters, considering how this, you know, might might interact with existing work to enhance leader election and wondering, you know, what SIG multi cluster should or could recommend or implement as a reference in this area. And I'll just sneak a little call for you to join us if you're interested in that topic as well. So I wanted to take an opportunity to do a little bit of a deep dive though honestly might feel a little shallow in the sense that I only have so much time. But I've pulled some slides from our past conversations in SIG multi cluster about MCS API about cluster property and about multi cluster DNS I'm going to try and show some of those to you. So you can get even more of a feel for them beyond the updates that we just gave. So about the MCS API we talked about it Jeremy talked about it a bit before and he mentioned that the idea is that we're broadcasting a service out into other clusters so of course we've got two boxes here that are two clusters right. So, say you have a service over here in this cluster on the left. If you wanted to get accessibility of that service available over in this cluster on the right. The idea is that this service export object that the MCS API describes will be placed in this left cluster this service import resource that the MCS API describes will be generated in this right cluster. And that's going to connect these two core Kubernetes API objects the service that you've had in your producing cluster and endpoints or endpoints slices you have in your consuming cluster. So the way that the way these actually look right from the service export perspective this is the resource that you as a administrator or needing to configure your service to be shared across clusters would actually create either yourself or through some sort of tooling. And so this is a the, you know, direct point that you'll experience as a user of multi cluster services. And it's a very simple resource that basically just has a name and a namespace and the whole point of this is that this name and namespace matches exactly with what this services name and namespace is. And that marks that this service should be exported from this cluster. So very simple shape here right schema here, just to connect these two points. If that has been marked, then it's up to the MCS controller to generate the service imports in the consuming clusters. So the service import schema here is designed to include all the information that's needed for the consuming clusters actually consume this as if it was a service that was present there. So it needs to know some information about from the originating service, like what ports it's exposing and other metadata from there. And then it also needs to know how to get to that service from our current location right from our right cluster we need to get to. We need to get to our left cluster. So it's also going to need to know what the IP is to get there and in the case of, if I was exporting a cluster IP service then this would be our cluster set IP here. So similar to how cluster IP services work today, you get one IP that you can load balance in front of all the back ends from other clusters. So just backing up two slides just to touch one more time on something that Jeremy mentioned, I'm showing the left to right direction here. So you could also have the service in the right cluster, create a service export in the right cluster, and then those back ends will also get shared across our cluster set hero to clusters into the left cluster. If you had like a north cluster and a south cluster on this diagram to they could also all have the same service, all have a service export marking it for export and then this name and namespace service the back ends and all of these clusters are all considered safe to respond to any request for that service with any of the back ends and any of the clusters because of namespace sameness because we consider those to be functionally identical. So just one other add on from what Jeremy mentioned earlier. So another exciting thing that's going on is the MCS API is being integrated into other projects in the Kubernetes ecosystem. So Istio is actually taking on a multi phase approach of links to RFC here if you want to give it a read to integrate the MCS API, and this includes in sort of the later phases to implement a full MCS controller in Istio D. So you could use Istio to run your the controller that understands the MCS API standard and standardizing on this MCS API. It benefits the MCS users because you could upgrade into Istio service mesh just naturally if you already were using a MCS API controller that you had an implementation for or you used one of the implementations that exists but then someday you're like oh actually I want to use this other thing that's an Istio. It could be easy. It is easy for you to upgrade directly into Istio in that case because you're already using an API that it's built on top of. But it's actually also helping the Istio users to so it simplifies their DNS infrastructure the way that their Istio DNS infrastructure today is has kind of a couple different options or optional things that can run alongside. But if it can use what is described in the MCS API it kind of simplifies it and unifies it onto this one standard that's already Kubernetes native. And it also allows some flexibility between full service mesh everything knows everything about everywhere type situation and a more cluster local type service discovery. So the service export concept that we're using in the MCS API for people to opt in to exposing a service from one cluster to the rest is also actually useful in Istio to kind of take a step back for users who do want to have some at least some of that cluster experience. And they can use the service export resource that we've described to do that same marking type of activity so that Istio can choose between full service mesh, expose ability or just the service export cluster local style. And the other thing I want to highlight here for MCS API integrations gateway API, which is the new ingress API. This now I've got an example over here from GKE, but supports referencing different types of kinds as the background reference for ingress traffic and it does support using service imports so you could have your ingress traffic get routed to a multi cluster service. If you wanted to using this type of format here so pretty exciting that you can connect your gateway API with your MCS API in the wild right now. So, diving in a little bit more into the cluster property CRD Jeremy mentioned before that it's about storing these properties about a cluster, the cluster property CRD itself is very general purpose it's just a name and a value so you can store you know anything you want in here. But the important part for the MCS API is that we want these two to definitely be able to exist this ID kates.io which is what we want to represent the clusters ID or name. And then this cluster set dot kates.io which we want to represent something that describes the membership of that cluster in a cluster set so the exact details of what that value is can be implementation dependent we have a couple of recommendations in the cap, for example that you might use the cube system namespace new ID as your clusters names been discussed by some other folks in sick architecture and around before as well. But as it come where it really comes as a cap is just to make sure that this CRD exists that the schema looks like this and that if you do use this name ID case I oh or this name cluster set that case I oh that certain properties of this resource instance can be assumed by users of the MCS API. So, looks simple but is very necessary for us to be able to track this type of membership and also cluster names which is useful for DNS. I have myself because here is some diagrams actually got four slides here that are pulled from a deck that we've been using at say multi clusters to discuss multi cluster DNS. And I won't go super into detail but I just want to highlight basically the different types of records that we're supporting with the MCS with the multi cluster DNS specification. So the goal, the idea is that we make this DNS look very similar to how cluster local works just make whatever minimal changes we need to that make this work in a multi cluster case. So you'll see this blue dot test at SPC dot cluster set dot local instead of cluster dot local if you're used to using our cluster dot local DNS. This is the big change here for cluster set IPA and or quad a records right we're just changing out this zone. So this will still get you to the IP that can route to any of the matching back ends. Just like you would expect for a cluster IP type service, but across the cluster set in the case of a multi cluster service. And then we also support SRV records for cluster set IP as well. If you want to get this DNS name back but are targeting a specific named port for headless services. Also, trying to keep it very similar when it comes to the aggregate pod IPs DNS so if you want to get back the pod IPs for every back end for a service name and namespace that has been exported across your cluster set. You can use the same looking thing right that you're used to blue dot test at SPC but again just changing cluster set instead of cluster dot local. The place where this cluster ID I keep talking about shows up is here for pod DNS for headless services so if you just want to get to this one pod over here or you just want to get to this one pod over here in cluster B. You need to know its host name, which is already normal for headless services in the single cluster case, but you also need to know the cluster name because it's possible that the host name for this blue pod over here blue one is the same host name as this blue pod over here in cluster B blue one right so if it's possible for them both to be the same we need some other way to disambiguate them and that is where this cluster ID that we've been working on actually shows up. And finally, SRV records also exists for multi cluster headless. This is a more useful use of SRV records if you want to know all the pod DNS names for all of the back ends for HTTPS you can use this SRV record to get all of these pod DNS names back so you can target all your back ends individually. I know that was a bunch of deep ish shallow ish dive I just wanted to show you that there's a lot more going on behind the scenes. If you do want to see even more there is another talk, including demos that myself and Stephen kit who's another member of SIG multi cluster produced for cube con and a 2021 so it's called here be services beyond the cluster boundary with multi cluster services should be published in a couple days here. And it includes demos of the MCS API and multi cluster DNS on GKE and open shift so you can see it in action. All right, let's talk about how you can get involved in SIG multi cluster which we would, the three of us would love to see here why don't we get that next slide. We really need your input. This is basically you can think of your input as one of our most precious natural resources in SIG multi cluster. Please let us know your use cases your problems and your ideas. You can see the the homepage here under the under the community repo in SIG multi cluster, the slack channel also unsurprisingly called SIG multi cluster and finally the list. SIG multi cluster. Our meetings are bi weekly on Tuesdays at 1230 Eastern 930 Pacific and 1600 hours and 30 minutes UTC. We hope to see you there. Thank you. Thank you very much for watching our talk. Thanks a lot. Hope to see you soon.


And market analysis, I don't think anything's really changed this week over the past couple of days. We are where we are from when I've, I made the video on Monday. But does anyone wanna go over any trade setups or anything that they're actually looking at, give an update as to, you know, any trades? I did get involved in this. I'm in the Euro dollar short, I'm in the pound dollar short. I got back in on that pound Swiss and I'm also in on the Euro Swiss as well. So I'm in a few Euro trade short, couple Euro trade short buying a Swiss Frank and a couple pound trade short as well. But does anyone wanna talk about anything or does anyone want to go over the trades that I took? You know, entries, my thinking behind it. If you haven't watched a video, anything like that. Or is everyone, is everything okay? Yeah, all good, Alexander Ross. Anyone else want me to go over anything or just detail anything? Anything like that? Everyone's all good. I mean, I'm waiting on the pullback on silver, but on. Okay, you're looking at silver, silver, silver. Okay. What the point you was just making with the Bank of Canada being the first to go, I guess, dovish or whatever. Wouldn't that be a good pair to pair with the Swiss Frank? It's still a tricky one because fundamentally the reason I say that is because the Swiss Frank economy is doing a little bit better and they don't intend on pulling back on Hykeshire, right? Right, exactly. But they're not hiking as much as the Canadian dollar, right? So the Canadian was kind of done a downshift whereas the Swiss National Bank are only looking to hike by 50 basis points. I think that was the, I did see that somewhere. Now, it's a bit of a difficult one and I definitely get your reasoning behind it, yeah? As to buy the Swiss Frank against just commodity currencies in general, yeah? Currencies, CAD, Swiss. Yeah, I totally understand it. But because I, to kind of quantify it, I would say there are better trades out there. I think there are clearer trades out there. If you was to buy the Swiss against the Canadian dollar, I would say that is a sound idea, a sound idea, but it's not an idea that I would be ultimately confident on. I think there's just a clear divergence, for example, between Europe, because all right, let's I guess maybe look at it another way, right? So who would you think is better out of Canada and Europe? Let's have a vote, yeah? Do you think Canada is better than Europe, right? So Ruby once says Canada. Canada. All right, so let's assume that everyone's gonna say Canada, but does anyone think that Europe is in a better situation than Canada? No. No one thinks that, right, okay. So then you would say, okay, so Europe are the worst, right? So then if I'm buying the Swiss Frank, yeah, then it's definitely gonna be more against the Euro than it is against the Canadian dollar. Do you get my thinking? That's who you're just saying. Yeah, you know what I mean? So that's, and because I'm in the Euro Swiss, I'm already in the Euro Swiss. So for me, it's like, I'm not gonna take that trade. And it's the same thing with the CAD versus the Pound, right? So the CAD versus the Pound, who is, who would you say is in a better position, Canadian, Canada or the UK? Oh, I guess Canada still. Yeah, right, which he says CAD, right? And I would agree with that as well, right? I would say probably the Canadian dollar is probably better than the UK, yeah? And so with that, they're in a better position than the UK, right? So with that now, again, if I'm buying the Swiss Frank, right, I'm gonna buy it against the Pound, which I am, right? Said I'm sure the Pound Swiss. So you can, and then because I've already used up, I tend to only really kind of load up unless I'm very, very bullish or very bearish. I only really try and get into maybe two pairs of the same currency. So because I'm already in two Swiss pairs, there's no room for me now, unless I'm very, very bullish on the Swiss Frank, I'm not really gonna enter into another trade. And it's the same thing with the Euro, right? So with the Euro, I'm short Euro, dollar, Euro Swiss, and so those are really my trades, and then I'm short on the Pound dollar as well, right? And Pound Swiss, yeah, so Pound Swiss and Pound Swiss, I'm short on a Euro, yeah, I would have covered that, yeah. So I'm literally just only in two Pound trades, two Dollar trades, two Swiss trades, and two Euro trades. Yeah, so I'm trading Swiss or Euro Swiss. Yeah, to be clear, and I'm trading Euro dollar, right? Well, those are the positions that I'm in. I'm in the Pound Swiss, and I'm in the Pound dollar, yeah. So I'm buying some there and there, two Pound, two Euro, and then two Swiss. That's it, I'm maxed out in terms of risk, because if the dollar starts to go against me and the Swiss franc go against me, I don't want to be in a lot of those types of trades when they go against me. Yes, if it goes for me, then brilliant, right? But I'm more risk averse than I am looking to, I mean, make money, because I'm gonna make money regardless of whether, if I'm right about it, but I wanna mitigate my risk. So I'm always thinking about, not being too top-heavy on any pairs or any one individual currencies. So the most I'll do is two of the same currency. So that's where we are. I don't know what you're saying. You're mine over silver before you. Yeah, yeah, yeah, I'll go over silver. Let me just add a mix of Sabay. So I'll go over silver. Where are we now? Commodities, silver. X-A-G, right. Let's just remove the drawings, right. So where are we with silver? Looks like we're definitely in this auction between this high.


Hey guys, how's it going? How's your boredom doing? Starting to get to me. This has been two weeks now, this whole thing. And anyways, I realized that I actually hadn't talked to you guys about this poster that I got from my fiance. It is a scratch off movie poster. And you might be wondering what it is. Well, I've never actually seen one of these before. We're going to pop it open. I've already actually seen it. I'll show you guys it. It's pretty cool. It comes with this little bag here. So it's a bunch of emojis apparently. So like the scratcher. This is it. But it's a bunch of movies. It's like a giant scratching way to send all these kinds of movies here. Jaws, Jurassic Park, Raiders of the Lost Ark, Snatch, Good Bad and the Ugly, Goonies, Die Hard, all these. This is going to take a little bit to stretch out, but I'm going to stretch it out and I'm going to do a time-lapse scratch. Okay, so this took a little bit longer. Obviously, I needed to straighten this out for a little bit. And then as you guys saw, this took me forever to scratch. This was like the equivalent of doing 100 scratch and wins. My arms are so tired now, trying to like lie on the floor and do it. As you can see, there's so much more detail to this. Like look at how much color there is now. That's insane. Like when I started to scratch them, admittedly, like there was some wear and tear. Like I don't know, like technically you could use the pen that they give you, but you're going to have scratch marks. My suggestion would almost be to use a penny or a quarter, just like you normally would a scratch win. Otherwise, you have to go over this very, very carefully. Because if you start to look at them like right up close, you're going to get some scratches, especially over the posters and the titles. Something that I also noticed too, when you scratch all the stars away, there's nothing underneath. I thought that's what I made a mistake with Space Odyssey here. I don't think Space Odyssey is garbage. I just literally thought that you scratch all the stars to mean what you like, how good you think it is. Some of them, I didn't even bother really rating. And there's like some that I'm like half scratch like Rome here. I have literally tried to watch the second season of Rome, so many goddamn times. I've watched the first season over and over and over again since high school, but I've never been able to get into the second one. But this is really, really cool. This is really awesome. If you are going to use the pen, I would flip it to its right. So if this is it, you use the right side, don't use the left because the left tore up a few of them, like a tore up a Shawshank Redemption and a few others. But otherwise, this is a fantastic. This is actually really neat. I would definitely suggest it. So again, if you guys want something, it's from Wonderland, the Wonder being a three. They have a website, www.wonderland.com. So if you guys want to check this out, this is really, really cool. They even have an Instagram. I'm going to post an Instagram about it. But this is an awesome gift. Thanks again, love. I've left the link to their website in the description below. So check that out if you guys want to. Anyways, if you guys like this video, leave a like. And if you're interested in more subscribe, I'm going to rest my arms now, my wrists. Thanks for watching the video. My name is Nitz. And you might remember me from the animated cult classic TV show, Undergrads. It's been a while, but I'm happy to say the click is finally getting back together in an all new movie, thanks to a successful Kickstarter campaign. But we are still asking for your support. To see any and all updates about the upcoming Undergrads movie, be sure to check out and like the bring back undergrads Facebook page. And with any luck, we'll see you guys soon.


Hi, everyone. It's Monica Wachee here talking about data science again. But I'm particularly excited today because I get to talk about two softwares at once, R and SAS. Why am I using both R and SAS for one project? Well, I won't normally do that. I explained the reason in my blog post I link you to in the video description. Briefly, I was already developing an analytic data set in R for a project where I was analyzing the data in R. Then suddenly another project was assigned and it was due right away. The second rush project was like the first project, so I wanted to quickly generate a similar data set in R and analyze it. The only problem was for the second project, I wanted to use a SAS PROC for the analysis and I was in a total hurry. So I'll show you how I solved my problem as a perfect example of SAS R integration. So why do we love R? We love it because it is open source, which is free, and it's easy to use for extract, transform, and load, or ETL code. Creating an analytic data set for a research study is quick and dirty in R. But the problem with R is that it has trouble doing heavy analytic tasks on big data sets in a normal environment, like on my desktop computer. In fact, I go into detail about this limitation in my blog post. I demonstrate that I have no problem using R to generate the analytic data set. What I'm doing is trying to make two binary flags to represent health care access issues. The first one, med-cost flag, flags the record if the respondents said they could not access the doctor within the past 12 months due to medical costs. See the coding of med-cost flag? I generated it from the native variable in BRFSS, which is med-cost. And then next to it, we have the coding of the binary flag, no plan, from native variable health plan 1. This flags the record if the respondent doesn't have a health insurance plan. See, the BRFSS is a population-based survey. In the first analysis, I was just considering a subset of the records, so I didn't need to use the population weight variables that they include. But in the second analysis, I wanted to estimate the population-based rate of these access to care variables. So the idea is that all the records are in the denominator and the numerator is made up of the records that say 1 for the flag. But we needed whatever software we used to take into account the weight variables in the analysis. BRFSS offers guidance on how to use both SAS and R, whichever one you want, and run the analysis with the weights. But the problem was when I used the R code, R just wouldn't run. It just hung. So I knew I could not finish the analysis in R even though I successfully made the analytic dataset. So the main reason not to use SAS for a project is that the data step sub-language you have to use to edit the data is really onerous. Data steps are necessary for big data because you have to have all the tools offered to you in data step sub-language to manipulate really huge datasets. I explained this in the first few chapters of my book, Mastering SAS Programming for Data Warehousing. But SAS data steps are overkill for small data. And for SAS, most datasets that are not in a data warehouse environment are effectively small. That's because a dataset has to be pretty big for SAS to even notice it's big. Which was great for us from the analytic standpoint because R was not able to complete the analysis. The data were too big for the R commands that I was trying to use in my desktop computer environment. I knew the same dataset would be totally tiny in SAS's eyes so I knew I would not have trouble running the analysis on it in SAS. What I didn't know was if I could make the analytic dataset small enough to use in SAS ODA because it is a free version that is online so it has data limits. It's not really meant for doing a full analysis. It's just meant for practice. But I had an idea. My plan was to run PROC SurveyFreak in SAS which requires just the weighting variables and of course our flag variables. And since SAS datasets are so bulky, I instead use R to make a CSV file of the dataset with just the variables I needed for PROC SurveyFreak and exported that from R so I could upload the skinny dataset into SAS ODA. And I crossed my fingers and it worked. I was able to upload it. But remember you still have to convert it to a SAS dataset. This is SAS so of course it's confusing. In order to use the dataset in analysis, you still need to use PROC import or the import utility to convert it into SAS format in the SAS ODA environment. But once it's uploaded in there, it works. You can see my PROC import code on GitHub. And look, I was able to get my PROC SurveyFreak output to come out. See those weighted frequencies and percents? That's what you need SAS for. So I was able to solve my problem with a little SAS R integration. You can imagine how a similar approach would be helpful in SQL where you can make a SQL view and hit that from a SAS server environment through an ODBC connection using SAS access to limit your import to a smaller subset of data. This is an overall paradigm you can use when thinking about dealing with SAS which is trying to make datasets smaller in other programs before getting to SAS. So SAS doesn't have to work as hard at data stepping. I hope you enjoyed my little video on SAS R integration. Are you doing any SAS R integration or any other kinds of data software integration? If so, give me a comment. I'd love to hear about it. Thanks for watching and have a great day.


Netflix is doing a big open casting call for Squid Game The Challenge. I know that there's a lot of non-actors that are going to be submitting to this huge open call that literally you can be anywhere and you can submit from. So as an actor, I know what casting directors are looking for as far as the photos and the videos. I know how frustrating it can be the first time that you're filming a self-tape audition and sending it in, especially not knowing like the photos like what are they talking about a headshot and am I supposed to go get a professional headshot? What kind of video am I supposed to film? It's mostly about your personality but you also want to present yourself well so that you can keep going in the different rounds because sometimes it's going to be how much you showed your personality just a little bit more than somebody else and you're going to be able to show yourself better if they can actually see you and hear you well. The first thing that you always always want to do with open casting calls is to make sure that they actually are who they say they are and that this is a good thing to be submitting to. Never give them really personal information at the beginning. Later if you get selected you will have to give them information for payment. Netflix has netflixreality.com where you can submit to be in a bunch of different things like Nailedid and The Circle. I went to that website and I did not see Squid Game The Challenge on there at all. That's a little suspicious. I went to Netflix's YouTube channel and I did see that they have the video there. I went to their Twitter and saw that they also have the announcement there and then I went back to the netflixreality.com and refreshed it a couple of times and then Squid Game The Challenge did pop up to go to a different website. What they probably did is that they created a whole website just for Squid Game The Challenge so that this website wouldn't crash. Is this legit? As far as I can see, yes. To submit to the casting call you would go to squidgamecasting.com and you can submit from anywhere in the world. There's different links that you can click on depending on what country you're from and on the website it does say that they're going to be casting 456 people and it says the stakes are high but in this game the worst fate is going to be going home empty-handed. Let's click on the US casting and then we can go through all of that so Squid Game The Challenge US application they're asking that you be at least 21 years old and they are also asking if you have legally the right to be living in the US. As far as the filming it does give us a little bit of information here. It must be able to take part in the program for up to four weeks and they're currently estimating it to be early 2023 but that of course can change depending on so many things and then you have to have a valid passport for the whole period of filming if selected and have the right to be able to travel to all locations as we specify. Definitely have that ready because you will not be able to travel and you can't be a current employee or family member of Netflix it looks like or all three media group. The next section is asking you some very basic information. Read all of this and then come back and fill it out once you're ready to upload everything. So here's your actual audition. Upload a one-minute video telling us about yourself, why you want to be in Squid Game The Challenge, what your game plan would be and what you would do with a huge cash prize if you won. Trust me when you start talking about yourself and what you would do with these things you're definitely going to end up doing more than one minute so if you're thinking oh let me film a long video and I'm going to give them more information so it's going to give me a better chance no. This is just step one they're likely going to choose a bunch of people to do another video so a second audition and they're likely going to ask people to do a third audition or a third meeting via a video call of some sort.  My experience. I don't work for Netflix I don't know exactly how they're doing this but most castings do it like that. A lot of people decide the people that are getting selected and so they want to see different versions and they want to see a few different videos and they want to do like a video call or an in-person meeting to be able to decide to see if they trust them if they're fun enough to be on the show if they're dramatic enough to be on the show. For this video I highly suggest to be yourself and in the part where you tell them about yourself don't just say like oh I'm a teacher and I live in Virginia. Give them a little something that you were excited about because they're going to be more interested if you're talking about something that you are excited about and that's going to bring them in.  Who knows what they're actually looking for. Do your best be yourself and have fun with the video because if you don't have fun with the video they're definitely going to be able to tell. Casting does this so much that a lot of the time they will watch something and immediately be like I've seen enough or I want to see more from this person and it does say try to make it no longer than a minute so if you go up by a few seconds it's going to be okay and here are tips that they're giving you basically the information that I'm giving you in this video except I'm going to give you some examples so put your phone and device in landscape mode which is like it's at right now like TikTok and Instagram reels like straight up and down so you want to make sure that your phone is horizontal as far as your framing it should be basically this you can be centered to the camera eye level your camera you don't want to be too high or too low because it'll just make weird angles and then if you can have a blank backdrop and natural lighting if you have like a windowsill you can put your phone on the windowsill prop it up maybe use some books to make it higher if you need it it's okay if you're sitting or standing if you have a tripod of course that's the best because it's going to be the least frustrating you're going to be able to set everything up if you are interested in purchasing some filming gear maybe you want to audition again in the future for other things or if you want to make videos on youtube right now casting workbook has a self-tape audition kit which is basically like a filming kit for 72 that includes tripods lights backdrops and i'll put a link in the description in case you're interested in that please do not use a filter on your video definitely do not because they want to be able to see you what you actually look like and once you go to upload it you can either upload the file or you can submit a url you upload it to youtube or vimeo or anything like that you can usually have an unlisted link and be able to send it to them so only people with that link will be able to see it if you have never edited anything in the past or don't have any editing software already on your computer or your phone i highly suggest adobe rush you can get it on iphone or android and it's very very user friendly and it has all of the basic things that you're going to need please upload at least two recent photos of yourself no hats or sunglasses as far as your headshot you do not need a professional person to do this natural lighting if you just walk outside go to indirect sunlight you'll be able to get a good photo and your headshot should be around this and then your full body shot should of course show your entire body and look like this it does have space for three more photos highly suggest to put the other photos if you have any fun candid photos that don't have filters this would be a good place to put them maybe something that shows your personality make sure that your hair is like the same length as your photos or same color i do have a bunch of other videos if you feel like you're not quite ready to do this i do have a video on what to tell casting when they ask you tell me a little bit about yourself because that happens to us all of the time and then i have a playlist also right here of self tape auditions so as far as the actual filming what i use and all of that how i frame things at the end of the video i also feature another channel this is today's feature


Take us to listener Roy with a question, huh? Yes, sweet Roy has a question. Do you know if there is a way to make a shortcut to turn on and off silence unknown collars on the iPhone 11 Pro? Yes, I whipped out the Google food, Dave. OK, I found something on Reddit. Ah, nice. And the article both has a link to the shortcut, which you can download, or it gives you the the source code, if you will, which I thought was pretty neat. So you could do it either way, but I confirmed it work. It I don't know how you I mean, you have to go into the shortcuts app to run the shortcut. No, you can do it with Siri. I mean, you can trigger shortcuts with a billion different things. Oh, OK. Yeah. OK. Yeah, yeah, yeah.  They call it S.U.C. for the shortcut. And so so they it's just, you know, Siri preceded by the word. Hey, of course, Siri, S.U.C. And then boom, it does it. It it looks like I looked at the source for it. So what it's doing is it's filling a URL field with a path, which is and you don't have to write this down because it's right there in the thing. But just to talk it through, it starts with Prefs colon. And so what this is as opposed to many URLs which start with, you know, like HTTP or other things, right? HTTPS or FTP or mail to or write whatever. It's like that, except it's Prefs colon, which tells iOS to go and adjust a preference setting. So this is one of those things that's sort of a a hack, if you will. Shortcuts doesn't have a way of impacting that preference, but that URL is available. And so the the rest of it talks about the specific preference and it says the root is phone and the path is silence underscore calls. And so it populates the URL with that. And then the shortcut simply tells it to open that URL toggling that particular preference. So you have to know that you're turning it one way or the other, I think, because I'm not sure I haven't tested it. So I would assume it's just toggling it, but I could be wrong about that. So yeah, yeah, it's pretty cool.