Welcome. The next session is going to be about load balancing VMs in Kubernetes. I have one small request. When there will be questions, please do not leave the room because you will disturb the speakers, so if you can stay, there's enough time actually to leave the room after the session. So Janir, the stage is yours. Thank you very much. So, hi guys. My name is Janir Quinn. I've been working in Red Hat for the last two interesting years. I'm a part of the Overt SLA team, the Red Hat Virtualization, and currently I'm mostly working around Qvert. So, let's start. Basically, the topic today is the need for load balancing in Kubernetes. And to talk about it, we need to first go over what is Kubernetes in a nutshell and also what is Qvert, how scheduling works in Kubernetes and then understand why do we even need load balancing. After understanding the need, we'll see some of the projects already out there and the concepts in Kubernetes and also we will focus on one major project in Kubernetes incubator called the scheduler for load balancing. After that, we'll see what else might be done around that area with an emphasis on scheduling simulation and finally, finally, all of that will come down to load balancing virtual machines in our queue wheel fold with a load balancing experimental algorithm. We'll have an example at the end. So, first of all, Kubernetes. So, Kubernetes is, as you know, is an open source platform designed to auto-scale deployment, automate deployment, scaling, and orchestrate the containerized applications. Doing all that on a cluster level. So, at the minimum, Kubernetes can schedule and run containerized applications across multiple virtual or physical hosts and they could be around up to 5,000 of them. Doing that in a manner that maximizes the host resources. And Kubernetes containerized infrastructure allows you to control and automate application deployments. In addition, it also allows you to mount and add storage to keep these applications in a stateful state. Meaning, because containers usually have unfurl disk files that will be lost after they're gone, we need to have persistent volumes to keep stateful data and also allow containers to share data among themselves. So, it should be easy to scale containers application and resources on the fly. And Kubernetes is also a declarative platform. Meaning, I'm telling Kubernetes using a specification file usually. Usually these are YAML files. How do I want applications to run? And it's guaranteed that the applications will run that way. It also provides monitoring and health tools for health check-in and self-healing, etc. To understand a bit about scheduling and how scheduling works, I'll talk about some of the components in Kubernetes.  So, basically Kubernetes runs on top of an operating system. And it interacts with pods running on nodes. Nodes, for that matter, are our hosts. So, let's zoom a bit to Kubernetes node and what it contains. So, our scheduling unit in Kubernetes is a pod. A pod is a collection of containers. One or more containers that have shared storage, networking. And being a declarative language with Kubernetes is you create a pod with a specification file. The specification file will contain image data, storage data, resources I want to allocate for a specific pod such as CPU and memory. And these pods run on the host I mentioned. Either physical or virtual. In a Kubernetes node, you have services that keeps the node running and communicate with the outer world. One of them is a Kubelet, which is some sort of an agent for the node to communicate with other components in Kubernetes and keep an eye on the state of the world and the changes and other commands. Also, it might contain services such as Docker or other container runtimes and a Kube proxy. Some of the master components relevant to this lecture is, first of all, the API server. So, the API server is the gateway to Kubernetes. It's basically the front-end. It receives commands from the outer world, DevOps, for example, and relays them down to Kubernetes. And this is how we communicate. Another major component is ETCD. ETCD is the back-end store of Kubernetes. Kubernetes runs on resources. One resource, for example, is our pods. So, ETCD keeps in a key value pair all the information needed for our world in a stateful way. So, a pod will be contained in ETCD with its identity and we can always examine its state. So, one of the components in Kubernetes examining the state of the world is a scheduler. But before I talk about the scheduler, the scheduler is one of the background threads in Kubernetes called controllers. Each controller looks at the state of the world, meaning in ETCD, and acts upon them, running in the background to define the ratio for examining ETCD. So, the basic job of a scheduler is to look if a pod was created and it doesn't have a node assigned to it, takes that pod and schedule it on top of one of the nodes in Kubernetes. So, we talked very briefly about Kubernetes and now we get to Kuvert. So, Kuvert basically comes to converge to infrastructures. We have our Kubernetes infrastructure, which is about containers, but we still want to manage VMs. So, Kuvert is an add-on for Kubernetes that allows us also to manage virtual machines alongside containers. This is a classical example. So, container is the strong buzzword around the world. It's considered the strongest way to go right now. It's faster, it's stronger, it's scalable and can store really high, like Superman, for example. On the other hand, we still have our virtual machines. So, they have their old bulky utility belt with a full hardware stack containing starting from BIOS and network adapters, storage virtualization, CPU and more. But the world is still not ready to get rid of virtual machines. The world still needs also Batman, for that matter. So, that's the main reason for us to have a converged infrastructure. We don't want to manage two infrastructures that will give us a large overhead and duplicate resources, etc. So, for that, we have Kuvert. So, Kuvert comes on top of Kubernetes and acts with it. It drops really easy to a Kubernetes cluster. You don't need to add an additional old setup. It's really simple to install. And it takes all of the Kubernetes benefits and capabilities, such as scheduling and also managing it in a declarative way. So, I talked about pods, but Kuvert is about virtual machines. And we represent in Kuvert virtual machines as the way pods are represented in Kubernetes in a declarative way. And they are managed the same way a pod is managed in Kubernetes. To understand the concept of load balancing in Kubernetes and virtual machines, think about it this way. A virtual machine is running on top of one or more pods. So, when I'll talk about scheduling pods, it's basically scheduling virtual machines with a twist. So, just a quick, simple overview of how scheduling works in Kubernetes. So, you have the client side where you can run commands using kubectl. With kubectl, you can initiate a command given the specification file as Kubernetes being a declarative platform about the pod. That file will contain, as I said, the images, the image storage, and also for scheduling matters how much resources I wanted to consume or what is the maximum it can consume or minimum it needs. So, we created a pod. And now we have a pod definition. The pod is not running on any host yet. Once we created a pod, its data is stored in ETCD, but without any host. So, the scheduler being a controller that looks at the state of the world notices, hey, I have a pod right now. It doesn't have any host. So, I'll assign that pod to Nordix. The schedule works according to a scheduling policies and some threshold you want to define. Examples from our open world can be power saving, even redistributed. And it acts with filters or in Kubernetes world are predicats and also weights or priorities in Kubernetes world. So, doing all of these calculations, it finally comes out with a best host for that specific pod. Once it decides what's the target host or the target node, it updates the state in ETCD. So, the pod is now with a state that it's assigned to node, specific node, node X for that matter. The agent running on node X notices that something has changed in ETCD. The pod is now assigned for node X in ETCD. So, it said, hey, I'm supposed to run that pod and finally starts a process which runs the pod with all of its container on top of it. So, that's a very simple flow of scheduling in Kubernetes. So, now we talked about scheduling. Let's talk a bit about load balancing. So, here's a blast from the past for this defragmenter. So, it will help us a bit to understand why do we even need load balancing. So, like your classical old hard disk, when you create files, delete files, add capacity to it, you create holes. And the state of the hard disk is not as good as it was at the start. And this defragmenter, for that matter, does the defragmentation work to get your disk to be in a more consistent state. Same thing goes to Kubernetes cluster. You can look at pods as files. Pod creation, pod termination, adding more nodes will get the cluster to be in an, I won't say unstable, but not in an optimized state. So, one of the main reasons for that, that scheduling decisions in Kubernetes are made only once. Once you create a pod, and once it's assigned to a node, it won't be moved again. The decision is final until the pod is terminated, and then a replacement one will come, and the scheduler will just schedule it to a new node. But, again, pods are killed, and then they don't live anymore, and a replacement pod comes instead of them. So, because of that, we need a way to optimize the cluster layout. We want to look at the situation and decide, okay, I have some pods running on certain nodes, and maybe if shifting them to other nodes will optimize the cluster layout, and give me a more evenly distributed cluster, or maybe I can switch some pods to other nodes and save some power by disabling one node. A complete framework of that doesn't, doesn't exist yet in Kubernetes, but there's work being done, and work that has been done for now. So, in the Kubernetes world, let's take a look about a few of the examples that currently exist in Kubernetes. So, we have the classical scaling, alt-scaling, so it's the alt-scaler. It simply noticed the state of the Kubernetes cluster, and if it sees that the resources are almost exhausted, it will automatically bring up a node. Bear in mind that it brings up the node and doesn't move existing pods yet to the new node. This is for upcoming nodes, for newly created nodes in the future, so I won't worsen the state of the cluster. Another thing is eviction policy. Eviction policy, you can look at it also as a concept, but for balancing right now, you can look at it as a concept for a specific node and not for the entire system, meaning I have a node and I set defined thresholds for that node. Once I reach these thresholds after a grace period you defined, the node will start evicting, preempting, sorry, evicting pods from that node until it reaches a stable state again. Again, it's in a concept of one node. From other virtualization concepts and maybe other cluster concepts, you might have heard about affinity, which basically means a pod can run along other pods or a pod can run on certain hosts, and you have also anti-affinity, which means the complete opposite. In Kubernetes, you have also the concept of taint and toleration. Taint means that a node will repel certain pods, according to defined labels and definitions, but you can put on a pod certain toleration that means, okay, the node will reject this and that pod, but if I have a toleration, then a pod can be scheduled on that node. An example for load balancing world or maybe for damage control, one taint can be once I reach out of space or out of memory in a certain node, then it applies immediately an eviction for the pods running on a node because it cannot tolerate out of disk. And finally, another solution in Kubernetes is about pod priority and preemption. Basically, it's scoring your pods, meaning I want to grade the pods from one to 1,000, for example, being 1,000 the highest rank, so critical pods will get 1,000 and not so critical pods will get something in the middle, maybe less. And once I reach a specific threshold, no, sorry, critical pods that will have a high score are favored over pods that have a lower score. So for that matter, I want to create a new pod which is critical or I have a critical pod that went down what's created again and I need it to run. So pods with low priority will be preempted, they will be moved and the preemption will cause critical pods to be scheduled on a node. These are partial solutions for the system that does relief the state of the system, but it's still not a complete load balancing solution. So this was Kubernetes and also Kubernetes has a great repository called Kubernetes Incubator with interesting projects in it and two of the projects related to load balancing are cluster capacity and the scheduler. So before I talk about the scheduler just a quick overview about cluster capacity. Cluster capacity means I get a pod specification, Vivids, for that matter, desired resources and it takes a snapshot of the state of the cluster and then tries to see on how many nodes the pod will be deployed on or assigned to until it reaches a certain limit and then it will say okay, I scheduled a number of pods and I cannot schedule any more pods. Downside with it that it is for a specification of a specific pod and again not a complete solution. So we're coming now to this schedule. This scheduler currently looks like something that is more close to a complete load balancing solution. So like classical load balancers for workloads, this scheduler, you set a certain strategy or policy. It can be high utilization, low utilization, power saving, maybe in the future. Having said that policy, it looks for a trigger for a state that it can enable load balancing in the system meaning I got to a certain state and now I can see that I can take down one pod, kill it and let the scheduler reschedule it again. So once it gets to that situation, it kills the pod, evicts the pod. A pod being a part of Kubernetes concept, part of deployment or replication set or application control will be recreated instead of the killed pod and the scheduler with the new state of the system of the cluster will probably schedule it on a new better node than it was before. Doing all of that with an emphasis of minimal disturbance to the cluster, I don't want to start killing pods all over and evicting them over and over again because they might not be reassigned or it might not improve the state of the cluster. So one existing policy, for example, it's low utilization. You can see them on top. Once I see that the node has a state with a lower number of nodes than something I defined and a low memory in CPU, it means I might want to evict some pods into that node so I can level the system. This can be caught, for example, if an autoscaler brought up a node and it doesn't have a lot of pods running on it and I want to balance the system. So it basically will kill a pod and hopefully the scheduler will reschedule that pod on top of the new idle node. So again, because we're repeating that Kubernetes is declarative and the scheduler also gets a declarative file with that specific policy. So for the example of low utilization, I'll zoom in a bit, we define specific threshold for low utilization. So we can see at the top example that I defined I want 20% of CPU and maybe 20% for memory is not the best example but a simple threshold of memory that wasn't reached and also number of pods. If a node applies to all of these thresholds and it's under it, then it triggers the scheduler to start searching for other nodes where it can evict pods from. So we can also define target thresholds for nodes you want to evict pods from. So it will be the other example. All the values above 50 CPU, 50 memory or 50 pods will cause a pod to be evicted for that specific node. So you can just start killing evicting pods from every node. You can't evict critical pods. Pods that are not expected to terminate have local storage for that example. Again, they need to be a part of a deployment or application set so they will be recreated.  And we want to evict, of course, best-effort pods before critical or burstable pods. So something is still missing here that might contribute also to the scheduler project. We want to know before we evict a pod and let Kubernetes create a new one if a new pod will even be scheduled on some node. Maybe we do all of this work in vain. We want to have a more accurate simulation of the system state and reassignment, not only taking a snapshot, but maybe doing it in real time. And finally, actual replacement of pods to better nodes. So for that matter, we want to have the ability of scheduling simulation. Scheduling simulation or dry run functionality for that matter doesn't exist yet in Kubernetes. It's an open issue. We are also working to contribute on that matter to have the ability for dry run scheduling. So scheduling simulation basically means you take a dry run endpoint that will take a pod, sorry, and eventually will tell you where the pod will be created or where the pod will be binded to. Or even before. I want to see if it can be even binded to a specific node even before getting the results. So these are two of the outputs. Very simple for a dry run functionality. So as I said, use cases can be very good for rescheduling and load balancing if I can pre-know where I would schedule that pod on a specific node that will really help me before starting changing the cluster state and load balancing the system. For cluster capacity analysis, for example, instead of taking a whole snapshot, I can just run dry scheduling on each pod and then see what happens. And maybe it would be more accurate instead of having time elapsed since I took that snapshot. Also for auto-scaling in Kubernetes, if I scale up a node I want to see what happens next, et cetera. You also have the capability in Kubernetes to use replacement schedulers, meaning you can create your own scheduler and have maybe stricter predicates of filters. So stricter predicates, usually logically saying, they might not allow you to assign pods to nodes as easy as in the Kubernetes stock scheduler. So we want to better know how it will happen. There are some obstacles for creating this dry run functionality on Kubernetes because, first of all, we don't want to affect the state of the world. We don't want to affect the ETCD. So we need to leverage caching mechanism in the Kubernetes existing scheduler, which won't be easy.  So it should be something more memory-wise instead of changing ETCD. So it all comes down to load balancing virtual machines, all of the concepts I mentioned before. So taking Kubernetes and Qvert, using dry run functionality for load balancing with the scheduler, maybe another algorithm, and migrating eventually VMs. But before we talk about just running the algorithm, migrating VMs, what does it mean? So virtual machine, let's look at it in an abstract way. Virtual machines run on pods, one or more pods.  We don't want to evict the pod that a virtual machine runs on. Killing it will say, it doesn't really create a live migration. So for that matter, what we want to do is before killing the pod with the virtual machine is creating a replacement pod and then transferring the workload of the virtual machine to the new pod as a result of load balancing and shifting a pod to another node. So Qvert has a new object called migration, which defines the destination node, defines what is the VM, and the status of the state. So once a migration object is created, we schedule a new pod. It schedules a new pod. When it starts, it triggers the migration, and at the end the VM moves to the new pod. So how can it work on Qvert? So as I said, we have the descadular. The descadular evicts the first pod it sees from a specific node, and then lets a new pod be created. Kills it, and the replacement pod will be rescheduled by Kubernetes.  So instead of it, we will just block pod eviction or pod deletions, and virtual machine migration will be in the background. We will create a regression object, a new pod will be created, and then a virtual machine will finally move there. I also talked about scheduling simulation. So we might be able to neglect the descadular project and do explicit load balancing based on migration objects and utilizing the dry run functionality. So this is an example for a brute force algorithm that will make use of such dry run functionality. I will go all over the pods in this cluster, taking them from all the nodes, dry run them with the scheduler and see what is the destination node. So for each pod that I found the destination node, I want to score it. Give it some sort of scoring. I don't want to score the node itself. I will score a code into the node according to its memory consumption, according to CPU, maybe other aspects you want to add later on using priorities. So I have an overall score. For that matter, let's see that the higher score is the better migration. So I scored the migration eventually. So once I've went all over possible migrations, I'll get a list of all migration results and then like in MapReduce, I will reduce it to the best score that I have and according to that, I will initiate the migration. So the best migration will be for the best overall and then we'll trigger a migration event and the pod will be rescheduled. This could be very CPU consuming since it's brute force, but it's another example of how you can utilize dry run functionality in Kubernetes without using other projects or maybe creating your own load balancer. Okay, so we talked about Kubernetes, Qvert, load balancing, scheduling, dry run scheduling, but it all comes down to virtual machine and balancing virtual machines. We are leveraging Kubernetes concepts using Qvert. We are leveraging the scheduler and finally we might want and wish to add more capabilities to Kubernetes such as dry run functionality. Kubernetes are still, on their side, are adding more concepts for optimizing cluster and you will always see in each version a new concept, eviction policy is a bit new. Also, pod priority is new. So it's an ongoing work on that area. So there's still more to come. Still work on the virtual machines world, but it's all very interesting and exciting and I think in the following next year you'll see more concrete results in converged infrastructure for virtual machines and containers. So that was for me and if you have any questions, I'll be happy to answer. Yes, again, can you repeat the question? You don't want to isolate the problem. So you're asking if it's about isolation and load balance, are you talking about throughput? No, okay, so if I got it correctly you think the problem is isolation and why do you... Basically, again, it's about... The load balancing concept is about the system of the cluster, the state of nodes and resource consumption. It means that I have certain containers and pods running on a node and the nodes came to a certain state where I have other nodes that can take some of the pods. Again, if you're talking about isolation you have affinity concept for that and taints and toleration, meaning I want simple containers to run on specific nodes if I understand correctly. These are other concepts, meaning affinity and taints and toleration. But balancing concept is around just stabilizing the system in terms of workloads and resources. In VC? You said about VC. Open VC is not supported by Kubernetes. It's a similar approach. Again, it's not existing in Kubernetes but I'll be happy to discuss with you later on about this approach. Again, is that a naive approach for live migration on top of Kubernetes? Okay, so you asked if the approach of this schedule is only for Qvert or not only for Qvert. This scheduler is a project for Kubernetes, not Qvert. But it can also contribute for Qvert, for virtual machines. We can use, as I said, at the end of the presentation we can leverage it, see where we can evict a pod and then instead of letting it evict, we can put it in the Kubernetes world. We're talking about virtual machines running on pods. So this scheduler evicts a pod and then a pod is recreated and the Kubernetes scheduler just schedules the replacement pod on a new node. That's a Kubernetes concept. So integrating Qvert concept is blocking the pod deletion, creating a replacement pod and by creating a migration object which is a part of Qvert and then moving the VM to a new pod. So are there non-Qvert applications for that concept in? Live migration? Nope. You cannot do live migrations for containers because the concept again for pods, once they're terminated, it's final. Do you have room for my question? Yeah. What's the difference between virtual Qvert and the Qvert? I'm less familiar with the Microsoft project. Maybe it has the same concept. So it's integration for Azure Microsoft. So I'm less familiar with that but maybe we can talk about the differences later on. Do you have time for another question? Yeah. So you're talking about, the question was about the load balancing network load if I understand correctly. Or this guy or other concept other than CPU and memory on top of Kubernetes. I give an example for CPU and memory just to grasp the things. In Kubernetes, you can also apply to a pod labels. Other than labeling pods, I know in terms of throughputs, Kubernetes does have a load balancing which is not the load balancer I talked about. Only about throughput. But you can also apply extra predicates. I don't know if you read about the Kubernetes schedule itself but you can create your own scheduler with stricter predicates and maybe add filtering of networking and other priorities for that matter also for IO. So the concept is plain but you can always add on top of that. More questions? We're on up of time.


Some self-taught programmers will never make $50,000 a year. Yes, that's right. Some self-taught developers will never make $50,000 a year. And let me explain. This video was brought to you by DigiLink Academy, the number one spot for software development, career training, and courses. You guys get access to a wide variety of courses, including resume prep, job interview questions, and answers. And you can also get access to our WordPress and Incom Blueprint Guide also. And you also get access to our community of like-minded professionals and really put yourself in the position to take your career to the next level. So let's go ahead and click the link below to get access to our free training guide so that we can really help take your career to the next level in seven easy steps. What's up, guys? Let me tell you a quick story before we get into the reasons why software developers or self-taught software developers or programmers would never make $50,000 a year. Well, first of all, guys, I have a background I have a four-year degree from Mississippi State and business information system, which is basically business and computer science consolidated into one major. I have some coding experience, but what I was programming in college is COBOL, which is different than everything else. So I really had to teach myself a lot of the modern software development stuff outside of school. So I have some level of experience being a self-taught developer. I think to a certain extent, all of us are self-taught developers after we get out of school or whatever boot camp we are because you always continually learning, but you get my drift. Now, being said, guys, I went on this tangent or this tariff just learning tutorial, tutorial, tutorial, any and everything about C-Shark coding, Microsoft SQL and all this stuff. And I was gonna get this new job at, I'm not gonna tell you the name of the company, but it's in the healthcare industry, healthcare insurance industry. And they pay well, it was a stable company and they had technology. So they had everything you need to actually position yourself for a long successful career as a software developer. Well, when I've had that interview, it was awkward guys because at the time, I didn't really value the other soft skills. I was just strictly on the cold and my ability to teach myself how to code and any and everything about code and functions and arrays and all this stuff. And don't get me wrong. I think I did decent interview at that specific time in my career. I was in my early 20s, so you can't ask for much on my earlier stages, but guys at the end of the day, I really bummed to my today standards because I really didn't communicate my value and I was just focused purely on the cold, which again, you wanna hit on the cold during the interview, but it's not all about the cold. And the surprising thing about it is these companies, they pay well, but when they can find somebody, they can come in and underpay, they will underpay you guys, so you have to understand that. And they're gonna put you under this trainee or junior developer job and a really good way to justify this, either if you're early on, you don't have any experience or you may be a self-taught developer who didn't have any previous experience before. They feel they're taking a risk on you, so they throw you in this trainee developer program or junior developer program and you're not making over $50,000 a year, you're actually in the 30s and 40s if you're lucky. So a lot of self-taught developers, unfortunately, get stuck in this particular spot, which is that's the point of my video today, guys. And we're gonna go over the reasons why you guys get stuck in this and we want to prevent this from happening. So that being said, guys, the number one reason after looking back at this, the reason I got stuck is, I made some points here, by the way, so I'll be reading off my points to make sure I cover everything. But number one is talking too much about the cold, guys, and not about my problem-solving ability. And a lot of you self-taught developers make that same problem. You go into your ability to learn cold, but you don't go into the ability to solve problems. And this really puts you at a disadvantage, especially when you're trying to get that high-paying job, you don't have no certifications, you don't have a degree, so companies feel like, hey, I don't know what I'm getting, so I have to justify that by paying them low and see if they can work their way up. The unfortunate side of guys, once you establish a salary and a value in the marketplace, it's like pulling teeth to get increases, especially at the same company. Most of the increases I ever, or significant increases I ever got at a company is when I had other offers on the table. Without those, you can't go in and ask for a 20% increase in your salary, and they're not gonna give you a new title or anything like that. It's just hard to do, unless it's extreme situations. And you coming in as a self-taught developer haven't really had that experience, that's gonna be a tough sell, guys. Let's go ahead and state the facts. So a lot of you self-taught developers, especially in these small towns, maybe if you're in a bigger town, that situation may be different where you can make more than $50,000, but even then, just say that number $75,000 in a city like DC. You're still losing because you got programming jobs that standard at 150, 140 in DC, so you coming in making, I don't know, 60, 70 grand, which sounds good for the most of us around here, but there's chump change in DC. Silicon Valley is the same way. New York's the same way, guys. So you have to understand that, especially as a self-taught developer, because they don't have anything to kind of really gauge your problem-solving skills on because you're just focusing on the coding. That being said, guys, number two, you have no proof of your problem-solving skills or your experience in a professional environment. You may have a coding bootcamp. Yeah, you may have done some kind of certifications, but I don't know how you're gonna be when you come in here and start coding with my team. I don't know how you're gonna be with teamwork. I don't know how you're gonna be with being around other people, talking to end users. There's a lot of unknowns there. You have to communicate those unknowns as a self-taught developer. If you don't, you're gonna end up making less, guys. Again, they're gonna find reasons to pay you less because they're taking on risk. You wanna reduce those risks as much as possible because they're gonna always try to justify paying you lower money to make sure they reduce their risk. And if there's any problems, they can go to their boss like, well, boss, I know he's cold-suck and he can't cope, but we only pay him $29,000.  Okay, as long as we don't pay him over $35, you know, we'll obviously improve his skills, but they'll never get over $35. That's what I'm talking about, guys. You don't wanna be in that position and you gotta position yourself to be successful in order for you don't be considered as a risk. You shouldn't be considered as an asset coming in, guys. You communicate through this interview. You can have two identical resumes with the same level of experience. One come in and bomb as far as just communicating that. And one does good and that pay gap can be tremendous. That pay gap can be $50,000 to $40,000. And I'm being generous, guys. So it's that important for us to do this. I see this time and time again. Somebody with some really good software development skills don't know how to communicate it and then they get underpaid or short end. We don't want that to happen, guys. You always wanna put yourself in a position to get max salary or at the very minimum have a date to say, hey, we're gonna evaluate within 60 to 90 days that we're gonna evaluate to say we're gonna get to this salary. We gotta get that in writing, guys. And again, we talk about that in my seven step guide. If you haven't already, go sign up for that free guide. Links are below, so go ahead and jump on that. And number three, guys, not made some notes here. You have coding, you have, side note, you have been in a position where you can't reach on, right? Yeah, you have the coding side down pack. Let's communicate the knowledge. Again, I talk about this in all my videos, guys. You have done the hard part. You have learned the coding fundamentals.  Really done all the hard work. Now, you are on the two yard line, just need to get over that hump so that you can make the money you want, have the lifestyle you want, and have that six figure salary that you've always been wanting. You just gotta get over that final hump of being able to communicate all the work you've done so far.  And that's the reason why we have to figure that out, guys, we have to change that. And again, I communicate that to you guys in my courses and all that stuff because a lot of people talk about the tutorials and all the stuff you have discussed earlier, which is very important. I want you guys continue to do that. But it gets to the point where your coding tutorials don't take you up anymore. You have to start solving problems. You have to start having impact with your software and working with workflows, businesses, freelancers, and all that stuff, guys. So it's important that you guys kind of know this going in so you know how to communicate to whoever you are doing a project for. This applies for freelancers. This applies for standard software developers. This applies for self-taught developers. And this applies, if you have a software company that you providing services, it's the same thing. It's just a matter of how well you're gonna communicate. And you don't have to be great. That's the point I want you guys to know. You can just basically not suck.  You can be average and still do good because your coding skills don't do all the talking for you. You just gotta put it in a way that you don't suck. You can just be average and you're gonna be ahead of all the competition guys. So if you agree with me, let me know below. If you disagree with me, also tell me what you've done differently as a software, self-taught software developer and really put yourself in a position to win. So let's have a conversation below guys. If you haven't already, help support the channel guys. I have some goodies in the description box. Some free goodies that give you access to a lot of free stuff. So seven step guide, it also give you access to our DigiLink community. And also you get access to, if you already have access to the free stuff, check out our premium offerings too guys. We have a lot of good courses and help you guys take things to the next level. Like, subscribe to the content. If you have additional questions, comment below. I'll see you guys in the seven step guide.


Debra Sharkey has supported independent tech news directly for five years. Be like Debra. Become a DTNS member at patreon.com slash DTNS. This is the Daily Tech News for Wednesday, June 19th, 2019 in Los Angeles. I'm Tom Merritt. And from Studio Feline, I'm Sarah Lane. From Salt Lake City, Utah, I am Scott Johnson. And I'm the show's producer, Roger Chang. We are going to talk about the YouTube Kids app and how no kids use it, and instead use YouTube and what we think about that. We've also got a disturbing report from The Verge about working conditions at Facebook moderation contractors. So hold on, folks, there's there's also some pleasant news today. And let's start with a few tech things you should know. Amazon announced a new version of its eInk reader, the Kindle Oasis, with the ability to change the color temperature of the screen. Users can make the display show a more off-white tone for nighttime reading. The tone can be scheduled to auto adjust at a predetermined time or in relation to sunrise and sunset. Kobo readers have similar functionalities, as some of you might be familiar with this. The new Kindle Oasis goes on sale July 24th, starting at two hundred fifty dollars. Oh, that's expensive. Hey, look at this, making it expensive. Apple added 1000 Best Buy retail locations as certified repair centers for iPhones and other Apple products. Apple now has 1800 third party authorized service locations. That's just in the US. Samsung also authorized repairs for its galaxy phones at Best Buy as well. Sources tell CNET that Samsung is going to announce the Galaxy Note 10 on August 7th at the Barclays Center in Brooklyn. That makes sense. That's where they announced the Galaxy Note 9. Samsung has not made the announcement official, though, so plans could still change. But now you got a little heads up. Google launched a Chrome extension called Suspicious Site Reporter. The extension looks for suspicious qualities and turns orange if it detects them. If you agree with the site being questionable, you can click a Send Report button, which then sends Google a screenshot, the URL and site HTML. All right, let's talk a little bit more about Casey Newton's Verge Report. The Verge that Casey Newton, as you mentioned, reports a disturbing working condition situation at Cognizant, a contractor conducting moderation for Facebook in Tampa, Florida. Three former Facebook moderators broke non-disclosure agreements to go on the record about their jobs at Cognizant. This is including office dirty jokes, sexual harassment claims, threats of violence from co-workers and widespread PTSD from the repeated exposure to graphic and often illegal content as part of their jobs. Facebook has about 30,000 people working in its safety and security efforts. About half are content moderators. Facebook plans to audit the program of contractors later this year, including surprise visits. It will raise contracted wages up to $3 an hour or three additional dollars an hour and add employee well-being to a contractor employment evaluation. Facebook is building a global resiliency team tasked with improving the well-being of both full-time employees and contractors. This is a disturbing read. Yeah, Casey Newton even has a has a warning at the top of that because it's talking about dirty conditions, bad office behavior and the fact that they have to look at horrible things. And I'm not even going to repeat the things that are described in the article. They largely in the article have to do with animals, not with humans. And they're still very disturbing. That's something you're going to have to deal with if you're doing content moderation like this. Facebook's employees should have to expose themselves in order to be able to stop that and have a human reviewer. That that's a danger of the job. What that's not what's so upsetting about this. What is upsetting is that it's a contractor who, honestly, I felt like the description of the contractor felt like every contractor I've ever encountered, whether I've worked for them or not. Dirty working conditions, sharing desk, not really caring about employees. That that's all very typical. But then when you add on top of that, the kind of work they're doing and how messed up that is, how messed up that can make you, how they don't really provide support for the trauma people feel going through that, how they don't properly screen to make sure like, hey, maybe this isn't the job for you. I think that's what's most disturbing about this report. Yeah, I in the in the report, several people are, you know, have gone on record to explain their working conditions and how they didn't necessarily understand what the job was before getting into it.  If you have a history of, let's say, anxiety and or depression, might not be the job for you. Doesn't sound like a lot of these folks were vetted properly. Now you might say, well, if you know that you have you're predisposed to these sorts of things, this isn't the job for you. But I'm not sure that some of those people who would be looking for, you know, full time wages would know this ahead of time. So that's where it gets tricky. I think a lot of people probably go into this job going, oh, well, what am I going to what do I expect here is once in a while, an image of partial nudity or I might run into something that just swears so bad it can't possibly be allowed. I don't think they have any idea what's waiting for them. There are some really, really cruel and greasy stuff that gets posted that we never see. We end up with just the sanitized version of the social network. Well, not even sanitize, but imagine the stuff you do see and imagine what they have, what they see that doesn't make it. All of it gets filtered out before it gets to our news feeds. Yeah, that's what I'm saying. It's like this incredible jump in scale or severity. And they're exposed to it so that they can then get rid of it so that we aren't exposed to it. It's a job you don't think about somebody having on your behalf as a user of the service. But there they are working at it and it sounds miserable. I read the entire article and it's awful. Some of the stuff these guys described saying. And I'm sure we're not even getting the worst of it in that article. And Facebook, you know, this is familiar on this show, certainly. Facebook using third-party companies and then saying after the fact, we didn't really realize they were doing what they were doing. And we thought that they were following procedures that maybe they weren't following. They weren't vetting people as properly as they were supposed to be vetting, et cetera. So Facebook saying, listen, we're going to audit the stuff. We've got companies across the North America that might not be in compliance with what we thought that they were. We're going to do better, raise some wages, et cetera. That's all the right thing. And, you know, maybe Facebook didn't have any reason to understand that this was as big of a problem as it is beforehand. So, you know, it's hard to kind of say, like, well, Facebook's at fault here because I think probably they were in the dark more than anything. You know, well, yes and no. The one thing I would like to add to that, because I agree with everything you said, Sarah. I think it's easy to want to throw sticks and stones at Facebook, but it's cognizant, the contractor that's at fault here, but also the wider culture of these companies, Google, Facebook, Amazon, using contractors to shield themselves from liability and cost, right? It's costly to employ 30,000 people in safety and security efforts, about 15,000 of them being content moderators. That's a lot of expense.  That's not good for the bottom line. I know from experience with my wife working at YouTube that most of the people she worked with were not Google employees. They were they were part of a contractor that ran things for Google. So it didn't hit Google's bottom line in the same way. And this this is sort of a hidden part of business, not just in technology, but very much in technology where contractors are the ones doing the jobs for companies. And these companies therefore don't have a lot of control over what those contractors do. Roger, are you going to say something? No, I was going to make a very quick comment. This actually I had a good friend who was a police officer. And this a lot of what was told in that article reminds me of a lot of the experience that police officers deal with because you are dealing with, you know, as part of the job, you're dealing with the 80 percent 80 percent of your time is dealing with the bottom 10 percent of societal issues. And so you see that day in and day out. She's like in three years, she was burnt out. It's like she couldn't deal with it anymore. It's just like day after day. And it's not to say that every incident was was as bad, but it all builds up over time. Well, to move this story 180, YouTube is introducing an augmented reality feature to let users try on makeup from the YouTube app. A.R. Beauty Try On works in split screen so you can watch a YouTube makeup tutorial on top of the screen while trying out something like a shade of lipstick in the bottom half of the screen. The feature is an alpha testing with select YouTube creators. Matt Cosmetics, that's a big one, is the first brand to launch an A.R. Beauty Try On campaign and several other outlets have A.R. makeup, including L'Oreal, which partnered with Facebook last year. Yeah, I like this. You know, I think this is less. I originally my mind went to like, yeah, but you don't have a reference monitor. So is this really going to look like the right shade for you? And then I realized it's not so much about accuracy. It's not the same as going into a Sephora and trying stuff on, but it's fun. And that's what these beauty YouTubers want. They want their audience to be engaged. And what's more engaging than sitting there with the person on YouTube?  Yeah, yeah, they have a gigantic following for what everyone calls beauty YouTube. It makes sense to me that they would figure out ways to likely do with gaming, although that didn't exactly succeed. But, you know, saying, well, why don't we specialize a little bit in this one area? Add additional functionality, cater to that demographic. And I think that's pretty cool. It's funny, though, because my brains like Tom's, my initial thought was, well, how are they calibrating the monitors to exactly represent that? Like I couldn't get my head around how we would want to do that. But and someone like me, I'm like, it doesn't matter what you look. I can person as long as with this like beautiful Instagram filter, you look great. Yeah.  L'Oreal is also interesting because L'Oreal bought the company that's powering the AI for Amazon's style snap, I believe it's called, where you can take a picture of something and then buy something based on something that's familiar with it, not necessarily based on makeup. But it does seem that some of these large, incumbent, old guard cosmetic company cosmetics companies are getting creative. Yeah, there was a bunch of this kind of stuff at CES last year. I remember we did some some talking and some live stream and with folks doing this sort of thing. So yeah, I imagine this is going to be a continued use of augmented reality on YouTube, YouTube. Tell me I'm not the first person to coin that. I guarantee you can't you can't possibly be US House Financial Services Committee chairwoman Maxine Waters asked Facebook to stop developing its Libra cryptocurrency until Congress and regulators can examine the issues. Other US lawmakers also made similar statements in Europe. French Finance Minister Bruno Le Maire called on the G7 Central Bank Governors to prepare a report on Libra for the July meeting. Bank of England Governor Mark Carney said things like Libra must meet the highest standard of regulation. He also said he has an open mind about it. He actually met with Facebook about Libra before they announced it. Maybe that's why he has the open mind about it and says he will work with the G7, the IMF and the International Settlements and Financial Stability Board to evaluate the plan. Several international banks are engaged in similar systems to Libra. We didn't really make that point yesterday, and I want to make that today. There's Ripple. We've talked about Ripple on the show before. And interestingly, none of those efforts ever got the negative attention that Libra has got and also no banks are members of the Libra Association. So these are definitely competitive situations. Now, a Calibra spokesperson member Calibra is the wallet that Facebook is going to make to use Libra. A Calibra spokesperson also tells TechCrunch it won't launch in certain markets who have either taken a stand against cryptocurrency or are sanctioned by the United States. So India, Facebook's biggest market is apparently on the list where Calibra will not be available because the government is very much opposed to cryptocurrencies right now, proposing some legislation against them. There's also China, North Korea and Iran because Facebook doesn't operate there. Those make more sense to me. But the Indian one is interesting. That is a huge market for remittances. It's the biggest market Facebook has. And so I wouldn't be surprised to see heavy lobbying by the Libra Association and Facebook with the Indian government to say, we will do what needs to be done to make you accept this. We're not like the other cryptocurrency people.  Heavily used in India. Think of all the folks who might who might benefit from something like Libra cryptocurrency in the country of India, which has so many Facebook users. And whether or not you're a Facebook user or not, if it's not available, then that cuts down quite a bit on the potential adoption rate, at least at the beginning. I can't know what that has a payment system in India as well. Sorry, Scott, I was going to say, I can't help but wonder or feel and correct me if I'm wrong to fail this way. But it feels like if this was announced as Amazon or Apple or Google or any number of companies that are high profile, very large international forces, if they announced that they were working with an association to build a new cryptocurrency that would handle these transactions, all the same kind of stuff, would the freak out be quite as severe? And I don't think so. I think it's just this is another case of everybody's already looking at Facebook with a weird smirk on their face. And they don't I think there I think there would be a freak out because break up big tech is the clarion call amongst politicians right now. For sure. But I think you're right that Facebook gets a little extra boost these days. Yeah, just a little extra targeting, I think. And I could I could be totally wrong about that. But and I don't necessarily blame them. I think I think I feel like Facebook is kind of all over the place right now. But but as little as I understand crypto currencies and stuff, the way you explain it on TMS this morning really put me in a better headspace for why I think Libra might be kind of cool, regardless who, you know, what big company names attached to it. Yeah, it also gets it gets messy when, as you mentioned, Tom, chairwoman Waters said, well, let's let's pause this whole thing until we all understand it rather than Facebook has worked with us. We understand it and we have either decided or not decided that it's a good idea going forward. Well, Libra Association doesn't launch till January. The cryptocurrency isn't supposed to launch till the first half. Libra Association has been going around talking to central bank regulators. They've been talking to regulators in the United States. They don't say who, but they say they have. So I get I think a lot of this is posturing where I feel like in this particular case, not in all cases, Facebook has actually done a lot to lay the groundwork and say, we want to do this responsibly. We want to work with governments. But because you can win a lot of points by criticizing Facebook, a lot of people are standing up and criticizing Facebook in this case. Well, the Nikkei reports Apple has asked suppliers to evaluate the possibility of moving 15 to 30 percent of output. That is to say, manufacturing from China to Southeast Asia. The move would be necessary to avoid possible U.S. tariffs. Apple suppliers asked to evaluate the cost of such a move, include Foxconn, Pegatron, Winston, excuse me, Winstron, Quanta Computer, Compaul and Ventech, Lux Share ICT and GoerTech. Foxconn previously said it had enough capacity to build U.S. bound Apple products outside of China. So a little bit of, I don't know, corporate sable rattling, but not really. Yeah, this is important. It doesn't mean they'll move 15 to 30 percent of their assembly out of China. It means they are asking their suppliers, OK, this would be the most we would do. What would be the cost of that? My guess is some of this is probably planned anyway, whether there's tariffs or not. And this is a great time to explore those options and see what's there. And they wouldn't move all of it out, no matter what. They just do diligence. You want to see what the cost would be. But it is an important piece of information in the evolving story of the trade dispute between China and the United States, where Apple says, OK, we really need to pay a little extra attention to this and figure out just how much it would cost us to deal with it should these tariffs go into place. Netflix released its latest rundown of the TVs that it thinks are best for watching Netflix, something it's been doing since 2015. To make the list, the TV must meet some requirements, including TV Instant On, Fast App Launch, a Netflix button on the remote. Really? I didn't really realize those existed. Easy Netflix icon access in the app screen, the latest version of Netflix, the latest shows automatically refreshed in the background and a high res interface. Netflix recommends the Samsung's Q60R, Q70R, Q80R, Q90R and Q900R series, the RU-8000, the Serif and the Frame devices all from Samsung in the Sony Camp, the Bravio X85G and X90G series and 89G series and Panasonic's Vira, GX700, GX800 and GX900 series, all are incomparable in price. At first glance, this seemed like a story about, hey, where's Netflix going to run the best? And Tom was very quick to correct me and say, no, no, no. Where where are the best versions of the apps, basically? Yeah, it's not about the TVs. It's not about picture quality. It's not about any of that. It's do I turn on my TV and see Netflix right away and launch Netflix right away and get into my movies and all the movies I could possibly watch are there because it was updating in the background, which is probably why LG is not on this list. They may not be doing the background update. The Netflix app is in a row down at the bottom. Maybe that's not good enough for Netflix. I don't know because LG is universally thought to have some of the best quality looking televisions out there, but Netflix isn't impressed. By the way, they handle the app. It's so funny because I'm of the opinion and clearly this is a reaction to this. Maybe in a more general sense, but I've been to the opinion since they started showing up on smart TVs, that the apps that are on the TVs themselves are hot garbage. They're terribly implemented. They've gotten a lot better. That's the thing. You need to try out one of the more modern TVs because they definitely have improved, which is good. So, you know, this is going to help consumers make a decision, I suppose. So nice. To get all the tech headlines each day in five minutes, subscribe to dailytechheadlines.com. All right, let's circle back to YouTube, but this is, this is about YouTube and kids. The Wall Street Journal reports today that Google executives are mulling over whether or not to remove all children's videos, videos uploaded by children to the site and have them only exist on the YouTube Kids app. Now, maybe you don't have kids or you don't hang out with kids enough. And you might say, what's YouTube Kids? Well, YouTube Kids was created four years ago, and it filters videos from the main YouTube site specifically for children and specifically for children under the age of 13 who are protected by federal law from forms of digital data collection. It's very important. What's interesting about this is you say, that all sounds good. There was a report actually from Bloomberg yesterday. YouTube's main site has more than two billion monthly users. Highly trafficked. YouTube Kids has less than 20 million viewers per week. Still a fair amount of viewers, but significantly less considering how many kids are on YouTube. Now, there are other reported features that YouTube is mulling over that would be part of YouTube's main site. For example, turning off auto-playing another video after your video ends. The algorithm thinks you might want to see this other video. It might not be appropriate for kids. There's been a lot of gamification going on on the YouTube network about that. But Scott and Roger, obviously you're both dads, YouTube Kids. Scott, I know your kids a little bit older, but is this something that you've heard of? I actually wasn't really familiar with it until I read these stories. Well, it's funny because the older my kids get, the quicker their young nieces and nephews get older and they start running into this. I'm seeing it on two sides. It's been kind of what it's like as an actual parent of kids who grew up with YouTube. It was kind of there while they were little. And now that it's a mature platform and in some ways very immature in this regard, I see what some of my younger family members go through in terms of trying to decide what to do. But my main thing with all of it is YouTube is very weird for kids. And it always kind of has been including YouTube Kids.  And I'm not 100% sure you could just say, oh, it's just weird entertainment for kids. That's one aspect of it. The other thing I would say is that 13-year-olds don't care about any of this. 12-year-olds don't care. In fact, I would say YouTube Kids and what you're trying to do here or what Google's trying to do here will last up until they're about six or seven. Then they get smart and they want nothing to do with YouTube Kids. So this idea that we're going to say, hey, seven to 12-year-olds, just be happy in this little YouTube Kids space is absolutely 1,000% not going to work. Well, you know, it's interesting, Scott, that you mentioned seven years old because from the Bloomberg article published yesterday, sources told Bloomberg that kids who watch YouTube Kids tend to shift to YouTube's main site before 13. And in India specifically, that departure age is more around seven years old. This is based on some research that has been done in the area. India's YouTube's biggest market by volume. So that is significant as well. It's very interesting that their solution to this is to kind of just shunt everything over to YouTube Kids because as Scott has alluded to that their curation on that isn't so hot either. I mean, the initial phases, I remember, of YouTube Kids and I was using with my daughter, there was some very questionable content that rolled in. And although it was child-centric in that there were children in it and they were playing games, some of the acts were a little... They weren't crude or lewd but they're very questionable.  And unfortunately, the way that YouTube Kids is curated, it's very hodgepodge. There isn't a very... There isn't an easy way to navigate it where you can run into the stuff that you want without running into a lot of stuff that you might not want. Yeah, it basically just run like YouTube. Like it's sort of a mini YouTube unto itself and it's kind of got its own same problems, maybe scaled down a little bit. It's darned if you do, darned if you don't for YouTube, right? If they... When they have tried, according to these articles, to curate more heavily, people stop using the app because they're bored and they're like, you know, the main YouTube has way cooler stuff. But when they loosen it up and say, okay, let's try to use some algorithmic stuff so that, you know, planes taking off shows up in the Kids app because that's a weird one that is inoffensive but some kids might... That's one example they use in one of these articles. Let's have that show up, then suddenly other stuff starts to show up but Roger goes, wait a minute, I don't know. That's a little weird. And so then you end up with people saying, well, first of all, YouTube Kids doesn't seem to be as strictly for kids as I want it to be. Second of all, it doesn't have all the good stuff that I want it to have either. So why bother with it? I'll just use regular YouTube. And this is where I think it ties back to the problem that YouTube is having is a problem that most of these internet companies are having, which is when it's the internet, you just let it go and generally a little bit of algorithmic special sauce makes it work. That's called Google. Google said, we'll index the entire internet. The internet is full of garbage, but we'll have a little algorithmic love that helps bubble the good stuff to the top and we have the most amazing search engine ever. If you don't remember Alta Vista and HotWired and Infoseek, you don't know how big of a deal that was when it happened. And what YouTube has tried to do is say, hey, what if we did that? We'll host the videos and then we'll do that for videos. And it turns out that when you do that as, oh, we'll host the videos, suddenly people have an entirely different expectation, right?  So you are responsible for everything on the platform. There's also something parents don't want is just an endless pot of content. YouTube is that. And that's one of its strengths.  That's YouTube. Netflix Kids probably has an advantage in this case. Well, A, it's a subscription. So there's already that, you know, there's a mini wall there to get over it. But once you get in there, the kid curation stuff is actually people curating content for children, not some algorithm that has to dig through 50 million new videos every day being uploaded to then decide what's okay here and what's okay there. Like in a lot of ways they have a simpler, that's a simpler solution for somebody like Netflix or any other curated source. And it's also a simpler choice for parents because parents can say, Oh, this is where all the cartoons are. And I've watched them with my kid and they're okay. And this other one's a little violent. So that's off the table and I'll use the parental controls to block that one. Like the parents get more tools there on YouTube. You're being told that robots are doing some of it. Some of it's human controlled. Like it just feels like a Wild West nightmare over there. If you're talking just kids and parents. YouTube as a service for the thing that YouTube is. It's great. Like show me that failed videos. Oops, I ran into something that was kind of gross. I'm not watching that again. Hey, check out these replays of this basketball game. I love like whatever it's just that's the scattershot nature of it to try to get this narrow path working through there for kids has always been a bit of folly in my opinion. I try to, I try to liken this to when I started going to the internet. Well, I wasn't a little kid.  And I went to the weirdest places on the internet, which was much smaller at the time because, because I was a, you know, that's because that's what the kind of kid I was and lots of kids. And, you know, many people probably echo my sentiments who are around the same age as me. So I think, okay, well, there was no YouTube. There was no video on the internet really at all. If I had access to a lot of things that could be potentially disturbing, confusing, upsetting all of the things that, that could be detrimental to me or my parents or anybody involved. Then yeah, I want to say measures should be taken. What are those measures? Well, we've talked about this before. Does YouTube need to be scanning all of these videos before they hit the public button? That's completely impossible the way that it's built now. So it's, it's, it's an interesting conundrum. Well, I, YouTube either needs to get confident about picking winners and losers, which it doesn't like to do or give up programming to kids. And I will add one thing you mentioned, Arco and I totally agree with is that they need to stop autoplay. They don't need to have one video. That's one thing they're considering too. Yeah. Yeah. That is 50% of the problem in my view, because there's stuff that you can't control in that space. And it just, it's. Also, if I was a kid and I started watching a thing and found out later that it was assembled by some computer in Taiwan to look like it was for kids, but it was purely just a bunch of weird 3d CG thrown together with bad computer generated music where no human was involved, which exists a lot on YouTube kids. I would be so annoyed.  Anyway, sorry. Now I'm getting worked up for these kids. For the kids. Yeah. Yeah. Do it for the children, change the internet for the show. Wait, no, that's a horrible idea. Hey, thankfully on the show just now we solved the issue. So yeah, we did. Yeah. Great. So thank us. And also thank everyone who participates in our subreddit because that's where we get a lot of the great ideas for the stuff we talk about on the show. So make your stories and vote on them at dailytechnewshow.reddit.com and facebook.com slash group slash daily tech news show. Let's check out the mail bag. Let's do it. Mike A wrote in, we were talking about Libra yesterday at length and Mike A says being in financial markets, I wonder if one aspect to counterpoint against the positive scenarios of an essentially no transaction cost network is why and where fees for ingress and egress from fiat currency to Libra would be incurred. Apologies if this is covered by Facebook, but I would expect that there would be a buy-self spread on currencies entering and leaving the network. For example, if I wanted to deposit $100 into Libra, that would buy me 100 Libra tokens. But when I convert Libra back to dollars, they'd be a different rate, say $99 for those 100 tokens. The service provider who's giving me back fiat currency would quote that difference at a cost recovery for all their regulatory, for example, know your clients or anti-money laundering systems that they would need. The potential for cross-border money laundering is so enormous that I expect regulators to be prominent in regulating the core members. Yeah. And a significant portion of the Libra Association white paper is about know your client. It's about anti-money laundering. It's about saying we want to follow all the rules, just let's chat and make sure we're regulatory compliant. They are doing their due diligence on that part. I don't think they are doing cost recovery for it in the exchanges though. It seems like what they're saying, and I may be wrong here too, Mike, is they will pay for that sort of thing on the appreciation of the revenue basket. What I'm unclear of is how much your money in, money out contributes to that revenue basket. It may not at all. That basket that the currency is tied to may be entirely different. And the I'm putting money into by Libra, I'm cashing my Libra out, maybe an entirely separate line that just sort of is meant to balance out over time on its own. That though I am unsure on. But yeah, when you get 100 Libra, it might cost you $100. And then when you cash it out, it could be $101 or it could be $99. It's true. Thanks, Mike. And anybody who has any follow-up thoughts on this feedback at dailytechnewshow.com. Also thanks to Scott Johnson for being with us today, Scott. Where can people keep up with your work? Well, so in connection with this show, I do a little thing with Patrick Beja. I've mentioned it before. We call it the monthly video game briefing MVGB, which you can find at frogpants.com slash MVGB. And the reason I would point you there today is we did a big roundup of the Electronic Entertainment Expo E3, which was last week. And we did it in such a way that it was aimed directly at this particular audience.  And then somehow we figured out the strength to make this concise, easy to understand, 45 minutes or so show about everything that really, truly mattered from a bird's eye view of E3. And we put it in show form. So I want to recommend people go check that out, subscribe to it. It's a really fun monthly look at gaming from Patrick and I. And I think you can't go too wrong with it. So check that out. That's at frogpants.com slash MVGB. And you can also find me on Twitter. I'm at Scott Johnson. Folks, did you know that five years ago, Samsung launched the world's first Tizen OS operated smartphone? Well, you would know that if you're a co-executive producer of patreon.com slash DTNS, because we do a bonus show every month just for people at that level or above in order to tell them what was happening in our show rundowns from five years ago.  And if you're not a co-executive producer, become one at patreon.com slash DTNS. Our email address is feedback at dailytechnewshow.com. We're also live Monday through Friday. Join us if you can for 30 p.m. Eastern 2030 UTC and find out more at dailytechnewshow.com slash live. Back tomorrow with Justin Robert Young. Talk to you then. This show is part of the Frog Pants Network. Get more at frogpants.com.


Okay, so I was today years old when I realized this card existed. Did Jerry Rice ever play a snap at quarterback?  I mean, I don't doubt that he might have done some trickery, but did he actually play a snap at QB? I was torn dude. I was torn. I could have put I could be doing this video with Ray Guy I don't think anybody knows who Ray Guy is unless you're like, you know a big punter fan Put some respect on my name He kind of has legit stats though 89 throw bar 93 short guy can throw But we're not using him today, I think Jerry Rice is gonna be more fun We got 85 speed 86 throw power. It's all mediocre But I think I could give him X factor since he's an elite player So I don't know what he's gonna be able to get but it should be funny So he does get a super sorry X factor and he gets one ability will give him balanced offense Not that it matters at all his X factor brick wall probably makes the most sense for I don't know If we'll ever really turn it on and he can get roaming dead eye. Yo, this is actually nuts Perfect pass accuracy while standing outside the pocket. Just the fact that he gets any dead eye is kind of insane Okay, that's super funny. That actually is gonna work. It's gonna work pretty well, too. Okay, Jerry Rice QB Promoted to starter just kidding. I guess I have a Jerry Rice on my team already. Hold up This is so funny. I just recorded Tom Savage. So sorry Tom Savage You're gonna have to come out for our friend Jerry Rice here and I'll take an X factor off of off a Tyree I feel bad, but Jerry Rice, it's the new meta. I've found something boys. Honestly kind of ridiculously good. It could be I think I have those nasty 49ers unis. I'm not sure. They look so sick though. Maybe I don't okay I got the color rush Niners. These are close enough 98 overall team. This is gonna be so dude We won with we won with Tom Savage and this Jerry Rice is like eight times better. We're gonna be able to do this Additionally today's video is sponsored by frag pro shooter the best shooter game of 2020 specifically designed for mobile devices and it has more than 30 million players the rules are simple number one You got to destroy the enemy bunkers as quickly as possible once those two bunkers are destroyed You will be able to access the tower and destroy it to win the way you do that is by collecting characters There's more than 80 in total to collect each character has unique gameplay with a specific role and power Then you're gonna choose your favorite characters to build your team of five And this is where you can implement your own strategy whether that's attack or defense So during the game you control one character and the other four are controlled by a bomb you can switch whenever you want There's also third-person shooter or first-person shooter options There's also a new 2v2 mode You now have a chance to build a team with one of your friends or a random partner and play against two other Players you choose three characters from your deck of five while your partner will get the other two Additionally, you can get free rewards all thanks to the link in the top of the description You'll get one golden chest 500 coins and 50 diamonds, which is worth six dollars So make sure to check it out link in the top of the description. Thank you for sponsoring guys. Enjoy the rest of the video Was that his team dude, what is going out of my matchmaking right now?  This is so awesome. I was a Patriots fan too. It's gonna be great Alexa. You actually don't have to yell at it This game is over I literally wasn't even I was talking to Alexa Look at Jerry rice back there, bro with the X factor under him too. I'm gonna roll out So now I should have roaming dead. I activated all Didn't get the pass on I don't think that would have been a good pass anyway But had I gotten that off that would have been a roaming that I I'm going this camera angle for a thumbnail Sorry, but I'm gonna throw it. I'm gonna deliver a pass anyway Wait Yo, I gotta do a whole video on the weird camera angle. That's something that I seriously need to do But tell me why he just completed that pass though. Oh, that's a blitz. I got it off Did not off the back foot, bro. Wow, I don't know my matchmaking is right now, but it's so horrendous Is this another blitz? It's another blitz. Can I deliver?  This Jerry rice does not miss passes What what I'm outside kicking it. I'm gonna get the ball back as soon as I try to anyway No way. Oh boys. What are we doing? As soon as Baker may feel that QB. He must he just downloaded the game, bro. Oh That's pretty good scramble And it did not fumble. Hey, he said he subbed my homes in he subbed my homes in this is just like the Tom Savage on dude They first game I play with Tom Savage. They just quit in stuff I I understand you Jerry rice to QB is too much to handle. Let's go. All right ski racer. What do you got? Mahomes Shaz Megatron. He's not ready for Jerry rice QB a few minutes later. Okay.  What's happening today? Well, I play a game today. You know what that's a squad So maybe I can't wait for Randy Moss to eat me alive first in 10 Jerry rice coming out Oh, does he know who I have at QB? See he should be putting a QB spy on every play because that's about all I can do No QB spy No, no, what the end just do bro that end just like Uh without a scape artist. It's so hard. We're sitting at third and 13. Definitely not what I'm looking for man We got to make something happen here Palomalu is that open? It's really not That wasn't even remotely open, but Zach Gentry just decided to be Zach Gentry. All right. I'm gonna I'm gonna need one more of those Oh, oh, I got him. I got him He couldn't throw it far enough dude. If Jerry rice could throw that far enough I think that was a touchdown.  I had him. It's not Jerry rice's fault. It's my fault I shouldn't have been in a fourth and five. You're goddamn right I forgot about this bro. What?   I was right there This could be a run still It's not I got this I got this always gonna throw back across the middle sketchy playmaker But he got five yards out of it. All right got my QB spy up. I'm on warren sap. I made a mistake I made an error All right, he's gonna have to take a field goal here Oh good fake Get him. Let's go. He tries to do the fake with rg3. He cannot get it clean tackle. All right. It's still zero to zero We still got a ball game, baby. I'm gonna go with the outsider on the berry here. I'm a little scared of that x-factor But okay, okay You know what I'll take that I'll take 19 yards. Oh, I got the release I didn't get the pass off.  I just didn't get it off But there is a wide open slam to cd lamb He switches off to get the enforcer good decision by him third and 14. Who's on tyreek? Who's on tyreek? Nobody's on tyreek great ball Palomalu does not recover. He was close, but he did not get there. That's a completion first and 10 We're going with no huddle. Who's on tyreek? Uh, he's kind of on everybody touchdown touchdown cd lamb to let me score 7 to 0 jerry rice elite qb All you need is five light dude if if the tom savage and jerry rice video has shown you anything It's all you need is five light that was an enforcer.   Let's go five yards jerry rice beauty This is perfect. This is I honestly is doing exactly what I need here I'm pretty sure if he bites here. I got this touchdown No bite no bite go to berry doesn't matter read off your touchdown right at the middle I don't even know how I have no idea how that happened, but I'll take it 14 to 0 Second to nine he's going for something kind of deep Although I'm not sure.   I should have just I shouldn't have done that I'll say that much. All right. We're going to screamer Wish me luck. Oh, there's a lot open here He had so many options and he took none of them. I really thought that'd be an interception. He's going for it Where are you gonna throw them? No No, ah bad interception bad interception. I think I think maybe not. We're laying people out Look at those blockers though. Oh my god. I've never seen it like that.  It's got a lot of daylight. There's a juke Let's go five white baby. I was literally built to run five white But on a fourth and five dude, I'm guaranteed this I'm guaranteed to get this You think you can stop me on fourth and five.   Well, he's really struggling so I don't care too much right now Where are you gonna throw? You don't have a single thing open. What?  We had a couple interceptions, but I think I think my QB rating would have been at least an 80 Hopefully I was 8 for 11 for 100 yards two interceptions and a touchdown. Wow.  What a game, dude That's so funny. All right. Hey, that's gonna conclude the jrs QB challenge Do you guys got any other funny ones you want me to do? Please let me know. I'll gladly do them. That was awesome. Uh, and I'll see you boys. I'll see you boys the next video Thanks for watching. Peace out


Dear students, in this module, I'm going to highlight the need for bioinformatics for you. We'll be covering the need for bioinformatics in two modules, and this is the first one in the series. To motivate you towards the need for bioinformatics, you know that it is an interdisciplinary area, and people from biology, physics, chemistry, mathematics, and computer science, all of them are coming together towards performing this science. It is such an exciting area that lots of new discoveries are made every day, and it is a wonderful opportunity for all of us as well. The low requirement on part of bioinformatics for infrastructure, for instruments, enables us to utilize bioinformatics towards advancing our own science and understand life. So this is a very interesting, feasible, and useful area for the people in Pakistan. Next is that the vast discoveries that are made from bioinformatics have the potential to change the landscape of the science. This is indeed a very valuable opportunity for all of us. The foundation for bioinformatics is on the large amount of data that is available now on the internet, and you can download it and process it to understand that data better. Towards understanding the amounts of data involved, if you look at this figure, you will realize the exponential nature of the increase of this data. Specifically, this graph is showing you the growth of the entries in uniprot database, which is simply a protein sequence database, or you can call it the number of proteins that are known, the sequences, versus the years on the horizontal axis. As you can see, there is an exponential rise in this data, and this sequence information can be used as input for bioinformatics tools towards understanding biology in a better way. Another example is the growth of protein databases. As shown here in this graph, the blue, the blue bars, they represent the number of sequences, the protein sequences. Of course, they are in millions, but if you look at the red bars, these are the protein structures. So the protein sequences and the protein structures, both of them are growing at a very rapid pace. We need to utilize this data and understand how these proteins, they function within a cell. This is the job of a bioinformatician, and therefore we have a very nice opportunity with us. More so, if you look carefully, the number of structures, the protein structures that is shown here in orange, is actually different from the number of sequences. So there is a very big difference between the number of protein sequences that are known and the number of protein structures that are known. So using bioinformatics, we can also close this gap and try to find out the structures from the protein sequences. This is another job for the bioinformatician. So in conclusion, since the genomic, metabolomic, proteomic information is available now, it is the job of a bioinformatician and there is a need for the bioinformatician to come forward, look at this data and try to fill in the empty voids within our understanding of the biological systems. If you carefully search this data online, and then download it, followed by processing it, you have a chance to turn it into a gold mine.


So you just wanna add some bounce to that busty, beautiful bundle. Not a problem. I have spent the last three days trying out every single jiggle addon I could get my hands on. For research purposes, of course. And I will now show you the one that I believe is truly the best. But before that, I just wanted to give some advice to any new young 3D artist that are afraid of adding some bounce because they don't wanna come off as perverted or offensive. There is nothing wrong with adding jiggle physics to your character. Not only is this knowledge required and expected, if you ever wanted to consider doing character animation professionally for any AAA game company, it is also extremely unrealistic for you not to put in your character. Anyone who's ever dated a girl will tell you. Those things move, and they move a lot. Even when girls wear sports bras which are designed to specifically stop movement, you're still gonna see this. And this. And this. And this. This is just a normal part of life. Most girls don't even think it's weird. The lead animator of Skullgirls hand drew the jiggle physics into all of her characters and had a lot of fun doing it. And people love the game. My point is, girls know their boobs bounce. Most of them are proud of it. It's not objectification, it's not inappropriate, it's just physics. So just put the goddamn bones on the body, give them a weight paint job that looks kinda like this, download this addon from the description, go to edit, preferences, addons, install, find the download location, install addon, back into preferences, locate the addon, check the box, and exit the preferences. Then go to pose mode, click one of the bones, then under the bone tab, scroll down to spring bones, and check spring and rotation, activate play in animation, and do this again for the other side. Press the space bar, you're done. Now if for some reason you don't see both of your bones moving, try turning the activate play button off and on. These numbers control the movement. Bounce is how much the bone is controlled by the spring addon. One means the addon completely controls the bone. If you change it to zero, the addon will have no effect whatsoever. Gravity just affects sagging. The bone will sink more down the higher this number is. Whoever made this addon did a great job, but they totally named these two backwards. Bounce actually controls the speed of return into normal position. The lower the number, the slower they move. And speed actually controls the amount of bounce. If you have this set high, they'll bounce like crazy rubber balloons. If you have it low, they won't bounce at all. Now, here's the secret. A lot of bounce is quite normal, especially if she's doing action. But the trick to realistic bounce is speed. The faster you make them return to normal, the more real it's gonna look. But uh, don't be afraid to play with the speed. Sometimes you need to slow things down in order to find your core value. But hey, that's up to you. Anyway, hope that helps. If you enjoyed this video, please don't forget to like, subscribe and ring that bell. Hope you have a fantastic day and I'll see you around.


Hi everybody, I'm Jen with opensource.com and I have a brand new top 5 articles of the week for you for today August 5th. At number 5, How to Fix a Bug in Open Source Software. This is a guide to bug fixes in open source projects from Richard Sneeman who maintains code Triage.com. He talks Triage to reading bug reports to pull requests and a lot more. At number 4, Three Graphical Tools for Git. We continue Seth Kinlan's Git series with part 5 on convenient add-ons to help you integrate Git comfortably into your everyday workflow. At number 3, Expensive Tools aren't the only option for graphic design and never were. Jeff tells us about life as a graphic designer who turned to open source and never looked back. He also shares 10 not to miss open source tools for designers. At number 2, The Revenge of Linux. Daniel tells his story of learning about Linux in college in Brazil to his career today in IT. And finally at number 1, Scott Nesbitt brings us 4 open source tools to collect interesting snippets of information like links, recipes, quotes and a lot more. That is it for the top 5 this week. I will not be seeing you next week. I will be at the beach on vacation, very much needed vacation. And we will have somebody from the opensource.com team filling in to bring you the top 5 for next week. And then I will see you the week after that. Thanks so much for joining me and have a great one.


The user of your website should be at the center of the plan.  It is very important that you design a site which is easy to understand, easy to navigate, logical in orientation, fun to use and well, it should have something to offer. Thus you should make sure that users will spend some time browsing through your pages and after all buy the site's products or learn something from it. So for this reason we will look at two things in this second e-learn lecture about planning a website. First of all we look at the user and then we will deal with aspects of content development. So let's start with the user and look at some central physical prerequisites. Certain elements in human perception and memory are important for web publishing. For example we have to take into account visual perception. Visual perception follows certain laws, the so-called Gestalt laws. These are to be followed in all phases of the graphics design process. Also one has to be aware of the fact that visual perception is sometimes perceivable. Now some of you might know this example here where you have several types of visual deception. Just look at them and you will remember. Now auditory perception becomes important when your site requires a lot of sound. Low compression rates can make spoken passages or music unpleasant. And finally we have the memory factor. Memory is not a less important factor for web design at all. How often have you found yourself lost in hyperspace because you could not remember where you started browsing? We will not look at these aspects here in detail. Further e-lectures and further virtual sessions on the virtual linguistics compass on human perception and memory will provide you with the details. But let's look at the general expectation a user might have. Different groups of users will of course have different expectations and will expect different things from your website. Take for example a university homepage. This is a screenshot of my university's homepage recorded today. Students who want to start their studies at this university might want to find out more about the university itself. So they're interested in this portion of the website. And they want to find out for example the latest news of their departments when their next assignments will be due and maybe what the next date of an upcoming party is. Scientists or staff members have different expectations. They want to know about certain developments in the university structure. They might be interested in the telephone numbers of colleagues and well they might be interested even if the publication list of one of their colleagues is longer than their own one. Setting the sites objectives might help to know more about the expectations of users and can become an extensive field. How can we motivate users to use a website? For example users want a site which is fun to use. This might be a simplification of complex issues but after all this is what keeps users on your website. There are several elements that can motivate users to dwell on a site and make them come back. A site should be easy to read. It should contain short texts containing important information for the user. A site should have a pleasant and logical design. A website should be permanently maintained. The content should be constantly updated. And then of course the site should give something other sites cannot provide. So by and large it is the content that attracts the user. So let's look at content management next. Now the main areas of content management can roughly be divided into four central fields which you can see here in more or less chronological order. For example we will have to ask the question what kind of content and services will a website have to contain. Or we have to address the topic of navigation. Designing navigation and orientation elements is the task of the graphic designer. During and after the development of a site testing and evaluation is important for the site's success. And then we have to make sure under the heading of maintenance that a site should be updated and renewed from time to time. Let's look at information first. Those in a website team responsible for the content of a website will have to deal with questions concerning the organization, the mapping and the linking of the information on the site. So information architecture as some publications call it on the web is different from other media. Since the web allows a structure which is not as linear as it is in a book for example. This means that texts which were taken from books have to be rewritten to be fit for the requirements of on-screen reading and hypertext structure. Also there are legal issues that come in. They come into play when one develops content from pre-given texts. If a text is developed by a writer from your own team and thus an original text it is not safe on the web. And it's not safe from other writers so you have to protect it perhaps by means of a password. The success of a website is to a large extent dependent on whether it can be handled easily. Navigation is the key word here. A user will always want to know where he or she is so elements of orientation should be visible all the time. The user also wants to know how to get a piece of information as quickly as possible. Thus a website should always include some sort of site map. This is the site map taken from a virtual session. Or alternative navigation elements such as the little arrow that we use in our virtual session menus on the virtual linguistics campus. The user of a website is not only important before you start the design process but also during and after the development of a site. Technical issues tend to change over time. For example browsers quickly become outdated. Moreover the technical knowledge of the users will improve while using the web. This doesn't mean that you can use cutting edge technology because the user will get used to it sometime. What it means is that you will have to interview your focus group to learn more about technical and other knowledge of your users. Evaluation and testing also means that you eliminate errors, technical errors as well as content errors. Even a thorough planning of these things does not prevent us from mistakes slipping in. And finally a website has to be maintained. So maintenance is an important issue when it comes to motivating your user to return to the site. Websites which are not regularly updated or renewed tend to become uninteresting and even boring. Who wants to read news from last year when other sites have news from today? Well two groups of website team members come into play in website maintenance. Namely those responsible for the technical support of content development and those responsible for content development themselves. Both groups should work hand in hand for example by developing templates which can be updated every day or creating dynamic content which updates automatically. In our two e-lectures planning a website part one and this one here. Planning a website part two we have shown that website development is a complex enterprise. It requires a complex team effort where all team members must work hand in hand. We have shown that detailed planning and clear cut competencies are fundamental to web development. One thing was not shown. Every website development team must have a positive and cooperative team spirit. But I can assure you the team behind the virtual linguistics compass the linguistic engineering team has exactly that.