From VOA Learning English, this is the technology report in special English. Humans are not the only ones who like to use tablet computers. The non-profit organization Orangutan Outreach has started a program called Apps for Apes using Apple's iPad. Orangutan Outreach was started by Richard Zimmerman six years ago. Its goal is to protect Orangutans in the wild. The organization launched Apps for Apes one year ago. The program introduces the Apple iPad to Orangutans in zoos. Apps for Apes has three goals. The first is to provide activities for captive Orangutans. The second is to raise awareness among zoo visitors about how smart these animals are. The third goal is to urge people to visit Orangutan Outreach's website, redapes.org, to learn how they can help protect wild Orangutans. Orangutan Outreach says the iPad is a perfect device for Orangutans because of the touchscreen technology. With some assistance, the animals are able to use apps to listen to music, play games, and do other activities. Apps for Apes was first launched at the Milwaukee County Zoo in Wisconsin. It has expanded to more than 10 other zoos and a rescue center for apes in the United States and Canada. And it is growing worldwide. Richard Zimmerman says the program could affect the behavior of Orangutans, but it is too early to know. Zoo officials have told him about the apes' reaction to seeing and using iPads. He says young Orangutans seem very interested. They go to the device immediately. Females seem to be the quickest learners, and some big males are simply curious about the tablet. They spend time watching it from a distance. For VOA Learning English, I'm Alex Villareal.


This study found that promoting electric vehicles in Japan could lead to higher carbon emissions than expected due to the transfer of emissions to other countries. Therefore, it is important to consider the entire life cycle of vehicles when making decisions about their production and use. Governments and the automotive industry should work together to develop policies and regulations that account for both domestic and global emissions. This article was authored by Yuya Nakamoto, Shoei Tokito, and Minomi Kito.


What are the qualities of the 313 according to our hadith these these companions of Imam al-Mahdi the lucky 313 they have at least six qualities at least that I'll mention so we begin by explaining these qualities the first quality Imam al-Sadiq alaihi salam he's narrated in one hadith speaking about the qualities he the first thing he speaks about is their Aqidah he says they have special Aqidah special belief how is their Aqidah he says number one the first quality is their Aqidah and Allah subhanahu wa ta'ala their belief in Allah the Imam describes to us their Aqidah and belief in Allah so play pay close attention if I want to become amongst the 313 I want to hasten the appearance of the Imam I have to have this Aqidah the Imam mentions two points about their Aqidah and Allah number one he says their Aqidah and belief in Allah subhanahu wa ta'ala is strong it's like a mountain nothing can shake the Aqidah of the 313 in Allah subhanahu wa ta'ala they have absolutely no doubt no grain of doubt in Allah subhanahu wa ta'ala did we not mention that amongst the qualities of the believers according to the Quran الذين يؤمنون بالغيب they believe in the unseen believe means that you have certainty you have يقين in Allah subhanahu wa ta'ala and in the unseen so when we say that their belief is strong in Allah subhanahu wa ta'ala that means they have certainty in Allah how number one they have certainty in the existence of Allah subhanahu wa ta'ala right now you'd be amazed how much misconceptions there are against Allah and many unfortunately people are being led into atheism we find young people in our communities because they do not have knowledge they what unfortunately they say sometimes are led into believing in atheism disbelieving in Allah subhanahu wa ta'ala the quality of the companions of the Imam is that their belief in Allah is strong meaning their belief in the existence of Allah subhanahu wa ta'ala nothing will shake their belief in Allah in the existence of Allah that's number one number two they have complete certainty in the wisdom and the justice of Allah subhanahu wa ta'ala whether it is in attaqueen or at tashree what do we mean in attaqueen they submit to the will of Allah subhanahu wa ta'ala complete submission to the will of Allah subhanahu wa ta'ala meaning they never undermine or doubt that Allah has just that Allah subhanahu wa ta'ala is what Allah is fair and Allah is wise do you know what's the leading the leading cause of atheism is because when people do not understand how Allah is just they say there's evil God can stop it why doesn't he stop it that means there's no God or they begin to undermine or doubt the justice and wisdom of Allah subhanahu wa ta'ala and I've given many lectures about the problem of evil the fact that people do not understand why there's evil in this world and they blame it on Allah why do we blame it on Allah blame it on human beings evil human beings that are causing this injustice in this world so the quality of the 313 is that they have complete certainty in the wisdom and in the justice of Allah subhanahu wa ta'ala in the world remember I mentioned the story of Prophet Musa he told Allah show me your justice the story with the well the three people you see how Allah implemented justice without Musa realizing many times we think it's injustice it's not injustice it's justice and if there is injustice in this world Allah has not to blame it's human beings because this is a test Allah gave us free will to see who believes and who disbelieves if there is corruption and injustice in this world the human race is to be blamed not Allah subhanahu wa ta'ala so this is number two complete certainty in the justice and wisdom of Allah number three they have certainty in the book of Allah subhanahu wa ta'ala the holy Quran and the teachings of the holy Quran they accept the Quran and they have certainty in it this is number three number four they have certainty and belief in Rasulullah and the imams of Ahlul Bayt they accept and believe in the imams of Ahlul Bayt and especially the 12th Imam of Ahlul Bayt so of course amongst the amongst the qualities of the 313 is that they don't have doubts in Imam al-Mahdi they don't have doubts in the existence of Imam al-Mahdi like I mentioned the hadith of the Imam that they say the ta'weel of this verse where Allah subhanahu wa ta'ala says الذين يؤمنون بالغيب the Imam says the ta'weel the hidden meaning of this verse is that they believe in the 12th Imam while he is in the state of Ghaybah and not only they believe in the imams and the prophets but they believe in the teachings of the imams and the prophets they have complete certainty they have complete certainty in the teachings of Rasulullah and the imams many people when they ask me or anyone else what's the proof that this is haram that this is wajib that this is that you tell them the hadith of Rasulullah the hadith of the Sahih hadith authentic hadith of the Imam they tell you know show me in the Quran they have to find the answer in the Quran if it's not in the Quran they don't care about the Sunnah of Rasulullah they don't care about the Sunnah of Ahlul Bayt alayhimu s-salam this is wrong the quality of the 313 is that they submit and they have complete certainty in Rasulullah and the imams as well Rasulullah said what before he died he said I'm leaving two things Kitabullah wa atrati ahla bayti some people just Kitabullah where does Allah say in the holy Quran many ulamas say shaving the beer is haram brother the Quran is one of the sources you have the Sunnah of Ahlul Bayt Rasulullah says the Quran and the Sunnah you say hasbuna Kitabullah hasbuna Kitabullah was the what was the saying of the second Khalifa Rasulullah says the Quran by itself is not enough you need Ahlul Bayt some of us we come and say no only if it's in the Quran I will accept it if it's not in the Quran I won't accept it I'm going against the hadith of Rasulullah Rasulullah said my Sunnah my Ahlul Bayt and that's why we have to be careful we have to believe and accept all the teachings of Ahlul Bayt and all the teachings of the imams of Ahlul Bayt now when I was speaking about the second point I said that we the quality of the believer is that they have what that they have complete submission and complete certainty in the wisdom and the justice of Allah I said in alam and taqween and tashri I didn't mention tashri taqwee we said that there is justice in this world meaning Allah is not unjust and number two in alam tashri that Allah subhanahu wa ta'ala when he ordains Allah when Allah says something is haram or something is halal or something is wajib there is wisdom behind that there is justice behind that Allah does not arbitrarily tell us to do things some people unfortunately sometimes they begin to doubt the wisdom of Allah subhanahu wa ta'ala why did Allah subhanahu wa ta'ala say for example hijab is wajib I'm not convinced sister are you not convinced that Allah said it no Allah said it but I'm not convinced of the wisdom this is not a quality of the companions of the imam because you have no submission to Allah you have no what no certainty in the laws of Allah subhanahu wa ta'ala Allah is wise Allah said hijab is wajib Allah said salat wajib Allah said this is wajib this wajib you accept you submit because Allah subhanahu wa ta'ala is wise and everything he does is based on wisdom then if it is proven to me that Allah said this I can no longer doubt it so this was what this was alam tashri so we said number one the existence of Allah number two the justice and wisdom of Allah number three the Quran number four the teachings of ahlul bait and Rasulullah we accept them and we have complete certainty in them and finally the companions of the imam they have complete certainty and the hereafter what happens after we die in the barzakh in the purgatory they believe in al-jannah the heaven and in Anna that they will be held accountable on the day of judgment that Allah will try them they have complete certainty in that yakeen


Welcome to the Kungslede, also known as the King's Trail, Sweden's longest hiking trail spanning an impressive 440 kilometers from Hemavan to Abisko. This scenic route is a beloved long-distance trail across Europe. In this vlogging series we invite you to join us on our journey off the section from Frikjok to Saltelukta. As we venture above the Arctic Circle for the first time we're stepping into a whole new world. One filled with vast landscapes, majestic reindeer and the mesmerizing northern lights. Let's discover the magic of the Kungslede together. Good morning from the Kungslede day one. Yeah, we're right now in Sweden, we are starting in Frikjok. It's early September and we can already see the fall colors and it's beautiful here so we're really excited. We are very lucky with the weather, we brought all our gear and we're gonna show you this beautiful trip. On this first day we are hiking from the STF station at Frikjok towards our first campsite in Porten, which is a 16 kilometer stretch. But first things first, we are weighing our backpacks on the famous scale at the Frikjok station. 12. 12. Nice. Nice. 15. Not bad. Five days of food as well, let's go. As we are moving through the lush green forest of Sweden, we see the majestic beauty of the Kungslede trail stretching out before us. Towering trees, crystal clear lakes and sprawling meadows form the backdrop of this breathtaking landscape. As we venture further into the heart of the forest, leaving the rugged terrain of Frikjok behind us, we are greeted by a wealth of natural wonders at every turn along the trail, the gentle sound of running streams, the sub-rossell of leaves and the distant call of wildlife all serve as a constant reminder of the raw power and beauty of nature. This is truly a place where the human spirit is free to explore and discover the hidden wonders of the natural world. As the sun descended below the horizon, painting the sky with fire reuse, we found ourselves in awe of the breathtaking spectacle before us. The shimmering lake below mirrored the heavens above, as if the two were one and the same, a blaze in a dance of orange and red. We retreated to the fjallstugavborten, seeking refuge in its warm embrace. The rustic cabin with its crackling fireplace and snug atmosphere offered the claims into the heart of simple Swedish living. As we allowed the dreamlike landscapes to seep into our consciousness, we prepared a nourishing meal. The gentle hum of the stove and the soft flicker of the fire provided a soothing soundtrack. That was the first day. It was an amazing day. We started in Frikjok and now we are in Parten and well, no words needed for this camp site. Absolutely amazing. If you open up our tent, we have a view on like a lake and mountains and it's absolutely amazing. Finally, as we settled in for the night, we let the serene surroundings lull us into a deep slumber, content in the knowledge that we were in the midst of a truly magnificent adventure.


Senior Advocate of Nigerian Human Rights Advocate Femi Fallonok called the court order that section 84 sub-section 12 of the amended electoral act be deleted as a great error. The continuous, the contagious section stipulates that no political appointee at any level should be a voting delegate or be voted for at the convention or congress of any political party for the purpose of nomination of candidates of any election. Just as Evelyn Ayadike in her ruling said that the section ought to be struck down as it cannot stand when it's in violation of clear provision of the constitution. The said section of the 1999 constitution already stipulates that people employed in the public service of the federal or state government seeking to contest election should resign at least 30 days to the date of the election. But Fanel in a statement yesterday said the judgment and the judge fell into a great error. He said the constitution relied upon by his lot ship require persons employed in the public service, either the federal government or state government.


Okay. I guess we can get started. So thanks again. Thank you so much for joining us. My name is Sandeep Gupta. I'm from the TensorFlow team in Google, and this talk is about machine learning and JavaScript. I also have my colleague Ping here, and he will co-present with me. So again, thanks and welcome. So we're seeing machine learning is beginning to have a really big impact in almost all fields of life around us. Every day we see major news headlines, we see new breakthroughs, whether it's in transportation, healthcare, environmental sciences, all kinds of applications, even arts and creativity, where problems that were really, really difficult to solve just a few years back are now being solved in very impactful ways and very significant ways by these kinds of new computational approaches and new ways of using computer systems. Maybe just a quick show of hands, how many of you are actively practicing machine learning or have some familiarity with machine learning? Okay. So a relatively small number. Because many of you are somewhat new to the field, let me just take a couple of minutes and introduce some terminology here, and this will give you a flavor of why these kinds of methods are becoming so popular. So in most of classical programming, when we are trying to solve a problem or write a program for a computer to solve a problem, the way we have usually done this is that we first come up with these rules and we try to write explicit code to codify those rules. So for example, if you're trying to write a program that takes images and tries to detect whether it's an activity of, let's say walking or running or bicycling, you might come up with some features or rules to describe that. One way to do that might be that let's measure the speed of the person. If the speed is less than some number, then we call this walking. If the speed is more than that number, maybe it is running. So you come up with these kinds of rules and you implement a computer program to solve the problem that you want to solve. The issue with these approaches is that they very soon run into limits. You encounter situations where your new rules no longer work. Even if your rules work well for the problem you're trying to solve, they're generally not generalizable or extensible to a slightly different problem that you want to solve another time. So that's where classical programming runs into its limits. In machine learning, it turns this whole concept on its head, it turns it upside down. The way you approach this is that, what if I had some examples where I already know the answers, and what if I can feed a lot of these examples and answers, so we call this training data and answers on that training data into a computer program or a model, and this model has the property that it can learn from these examples that it has fed, so that it can come up with what these rules are. These rules may be in a form that humans can understand, or it may be in some abstract form that a computer program is choosing to describe that problem. So this becomes a very generalizable way of solving a problem, and so in practice the way you do that is, you collect a lot of training data, and you have that data labeled, these are called human-generated labels. You feed it into a machine learning program or a model, and then outcome these rules or a trained model. So this is the training phase of the machine learning process, and once you have trained a model, now, so this is some representation of the model. Now you can feed new data into this model, and then that model is ready to give you new answers or new predictions on this model. So this is called the inference phase. So this is at a high level conceptually, this is how a machine learning way of solving a problem will look like. So just to look at this little bit visually, let's say you're trying to classify images. This is what's happening there. So a model is a collection of layers, and all these layers are just computational blocks. Each layer and each element in that layer is just doing a very simple math operation. It's taking in some numbers, it's multiplying those numbers with some other numbers, and it's producing a new output, and you do all this and you feed this forward, and you wire this model so that when an image is fed in, it produces an output that is close to the output that we expect. So if you feed in an image of a cat, we want all these things to flow in, and the output of our model should be a number that we designate as indicating cat. If it is not cat, then we calculate an error or a difference, and we propagate that error back through our model, and we tweak or adjust all the parameters of our model until we get the right answer. We keep on doing this for lots and lots of examples, and then we have a trained model for that particular task that we are trying to solve. So this is how machine learning approach of solving a problem works. Now the reason why machine learning is really taking off now and it has become such an important part of problem solving today, is for three main reasons. First is that as we just saw, it relies on availability of lot of data, and not just quantity of data, but good quality data, data that's labeled and curated and represents the full variety of the situations you will encounter in real life. So now the good news is there are lots and lots of these very large publicly available datasets which make it easy for any developer to get started and train powerful machine learning models. The second aspect is that these models can be computationally quite expensive, although these are simple computations that they're running, but they just run millions and millions of them, and so you need very significant computation power to be able to run these models in a practically useful timeframe. And now there are these custom hardware, there are GPU advances, and new types of accelerators that are coming up, which have made it very practical to run machine learning models in a very, very reasonable amount of time. And then lastly, the research in the field of ML has been growing and advancing at a very fast pace. There are new publications that come out all the time and new ways of solving problems. So basically all of these things kind of now give everyone the ability to do this for whatever problem you are interested in. And this is where frameworks like TensorFlow come in. So TensorFlow is an open source library for doing machine learning, and what that means is that a lot of this mechanics and logistics of training a model, of doing this kind of back propagation and adjusting all the weights, of running your experiments, of creating a deployed model which can then be deployed and used in production, all of these things are managed for you by a library like TensorFlow, so you don't have to reinvent all of this stuff. It also has a bunch of pre-trained models available that you can use off the shelf, right? But TensorFlow was written with a Python front end, right? And this is where most of the machine learning tools that are out there today require one to learn Python. And in fact, Python is termed as the language for data science, right? Which is unfortunate because JavaScript is the most widely used programming language and really there haven't been too many accessible machine learning frameworks that JavaScript developers could use natively in JavaScript without having to have the burden of learning a new stack or a completely new programming paradigm. So motivated by that, we released this library called TensorFlow JavaScript which is basically a version of TensorFlow that is JavaScript native. And so it lets you run machine learning models and even train machine learning models in the browser. So you can run it in web browsers through JavaScript. You can run it server side with node.js and as we'll show you, you can run it in variety of other platforms where JavaScript can be used. This library is GPU accelerated and again, we'll talk a little bit more about performance later but we use WebGL acceleration in the browser. So it is very, very performant for the common types of machine learning models and it is completely open source. So it's open for the community to use, build on, extend and contribute back into the library. So when we released this, our hope was that this gives web developers and JavaScript developers, backend developers an easier way to get started with ML. And we've been very happy actually to see the adoption and uptake. This is an interesting sort of example. This person, Pierre Reimerts, he gives a lot of very influential talks in the JavaScript community and he gave a talk recently at Nordic.js and he sort of highlighted some of exactly these motivational points that we had is that this whole excitement of ML like the JavaScript community is kind of missing out on and now with TensorFlow.js, there's an easier way to get started and to be able to use machine learning. And in fact, he says down there that now you can bring the power of machine learning to your web application or JavaScript application with 10 lines of code. And so we love this testimonial except that it's five lines of code. It's not even 10 lines of code. I'll show you that. So here, for example, this is how this is sort of the rough template of bringing in machine learning into your application. There are first two lines of code which are basically importing our library and here we are showing the node example on top. So you import the TFJS node package and the second line is importing one of our many pre-trained models. So this is the Cocoa SSD model which is an object detection model that is trained so that when you give it images, it will recognize a bunch of common objects present in that image and it will give you bounding boxes for where those objects are. So you can load the library and the model. If you're running this in browser, then the alternate is to just script source it from our hosted libraries and then you create an instance of the model which is right there on that first line. So basically I'm creating an instance of my Cocoa SSD model and loading it and then I load an image and decode a PNG image to convert it into a form that my machine learning model can ingest and that's it and then I call my model detect function. So model.detect, you pass it the image object and you get back your predictions. So what you get back, you see that image on the right, it has identified a cup and a phone and a mouse and it puts bounding boxes on those objects and you get a JSON object which tells you the names of those objects and it tells you the coordinates of where these are and it also gives you a probability of how confident it is of that prediction. So a super powerful model, five lines of code, your web application can now be using an object detector and you can do similar things with text and speech and lots of other types of models. So why is this a good idea? So on client side in the browser, there are many, many advantages of running machine learning in client side. Browser gives you a lot of interactivity, right? It's easy access to sensors like webcam and microphone, et cetera, so you can immediately take advantage of all this sensor data and put it into your machine learning model. So in that object detection case, for example, the images could be coming from a webcam stream. There is nothing to install. So you can share with your users, you just share a URL link and they have a web page which has the model in it and they're using that model directly from that URL. It has huge privacy implications because you are running these models locally client side, no data is going to the server, right? So for healthcare or any other privacy sensitive type of applications, this has enormous implications. Also it reduces server side costs because you don't have to stand up complicated architecture. Sorry, I think I lost my projector. Really? Okay, I think the connector was a little loose, yeah. Okay, let's hope this works. And then lastly, as I mentioned that because we use WebGL acceleration, you get really, really good performance. On the server side, you can run more powerful models that may not be practical to run client side in the browser and you can basically take full advantage of whatever hardware you have and these could be multiple core machine or GPUs or even other custom hardware. There is a very large NPM package ecosystem. So if you are using machine learning in Node, you can benefit from this whole ecosystem of Node packages and you can bring machine learning directly into your Node stack. So you don't have to have like separate Python data science teams and a separate backend Node team who sort of are not really talking to each other. You can bring machine learning directly into Node and have like a single stack. And because we bind to TensorFlow C library when we run server side, we get a lot of performance benefits and sort of directly the ability to use any conventional traditional machine learning model that has been trained on the Python side. So there are three main ways of using this library. One is and that object detection example was one example of this. You can take a existing machine learning model whether it's a TensorFlow JavaScript model or whether it's one of your Python models and you can bring it in and run it with TensorFlow JavaScript. Second way to do this is to take a pre-trained model but then often you have to customize it on your own data to solve a particular problem. So we have easy ways of retraining a model and being able to modify it on a small amount of additional data so that you can retrain it. And by the way, another thing you can do is if any of you are familiar with the Google Cloud AutoML service which is a really nice cloud-based way of bringing your own data to the cloud and getting a custom model trained for you with no ML expertise needed, then that's also compatible with TensorFlow JavaScript. So you can train an AutoML model on the cloud and get a trained TensorFlow JavaScript model that you can run. And lastly, for those of you who want to experiment and write new models from scratch, there is a full programming API, low-level programming API with JavaScript so you're writing JavaScript code and you can write new models. So the library could be used in any of these ways. Because JavaScript is such a versatile language and it runs on many, many platforms, you can use TensorFlow.js in all these places. So you can run it in browser, you can run it on native mobile hybrid platforms such as React Native. We just recently announced integration with React Native and you get first-class support with WebGL acceleration through React. You can run it with Node. And then desktop, there are examples of people building electron applications and using TensorFlow.js through electron. So many ways of using this and we are continuously working on adding support for more and more platforms.  There are models for doing image classification, object detection. There are models for recognizing human pose. We had some of those demoed at our booth and you're welcome to stop by after this and see some more of these. We do pose detection. There's a very nice model for audio commands. So if you speak words, it can recognize the spoken words and you can use that to drive actions. And then we are increasingly doing more and more around text. So text has a variety of use cases like sentiment and toxicity. And all of these models can be either just used with a script source from our hosted scripts or you can NPM install them. So here are some more examples and using these models as building blocks, you can build applications that solve these types of problems like accessibility or sentiment analysis, conversational agents and a variety of different things. So all of those examples you're seeing on the right are instances of models just running client side. So let me just take a couple of minutes and show you a very quick demo and just to show you how easy it is to retrain a model like this. So this is an application called Teachable Machine. Has anybody seen Teachable Machine so far? So this is something that I would encourage you to try out on your own time as well after this but let's just see how this works. So I'm going to skip this tutorial. So this is the Teachable Machine website and this will show you how you can take an existing machine learning model and retrain it in a matter of seconds. So I'm going to skip this tutorial and what you're seeing here is a simple image classifier and this web session has already loaded a powerful image classification model called MobileNet and it's running in my browser session and we are going to modify this model to do a very simple rock, paper, scissors classification. So we're going to output the word rock for my first class, paper for second and scissors for third, okay? And now we're going to record these training images. So this green sample, green class will be rock, then this will be paper and this will be scissors and we'll just record some images from my webcam. So let's record rock. So I'll hold down this button and record some training images, okay? So this is rock. Rock. Now let's do paper. Rock. And now let's do scissors. Paper. Because I'm just recording some training images right now so ignore its predictions. Scissors. So now we have trained and now it's ready. So now I have a new version of model running in my browser. So let's try it out. Rock, paper, rock, paper, scissors, paper, rock, scissors. So there you see how easy it is to train it with like, you know, 50 images. Scissors, scissors. And the nice thing about this is that you can very similarly train a speech model or a pose model. And now with the new version of Teachable Machine, it gives you the ability to, once you have trained this model to save it and you can put it on your shared drive somewhere or you can download a TFJS compatible model that you can run offline. So very, very approachable way of getting started with machine learning. So at this point I want to turn it over to my colleague Pink who will tell you more about the API. Thank you, Sandeep. Hi everyone. I want to show you guys first system diagram of the library. As Sandeep mentioned, you can use the model directly. Sorry, can you? So I will allow you to use the model API. And the layer API is a high level API for model building. Can you turn your mic, please? All right, so the layer API is a model building API, so it will give you more abstract API for you to build things easily. And the core API, fine-grained API value to control how you construct the neural network internally and how you'll be able to find control over the training and execution. And as Sandeep mentioned, we support both client-side execution as well as server-side. On the client-side, we use WebGL. So give you automatic GPU acceleration. And recently, we just created an alpha release for WebAssembly. So it'll give you better acceleration on CPU-side as well. On Node-side, we use Node.js C-binding directly into TensorFlow C library. So you can utilize the speed of TensorFlow on inside your Node running line. And also, we support GPU support. On any devices that have CUDA support, which like NVIDIA GPU cards, you can use TensorFlow GPU library. And also we have something called HadesGL. What it does give you is that if you have a adapter that doesn't support CUDAs, you can see that GPU acceleration on Node-side. And also, for example, IoT devices that usually don't have a good GPU driver, you can use this as well. What it does give is you, is the WebGL, this sounds weird. Give you the WebGL API, actually. You could use other way if you want to. So all right, so now, we do give you a lot of models, but the fact is that you may have your own models. Like you have an ML department that builds your own model, you have seen some nice model outside. You wanna bring it into your JavaScript application, you can do that. So we give you a converter that can convert any TensorFlow models into a JavaScript friendly format. And we do a lot of optimization for you so it can run faster on your browser or native mobile devices. And we give you also the API for you to download your model from any static file-serving services like S3 or Google Cloud storage. And you can inject that directly into your application and run the prediction as what I showed earlier. So that's for the browser side, but for server side, we just announced a new API. There's basically, if you wanna run Python model inside Node, now you don't need to convert. You can directly run them using our C library. And which means you have better ops support. Our converter actually support about 200 ops, the core ops of TensorFlow, but actually TensorFlow has about 1,000 ops. So this will give you 1,000 ops. So you can run really powerful machine learning models inside the Node right now. And it supports both TensorFlow 1.0 version or 2.0 version and it give you better performance. Why is that? Because Python, TensorFlow actually runs inside Python. So you have the Python layer. It actually cause a lot of delay, but VA is much faster than Python. So that's why we are slightly better than Python when you run TensorFlow model directly inside Node.js. So here are some performance number. For mobile net, that's what, Sandy was showing is an image recognition model. TensorFlow.js give you about 20 millisecond inference time, which means every recognition of the image takes about 20 milliseconds, which give you 50 frames per second. If you're building a real-time application, it has plenty for you to play with. And TF Lite, if you don't know, is a native implementation of Google, another open source project. It runs on the mobile device. It's performance around like 1914 on iPhone. We do have some performance improvement room for improvements for Android form, but are we really working on that? So on server side, you can see the Node performance is very close to the C++ performance. So if you get really cool GPU, you get about eight millisecond pre-inference. You guys ready for some code? All right, so now you can build, you can load your model. You can load our pre-trained model. What about you want to build your own model? I want to show you how to do that. First, we want to tackle the high-level API. So you're probably familiar with this. We're just loading our NPM packages, getting our, so this is loading our Node packages. So basically, Node package, we have the C binding into the TensorFlow C library. We also package the C library inside this Node NPM. And also you can load the GPU version. If you have GPU-enabled car. Let's go back to the image recognition model that's shown earlier. So as Sandy mentioned, a typical neural network are constructed layer by layer. Each layer extracts certain feature out of previous layer and pass on the result from to the next layer. We'll show you how to do that. In the example, we'll show you how to build an image recognition model using the layer API. So it's kind of crazy, right? A lot of code, but I mean, to be honest, it's not that bad. If you consider like using like your query or anything, it's not more complicated than that. So here, the first thing is use a sequential model. What is sequential model is basically just like 90% of the model out there are sequential. So what it means that you layer the layers one by one. So the next, we add a couple layers. Those are very typical neural network layers. The Convert2D give you a feature extraction type of feature and the max pooling give you a kind of zoom in kind of feature. So then you can look at detail of the image. At the end, we will flatten the image into a one-dimensional vector. So in order for us to output the classification for the class that we want. So what this last layer will output is a probability for each class. So that's about it. I mean, that's the model we built and then we use compile method to basically set up how we would train this model. So particularly, we set up the last function to use a categorical cross entropy with long name, but the fact is that you don't care and you just copy that. The optimizer is a gradient descent. It's also easy to copy, three letters. And then take that model, now you're ready to train. The train is a very simple, just one method.  After training is done, of course you can look at, we have other methods to show you what the detail of the training is, what the accuracy is, all the other good stuff. I kind of didn't show it here, but after training is done, you can save the model to a file. That's for no, but you can also save it to local storage in browser or strip it to some server through HV requests. So we provide a lot of those different varieties. At the end, the model is ready, now you can plug it in into your application and start making your predictions. So that's high-level API, or what is a low-level API? The low-level API actually drill down inside the layers. Each layer actually has many, many smaller operations. For example, there are metrics multiply, there's some kind of cost function, or something like cosine or sine function, or some kind of activation function you would use. I wanna show you how you can do that with TensorFlow.js. So let's say we have a set of data set, we wanna estimate, you can see those dots, those are kind of polynomial function output, but it's not really perfect, so you cannot really know what exactly the function is. We wanna estimate the parameter for that function. So A, B, and C will be the goal for this model to estimate. We're doing the same thing, we're loading our library. We create three variables with initial value at 0.1. What is the variable? The variable are the tensor that the model gonna update. The training session was starting to tune to make sure the output is the same as what we gave it to them. So here we use TensorFlow linear low-level API, like say, add, multiply, square. Those kind of low-level API, you could construct a tiny graph, tiny neural network graph. So this looks a little bit crazy, right? So just for a tiny little function and just so long, so we have better way to do that. So we can use chain function, chain master to make it more concise to express the same thing. Here we define the last function. Remember last time we just say, oh, it is a category of entropy, cross entropy. Here we have to define our own because we wanted more control, right? So here is the mean square error. So what it does is that calculate the difference between your model output and your dataset output. And then we use the same SGD function, the gradient descent function to as our optimizer. At the end, we manually run epochs time of minimization of the last function. So at the end of the day, it's the same as what you just saw, internally in the high-level API. So that's about it. So for TensorFlow.js, we also part of the TensorFlow ecosystem. We not only give you JavaScript, but also we also integrate it into TensorFlow world. We have, TensorFlow is a visualization tool, give you a visualization of how the training happens. Like give you a lot of charts to show how the accuracy, increase while the training happens. So those are the, at the end of the line, the last line is how you plug in into the TensorFlow visualization. So basically you can see it live when you have the TensorFlow opened. Oh, yeah, here we go. We do have a graph. So that's what you see when the training happened in the previous example. All right, now I'll hand it back to Sandy to talk about our user and community. Thanks. I know we're running almost out of time. I'll just take about three more minutes and show you a couple more examples and also point to some resources to get started. So TensorFlow.js is a growing community. As I mentioned, it's an open source project. We are very sort of happy to see the download statistics and also seeing more and more people join as contributors. There are more than 200 people contributing code actively to TensorFlow.js and we invite you all to become part of this. And also many developers are building really powerful extensions and libraries on top of TensorFlow.js. So there are some examples there which let you do some specialized custom stuff on top of the library. I want to show you three examples. This first one is from Nearform and Nearform is here at this conference, one of the sponsors of the conference. They have built this really nice application called clinic.js which basically is a profiling tool. So it plugs into your node workloads and it helps you profile and look for performance issues, memory utilization, CPU consumption, things like that. And in this tool, they run a TensorFlow.js model for denoising and understanding what this profile data means. And you can check out a demo of this at the Nearform booth here at this conference. Node.red is an open source library from IBM. This is a flow-based way of wiring together IoT solutions. So you have a drag and drop model and you can create IoT workflows. And Node.red offers integration with TensorFlow.js. So all the TensorFlow.js capabilities are easy drag and drop modules that you can use to bring ML into your IoT stack. And very similarly, Losant is another company that builds enterprise-grade IoT services and solutions. And Losant has been looking at ways of incorporating TensorFlow.js-based prediction for client-side edge prediction of machine learning. And they wrote a really nice blog post to show how you could use this to build like a predictive maintenance application with sensor data, right? So a lot of these types of examples are beginning to show the power of like an easy ML workflow in Node and IoT. So just in closing, I wanted to show this. If you have machine learning needs, if you envision as JavaScript developers or as Node developers, if you have certain needs or requirements from the library, we would love to get your inputs. There's a UXR study that we are doing. So please feel free to join us and give us your feedback. We would love to hear from you. And here are some links that are very useful for getting started. Of course, tensorflow.org slash js, that's our main website. It has all of the things, examples, documentation, tutorials, and the link to the GitHub repositories up there, where we have, again, a lot of these examples built. We have a mailing list in red there. If you join the mailing list, again, that's an excellent way to interact with other developers and directly with us on the TensorFlow.js team. One thing I wanted to show you is that if you go to the Google code labs, and we have these running at the Google booth outside, if you go to the Google code labs and search for TensorFlow.js, all of our examples are available as interactive notebooks. So you can click through this and basically be up and running and get started and explore all these different features we talked about here today. Lastly, there is a new textbook that has come out, which is really a very nice way to learn the basics of machine learning from a JavaScript programmer point of view. All the examples in this book are written in JavaScript. So that's something that's worth checking out. And also we have a overarching comprehensive TensorFlow course on Coursera, which has a TFJS module now just released this week, earlier this week. So plenty of resources to get started and looking forward to your involvement in the community. So again, thank you so much for your attention. Thank you.


Don't let me drown. Um, basically I'm about to go to bed and I'm filming this, well as I announced on Twitter we recently hit 4.3k on YouTube. I'm so sorry about my lipstick, I know it's everywhere. I'm announcing a giveaway today, basically I'm going to be doing a mental health crisis box giveaway, which if you don't know I sell on Etsy, I'm going to be doing like one box giveaway and you know I'm excited about that. All you have to do to be entered is leave a comment down below, ask a question, anything, just comment something. There's a thumbs up button and one, two, you can follow me on Twitter, which is kind of where I rant and talk about absolutely everything and yeah, that's that. The giveaway will end once I've moved into my new place, so you've got a mile, it's fine. All you have to do to enter, like I said, is leave a comment down below and yeah, or something, like ask a question, request a video, I don't know, just comment something.  I've got my phone, I need to stop going off.  Eating disorders could look like any kind of disordered eating and there are so many videos online about all the different types of eating disorders and I'm not going to sit here and bore you to death with that. However, personally I'm diagnosed with eating disorder not otherwise specified and while I was in secondary school, slash high school, slash under the age of 16, I was diagnosed with anorexia and I didn't eat at all, like I literally blacked out in a science classroom because I didn't eat. So yeah, that's my history with eating disorders. I'm currently diagnosed with eating disorder not otherwise specified and to manage that I drink n-sure drinks which if you don't know are a food supplement slash weight gain thing and then my quittaiapine dose got increased and to anyone who is unfamiliar with quittaiapine it's notoriously known for being the one drug that causes a hell of a lot of weight gain and believe me, I've kind of learned this. It makes you so hungry, like when I take it in the evening I get so hungry and then I fall asleep but my issue was is I was giving into the cravings so I put on a load of weight and then like in the last two months I've dropped like 10 kilograms which is quite a lot really considering you know I'm only five foot two. That's where I have so much struggle like struggle trying to like stand and make videos because I'm so sure. A few troll comments on Twitter and yes I know I don't give into trolls or whatever you know I don't care. They got said and yes well they said triggered me but that's a whole video.  While I know I am bigger than I used to be I am not overly like I'm like what 50 something kilograms? I don't know exactly what it is. I don't really want to check you there because I'm trying to avoid getting into the habit of that's a really unhealthy like habit and oh my god my phone.   It has to be diagnosed with anorexia you have to be a certain amount below a healthy weight and yes that is very true but it's not the only eating disorder. There is such a big misconception as well of eating disorders that you can only have an eating disorder if you're underweight and there are so many eating disorders.  I can't think of any others on the top of my head but you know eating disorders are basically disordered eating so it kind of they manifest themselves differently in people and for me I'm very I'm very prone to just not eating like I'll binge eat and then I just won't eat and it's so unhealthy and please if you do that get support get help. I am very fortunate in the respect that I do have a GP at the moment who looks out for me and when I was in London the mental health team kept an eye on it. I have to avoid like getting myself too worked up about my because I used to be like so stressed and I'd check it like three four times a day and I would cry if the number went up in a day and to anyone who doesn't know anything about weight you gain weight throughout the day because your body kind of you know does its thing in the day so in the morning you're actually like more likely to be lighter than you are in the evening and the issue I had is I was checking consistently throughout the day multiple times a week and I got so obsessed with the numbers and it is so hard to deal with and live with and move on from like I'm nowhere near recovered when it comes to food. I struggle so much with it. I don't find eating in public easy. I can eat with friends or my family but if I'm on my own I won't buy food out. I get very afraid of people judging me and it is a major problem. Like I openly accept this like if people start to like attack me or judge me then I will respond and I will defend myself. Like no one has a right to attack anyone in my opinion and especially when it comes to weight like I don't understand people who go out of their way to put others down about how they look. Like yes you know weight is weight and no one knows what that person is going through so when I get comments that are like oh you're fat or you know you don't have any sort of you're overweight then kind of things really gets me because I'm just like I literally nearly died because of my eating disorder and I would link the video in the description but I kind of deleted everything. I decided that I didn't want to listen to like 16 year old me anymore on here so I deleted all the videos but when I was really underway I made a video while I was in hospital because I collapsed and I was told that day that if I didn't you know change anything that I was gonna end up dead and getting told that at any point about anything is so so hard and I wish I could go back in time and you know not start restricting and skipping meals because once you start skipping meals it's so easy to be like oh I'll be alright a bit longer and I got to a point where I just I wouldn't eat unless someone made me and even then I wouldn't eat it. Like I feel so bad about what I put my mom through and all that I feel bad about you know the idea that you know I could have died and then my sister would have been left dealing with that like I hate myself for it because I care so much about my sisters and I always will like they are a rock and the older younger sister who is 40 and I don't know where I'd be right now like I say a lie because I want to put them through loss and that sounds really bad and I don't mean for it do they are keeping going and when I start to restrict I always try and you know kick the habit or I go speak to a doctor or I go speak to a consultant I speak to the therapist and recently I start I never used to use diet pills. I tried some and I started using them when I was in my third admission this year which was the Park Rail admission. I'm very obsessed with it and it's still something I'm dealing with now like I still have them and they have helped like I hate saying that I literally hate saying that but they've helped me a lot with losing weight and mainly because I take metabolism boosters because a lot of my medication slows down metabolism I know this my doctors know this and metabolism boosters I'm beswerved but the weight loss tablets I'm not you can buy them over the counter I actually got these off the internet because I didn't want to go into a shop but I don't advise anyone takes weight loss tablets because they can be like you get so addicted to the weight loss and I like I have to be very careful I get very obsessed with numbers and it's hard you guys like it's so hard because you're just like oh right I'm using great and all these people say wouldn't work and they do and that's kind of where I'm at currently I have just dropped a significant amount of weight and you know you guys can probably tell I did gain a lot of weight and I was really unhappy with it I know it's like not a big number but I'm only five foot two and I've never been anything above 50 like I was always around 50 and then I hit 66 I was like oh my god like I got so upset and so down but even then I was like I can't just stop eating and I didn't really know what to do so I gave weight loss tablets ago I mean they were I think unless like I mean I am being more active now I don't know like the thing is when you're dealing with depression as well as like everything like you don't want to get out of bed you don't want to go to a shop and you can't you just physically can't and you know that's the loads of us go through and I still deal with this now like it's there are days when I'm just like I can't move like I just I just can't and I'm not ashamed to say that you know we're all human we all have things going on you know what my depression has been really bad recently and you know that's okay it's not the end of the world I'm actually a point where I can deal with it better like I know to ask my GP to increase my medication if I need it and you know I'm not afraid twice and maybe it just comes to experience I don't know I feel like a kind of a bit of a ramble here but I thought this is an important video to make but yeah I'm gonna end this video here and like I said at the beginning the giveaway is going to be going on until I move into my new place which is on the 7th of September and I'm so excited like I cannot wait to be back in London get me out of town please someone I will pay money like if I could start my tenancy earlier and there's a reason why I moved away and he's a fun fact I was going through Twitter earlier and I realized that I've been getting trolled by people from my secondary school since secondary school and you've got to remember I'm 21 now this ended like 2016 like in 2016 I just not 16 sorry 2014 yikes that's scary 2014 five years ago five years ago I left secondary school and people have been going at me not in large group but I there was a username I don't recognize that username it's this is one of the og troll used to troll me back in the day like I first moved to uni and a second year of college they were at me then and it's been going on since and I had no idea who this person was cuz I didn't bother looking through the word I just bought them on YouTube you know and then I was on Twitter I was like over fucks sake I've been such a naive idiot to think that it was just gonna stop once I left and he recently that I've kind of been like informed that it's still going on for the fact I don't actually use Facebook anymore really that the worst way to get hold of me and I just thought I'd chill a little story because when I read it I was like oh my god I'm an idiot my phone is going off yes I'm gonna end this video here if you are new here maybe hit the subscribe button I make videos pretty much every day I am there on holiday next week so it was if you want to keep up to date with me go follow me on my Twitter I post on that literally what I am okay it's a problem yeah that's all I've got for you guys today so yeah bye I don't know I don't do painting I don't like art I didn't fail in school because I couldn't be asked about but hey now again another story for another video


And as much as I did not like using macOS for 30 days, I hate using Windows even more. It did happen that I received internal criticism. And people still felt like, oh, KD copied Windows. No, we've been doing that for like five years. And honestly, the current Breeze team, it's not bad. Like it's legible, it has good contrast. It's very usable, it's just what I think. So I just wanted to say that Plasma 6 is coming, finally. And a very important detail of Plasma 6 is that we haven't decided to just do a Plasma 6 because we thought, okay, it's been enough time since Plasma 5. Let's just do something new. But rather obviously, QT released a new version of its toolkit, QT6. And since we rely a lot on QT, we decided to create a new Plasma to go along with a new release of QT. But at the same time, given that we were kind of forced to make a new major release of Plasma, we thought, okay, what do we want this new QT Plasma version to be? And we kind of discussed this and decided some things months and months ago. And just now, finally, we're getting some results and seeing how that things we decided are actually translating into real code. So I was really wondering, since your channels is much bigger than mine, and people when Plasma 6 are released are very likely to go to you to hear about the latest stuff. What do you expect Plasma 6 to go? And what do you think QT developer should have at this point decided as their goal and targets for Plasma 6? Okay, so I'll try not to call or my answer too much with what I know of Plasma 6. I'm going to try to talk from the point of view of like, I don't know what's in there. And first, I think it's a great thing to have made like a major release, like separate from the usual cycle, like not forcing you yourselves to have a four-month release cycle for this one. I think 5.27 is a great, is that a great stage right now? It's really stable. It works well. It has decent Wayland implementations. Like it's a good base for people to wait until Plasma 6 happens. Now for Plasma 6 itself, for me personally, I think what should be the focus or what should have been the focus since development already started a lot is probably like just spending the time to refine things further than what 5.27 has done, because I think 5.27 and just the whole KD5 series was kind of constrained in terms of what you could do, because well, it has a lot of baggage and people are expecting regular updates. With Plasma 6, since you're already porting to QT6, you have the opportunity to rework a lot of stuff. And so what I would expect personally is just a lot more polish, not necessarily more features, because I think KD has virtually everything anyone could ask for. Maybe the only thing that you can't really do with it is sort of a basic Mac OS dock, because you can kind of replicate that with a Plasma panel, but it doesn't exactly work in the same way. That's about it. So not necessarily more features, but just more polish, like finalizing, completely finalizing the Wayland transition, making the Plasma desktop and Plasmoids a little bit less finicky to place, to align, maybe unify the visual style of a lot of Plasmoids, which can be very disjointed, like if you try to place them on a column on your screen, none of them will have the exact same width and stuff like that. Just generally a lot of polish and you can take the time to do that. And you can basically bring KDE at a level that I don't think it has reached before, not even at the 3.5 series. Now the second thing is not necessarily a Plasma thing, it's more of an application thing. We've seen the GNOME app ecosystem completely explode in terms of number and quality, and I wish KDE had the same kind of vibrant ecosystem. KDE has a lot of cool applications, but you don't see the same number of smaller utilities that look really easy to use, that really follow the guidelines of the desktop, and I think that could be an opportunity as well, but that's not necessarily linked to Plasma. And in fact, that is very similar to what we decided. Especially it was, we discussed that in the past we haven't had a history of major releases that were like super stable and people were super happy about. In fact, I know of developers who started contributing to KDE Plasma because a major release was like pretty bad and they hopped in 12 out. And we wanted this to be completely different having something that is very stable out of the box as soon as it's released. And we didn't quite look for new features. And even though we knew that, I mean Plasma 6 is one year from now, people are going to make new releases, new features that's just gonna happen. And you mentioned the dock. I do agree with that. And currently my plan, there is already a complete redesign of the panel settings. We do have to change it further because of technical stuff. And I would like to add a button that allows you to make it a dock, just a button, which wouldn't be an additional feature compared to what we have currently. It would just make it floating at the center with the task manager and not filling the whole screen. Yeah, sort of like something you could do manually, but doing it in one click instead of having to place everything yourself. Yeah, just making it easier and more streamlined. That's kind of the goal. And I do agree with the GNOME application ecosystem being a target, like a goal for what we have to do. And it's what we're and are trying to do with Kuregami. A lot of things are switching to Kuregami. And very soon, a couple of days, we are going to have a new suite in Kuregami for email contact and calendar and to do, which is pretty cool, I think. Is it based on the calendar app? Yes. Basically, the calendar app grew so much that it decided to split into multiple smaller apps. That's cool. It's an awesome application. I think it's one of the fastest growing KDE applications. And you started the whole thing saying, ignoring what I know of Plasma 6, what do you know of Plasma 6? Let's see if I can remember everything I talked about in the past like 10 news videos. Obviously, Wayland fixes, making sure the applications don't crash when the compositor crashes. So that was a big one. They're switching to double click by default. There's a revamp in the settings page, I think, we're moving some buttons to the header of each settings page instead of having like a double row of buttons below. There's a revamp of Dolphin settings, search fields in various apps. What else did I see? A complete rewrite of the widget system, as far as I understand it. What else? Yeah, better integration with icon themes and sound themes was also a thing. From the top of my head, those are the big ones that I can remember. That's already quite an impressive memory. When you write those videos and you record them, you basically read every news article five times. To be fair, I did like obviously a lot of video Plasma 6. I've also had a talk at KDE Academy, and yet I still have all of my notes there with all the changes I wanted to mention because I'm going to forget otherwise. The thing is we have two major different branches of development, one of which obviously we have a lot of stuff that goes underneath that the user won't see, obviously. But stuff that is noticeable to the user is changes in the default and new feature-centered designs. As far as changes in the default, one good example is the double click by default, something I fully disagree on. But what do you think of that one? What team are you? I think it's a good change because that's what most users are used to. But when I use KDE, I always use it with single click. Currently, I'm on GNOME. When I use GNOME, I use double click. But when I'm on KDE, I don't know why. I'm just used to single click on KDE, and it works for me. But I think for most users, double click is more what they know. We had to switch to double click especially because a lot of distros were changing our default to make sure it was double click. We're not even deciding the default anymore. Distros are doing it for us. We had to switch. My personal prediction is that we're going to switch back as single click as soon as the rest of the industry realizes that it's better. But another thing we wanted to do is to try to have some changes in design that are default changes, so very easy to do. But that could distinguish us visually from other desktops. And one example of that is using the floating panel by default. Did you see that? What do you think of it? I think it was quite controversial. I think it's really good as well because for most people who are going to discover KDE, it's going to look better. Because let's be honest, it looks better. You can't argue that a fixed panel stuck to the edge of the screen looks better than something that flows with rounded corners. You just can't. It looks better. And I'm not just saying that because you developed it. But it's a great look. And people who don't like it, it's a right click and one toggle to check. It's super easy to revert it if you don't like it. But I think for new users, it gives a more striking appearance. And honestly, when you're going to see something like Windows 12, I would be very surprised if their taskbar wasn't the exact same way. Instead of using the whole of the screen, it would be centered and floating. I'm pretty sure they'll do it. Yeah, that kind of worries me because if we try to make the taskbar floating to visually distinguish from other operating systems, and then Windows 12 is like floating taskbar. But I mean, if we are first, we can kind of say, hey, copy this. Yeah, exactly. Well, that was also the argument like when Plasma 5 was released and the change in the breeze theme and the Plasma theme, it was new. It did not look like something like Windows 10. And then Windows 11 came and just basically looked exactly the same. And people still felt like, oh, KDE copied Windows. No, we've been doing that for like five years. Yeah, always happens. There's a lot of like when Windows used our slogan. Oh, yeah. Yeah, that's true. Yeah. We saw that and it was like, oh, Windows. I've heard of that already. Do you think there are other simple changes that we could do to distinguish visually from other desktops? Well, they would probably be changes for the sake of being changes and not necessarily super usable. But yeah, for example, having a different window button layout, like splitting the buttons like you would get the window controls, maximize and minimize on one side and the close button on the other one, much like very old versions of macOS, for example, close on the right, but everything else on the left. You could have a very different theme. I was sort of expecting for Plasma 6 a different breeze theme. I know it has been revamped relatively recently in the in the Plasma 5 cycle, but I would have liked to see a different one. I think the icons really hold up pretty well. But I think the general theme for the apps feels a little bit flat, a little bit dated in my opinion, but that's very subjective. So yeah, but these would be changes for the sake of changes, they wouldn't necessarily bring much usability in terms of how things work. So I think honestly, KD's strength is not necessarily looking so different than other things out of the box. It's more that you can make it look very, very different if you want to. True that. I will admit that there are some issues where basically all KD developers or almost all KD developers use the default theme with the default settings. And because of that, most third party themes do tend to break over time because we are just testing, we are not testing them. So, but that's definitely on us. Yeah, and you couldn't test all of them. Like if you had to test every default theme and every quantum theme, like you would only be doing that. And it's not exactly your job to do it. So yeah, usually we have like a couple of themes that are meant for testing purposes. Do you know of the fluffy bunny theme? Yeah, it's wonderful. That is the theme that we usually resort to when we have to test something. It's pretty funny in the video recaps that I do about it. Regarding the theme revamp, that is actually something that a lot of people coming to KD asked for. Very often people would join the visual design team. And the first thing they would say is, let's do a big redesign. Let's do everything from scratch. We can't quite do it for a variety of reasons, obviously, mainly main power. And we often had to say, like, these are great ideas, but we can just cannot do something like that. And I usually have had to say in videos, like, it's very good that you want to join visual design team and contribute. The first thing that you do should not be to say, let's do everything from scratch. Like, when you join a project, try to slowly. Yeah, you pick a screen that looks super dated or is eligible and you try to revamp it. So it looks like more legible and better laid out. But you don't jump in saying, let's redesign the whole thing. Because first, you don't have any credibility in the team. So who knows where you're coming from, what your ideas are, what your experience in UX or UI is. And second, obviously people want to do that. But if they haven't started on it, then maybe it's not just because they like the ideas, probably because they like the time to do it. Yeah. And we do actually have a lot of things that are being redesigned from scratch within the Breeze theme, which is a lot of different small things. Well, obviously we improved it in the Breeze itself, the theme a lot over the Last Releases. We have, I think, half of an idea, which I don't know if we're going to follow up on that, but we kind of have half idea to change the name from Breeze to something else to actually say, okay, we did change a lot of things in the Last Releases and we want that change to have a name. But other things that are coming are completely redesigned sound theme as an example. And obviously that required having an interface to change sound themes, which we should soon have. And I will admit that most people I talk about this sound theme with like Plasma has sounds. I didn't know that. Well, they are. Yeah, when you plug in like a laptop, like you get a sound notification, I think some notifications also have sounds, pretty sure. The critical ones. Yeah. And I think when you boot up, no, maybe not, maybe not at startup. I think not. But there are not many.  Like, yeah, for important things, cool. But yeah, don't send me a beep every time I receive one single notification because that's going to drive me nuts. Which fonts does like do which fonts do out of the box for some reason? I'm really annoyed by that actually. Especially when you like in a group conversation and all of a sudden people wake up and start talking and your phone starts beeping like crazy every two seconds. It's horrible. Yeah, I couldn't get rid of the notification sound of my phone. Eventually, I just set 100 milliseconds of silence as my notification. And that works. Yeah, that's a good workaround. And there's a lot of things happening with colors as well, because in 5.25 we introduce a lot of colorful features. And they look awesome. I like the window tinting and the accent colors in general. They look really good. Yeah, I totally agree. So what I did for Plasma 6 is create series of tasks that were like, can we please enable all of that by default? And luckily, people were like, no, for different reasons for each one. As an example, I really wanted accent color that changes depending on the wallpaper. So dynamic accent color and other developers rightfully were like, we can't change the colors of the elements every time the user changes the wallpaper that might distract or confuse them. And I can see that happening. And secondly, I wanted window tinting. So tinting with the default blue color every window slightly. But that also didn't get much traction. But we did decide on tinting the headerbars. So the idea is that by default blue, because that is the default accent color, all headerbars should be like the tinted blue. That is another reason that we are working on that isn't complete yet. And honestly, the current Breeze theme, it's not bad. Like it's legible. It has good contrast. It's very usable. It's just that I think the changes that happened in the like starting from I think 5.23 or 5.24 or something, like with the with the different colors for hovering over elements in menu stuff like that, all those changes were cool. But they were perceived as relatively minor in terms of visual changes. And so for people who've been using Katie since the start of the Katie five series, the desktop hasn't really changed much in terms of how it looks. And that's not necessarily a problem. But I understand why people would want it to evolve like more drastically than what's already been done. But but it's a good thing. Like it works. It works. It doesn't look old. It's not like it's Windows 98 or something. Yeah. I do have to agree that I say yeah. And I haven't used any other theme in years. So can't really compare. There's another which is why really we are focused on a slightly slight improvements like slowly making it better and better even for Plasma 6. There's also a Ken Burnett who redesigned all the icons of Dolphin. So all the folders, main types and such. So now the new folders that ideally should be that have to be in Plasma 6. Otherwise, I'm going to be very annoyed at myself much more rounded actually and friendly looking. So hopefully that is another thing that will slightly improve a breeze. And that's a good approach. Like instead of having a complete rework of everything, just touching up a few details that you feel are suboptimal or have aged worse than the rest. It lets you iterate and see what works. And then like if people love the new folders, I haven't seen them, but the rounded folders, maybe you can like redesign a bunch of other icons in the same sort of rounded style and go from there.  So that's a good approach to design. What we are currently deciding now that we are closer to the release of Plasma 6 is when actually to release Plasma 6, because we don't have any kind of date as of right now. Do you think that we should go for like further in the further way, but with more testing or should we because it's been quite a while since the last Plasma release. Are people getting I would say yes, I would say push it as much as you can. Well, not like three years, but if you need more time for testing, push it a little bit because if the goal is to provide a very stable, very solid first version of Plasma 6 and not repeat some mistakes from earlier versions of Plasma where the initial version of a new series was pretty buggy, then I think it's better to have more time for testing. Like people already know that it's not going to release like in October or November. So if it needs to be pushed to January, February, March next year, I would say do it because it's always better to have something that is really cool out of the box, really complete. You have all the features you wanted, all the new design touches, very good stability for most use cases, then having something like, okay, you guys are getting impatient. So we're going to release it. And now everybody has a bad first impression with it because like, I don't know, multi monitors is broken for some reason.  I'm never using that again, even though it's fixed in the next release. I would say push it if it needs more time. Yeah, I do think that a lot of people will try out Plasma 6 for Plasma with Plasma 6 for the first time in quite a while to decide if it has improved enough since the last time they tried it. So I do look at it as an occasion to show that Plasma has really improved in the last years. Yeah, and in a more logistical sense, if you ship a half broken or at least one major use case kind of broken and you say, oh, we're going to fix it, then you have the chance of distros still shipping your older release instead of the new one, which means that now you have split your user base between Plasma 6 and Plasma 5. And I don't think that's great. So yeah, I would say give it as much time as you want. 5.27 is a very good platform for people who like KDE. And judging from the comments on my videos, like people are excited for Plasma 6, but they're not like impatient in the sense of, oh, if they don't release something in the next two months, I'm out, I'm moving to something else. So I don't think there's two, I don't know if that is the same as the experience that you might have as a member of the KDE team and the developer. But me personally, when I talk about KDE, like people are excited about Plasma 6, but they're not saying like we need it right now. No, that's good. Well, as a member of KDE team, most people I talk to are also members of the KDE team and they know how to use the beta of Plasma 6. So I mean, I live on Plasma 6 already, so I'm not particularly eager to have it released. I can use all the features anyway. And another thing we have to decide on, and I'm actually quite interested, and I'm throwing a lot of the decisions we are making onto you because I'm really curious to see outside and is the release schedule. So currently we do three releases every year, so one every four months, which has some issues. As an example, it's very hard to align with these two release schedules, which are often a couple of times a year. And also it means that the time between we are done with the release and we are going to publish the release is very short, which is a problem for promotion. Like the promo team requires a bit of time to know about everything that has been done and write an announcement to videos and such. So we are considering switching to a slower release schedule, which would also have its own issues. As an example, you make a change, I don't know, in January. If due to stuff, it's the wrong time, you might have to wait even seven months to have it actually released to users. So there's a bit of benefits and issues both both ways. What do you think of that? Well, I think the two releases per year schedule is pretty good. Sure, it means that you're going to have to delay some features if they are not ready for inclusion. But I think it also means you don't have to follow like Katie had some kind of tick talk release cycle, like you had one with a lot of new features. And then you had one with a lot less features, but a lot of bug fixes for the new features that were added. And I think this can give the impression sometimes that Katie is not very stable, because if you start using Katie on a release that is bug fixes, then you have a great time. But if you start using it on a release that is majorly features, you might have some problems. So I think if you have more time for each release to polish it and make sure that all the bugs are well, all the bugs, you can never fix all the bugs. But most of the bugs and the most annoying ones are fixed. Then I think it gives a better impression. The ideal way, but I'm not sure that's doable would be to have like two releases per year, in my opinion, of course, two releases per year, and having some way to deliver some new features in the middle of a cycle. Like for example, if you have your release in February, but your feature has been started in January and will only be ready like two days after a feature freezes something, maybe having a way to include it in a point one release during the cycle is good. But at that point, you're also cannibalizing the new features for the next version. So it's not easy. I think I think it's better to stick to being close to distro releases, because ultimately, unless you have like, unless you want to push Katie knee on heavily as the distro for Katie, then you kind of depend on them. So you have to have most recent distros ship your most recent desktop. So I think it's the better approach. It has drawbacks, but I think it's best. But what do you think of Katie neon random question? I love it. Every time I need to try something on Katie, I run neon because like it's like it's an Ubuntu base. I know this by heart. Like, I know all the tools. And honestly, it's been super stable for me. The user edition never had any problems with it. You speak better of Katie neon that most Katie developers have talked about to neon about, you know, maybe they use the testing or unstable versions more. Because me personally, when I need to test the latest release of Katie for one of my videos, I obviously use like, I think it's the testing or the unstable. I never remember which one is the right one. But but I use one of these, which obviously like your testing primarily software, it's going to have problems. But like the user edition, I would personally pick it over something like Coulomb to, for example. Okay, that's good to hear. Obviously, it sadly doesn't quite. I cannot share that because I did have major issues with Katie neon sadly. So we would like to try something new with Katie neon, how it's done. Maybe visit on something else, this sort of sort of things, but nothing is ready to talk about it. So I will stop with Katie neon. One thing that we can do if we decide to switch to a couple of releases every year. And that would be nobody has told me don't do this yet. So I'm going to say that until somebody does is we could ideally align our kitty plasma release exactly on the same day as the GNOME release and have some sort of desktop party. This would make my life miserable. So please don't. And I think it might be badly perceived like, oh, they're trying to overshadow the competition. Let's call it that. I think it's better if the dates aren't perfectly aligned honestly, because yeah, you're basically dividing the attention of everyone between two things that they might have been interested in. But yeah, if you want to do that, like, sure, why not? But it's going to make my life very hard. It's true that mine as well. Obviously, I was curious to try that one time because it is true that it might divide the attention, attention between the two. But what we tend to see in Katie promo is that whenever you have more announcements on the same day, they tend to have a much wider audience, they reach a much wider audience compared to splitting them over time. So I was kind of curious to see maybe just trying out. I think a good case for doing that would be maybe if you have some kind of major collaboration with GNOME, I don't know, like the Katie team and the GNOME team work together on some kind of standard, let's say for accent colors or whatever, and both releases ship with that support in it. Maybe that's a good thing. Like, okay, yeah, we worked hand in hand. That would also put to rest the debate of Katie versus GNOME because people always fight online about that. But every time there's a new release of GNOME, the Katie team is like, hey, congrats, guys, it's awesome. And the same way, I mean, yeah, maybe it's a cool idea, but please not every time. That was a send a strong message. We tried to do that with the Apple's falls of GNOME. That was pretty funny. We really organized with GNOME to make sure to have really wanted the message to be stop doing like desktop wars. Yeah, you can compare desktops to showcase what's different, but like, what's the best? Well, Newsflash, nothing is the best for everyone. So that's why Windows is so bad, because it's trying to be good for everyone and it only succeeds at being mediocre for everyone because you can't please everyone with one single interface. It's impossible. Yeah, I received Windows computer just a couple of days ago to test it out. I boot up Windows 11. It's horrible. I hate it. I'm currently working on a I used Windows for 30 days video, like I did like the macOS video. And as much as I did not like using macOS for 30 days, I hate using Windows even more in the end. It's just it's horribly designed. I hate it. Are you using the very latest release of Windows 11? Yeah. Yes. So everything is blurry, which I like and also to me quite laggy. It's very laggy. And I've got ads everywhere in my start menu. Like I even got some weird banners in the file manager saying, Hey, use one drive in office 365. Like, why are you showing me this in the file manager? Like, it's an ad for your services in your OS. I paid for the OS when I bought the computer that you don't have to show me ads that you have my money already. Stop it. Really. And I got to say, I understand when people say that plasma, when you start customizing things feels a bit unstable or unpolished, like you if it's everything is as is by default and you don't touch anything, then usually it feels quite stable. Shouldn't break. But if you start customizing that, yeah. But I got to say with Windows, I got the same unstable finicky sensation when like popping up the overview they have, which comes from the bottom and just Yeah, it's kind of stuttery. It's not smooth. Like some of their gestures with touch pads, they're not one to one gestures, which completely baffles me like you do. It's like a keyboard shortcut. Like you do the gesture and then the stuff happens, but it doesn't move with your fingers. Come on. You have like, how many developers do you have Microsoft? Like, can't you do that? It's weird. So many things are just badly integrated. Well, let's not digress about Windows, but yeah, it's truly awful. Yeah, it's cool. And well, you mentioned just, sir, let me mention one thing at a very hand just to say because I'm quite proud of it. The one thing that I'm working on for Plasma 6 right now is the new overview. I don't know if you saw that. So it is much, much, much, much more similar to GNOME's overview compared to what we had. And it has the overview itself and the grid view all in one effect. And you can just cycle between the three or you can just toggle one. I quite like it. It's everything is one-to-one gestures. You can switch one-to-one desktops whilst in the overview. I think it's, I'm really proud of it. Yeah, that was the last remaining issue I had with Katie on laptops. It was like, I think it was a forefinger gesture up for the overview or something. And you had to do forefingers up again to get out of it, which in terms of positioning of elements feels weird because you brought it up. So to exit, you should bring it down, not re-bring it up. And if you had configured a forefingers down to open, for example, virtual desktops and trying to exit the overview would automatically move you to the virtual desktops without any transition and it felt weird. So I'm super happy that this is something that is being worked on. It's awesome. Yeah, it's true that you pointed out gestures are, I think, I'm really happy that we have them now and I think they're really good. But how they have been implemented, I think they're a bit of a failure story of Katie because they were half of implemented by one contributor that just did half of the stuff and left it there. We did include it into the release when it was clearly half baked. I didn't really like it or use it. And then for Plasma 5.25, finally somebody came to finish off this stuff and we finally actually talked about the fact that we had one-to-one gestures for real. But still, there were remaining issues such as this one, which is obvious. Like why would you have to do three fingers up again? Yeah, it's a small thing, but it's a bit of a disconnect. And I know I'm super peculiar about this. People on my YouTube comments always tell me who cares about one-to-one gestures. Like, Linux Mint has gestures, you do the gesture, it does the thing. Yeah, but it does not feel good to use. If you do this, lift your finger and then it happens. Nothing has moved with your finger. It's actually jarring and not helpful. In terms of user experience, it's not a smooth user experience. One-to-one gestures. If you're doing gestures, don't do them if they're not one-to-one. Just use keyboard shortcuts. It's the same thing. Yeah, I totally agree. I do have to point out, because I try to be honest as much as possible, the bug that you're referring to, the four fingers down to exit overview has been fixed by Alish, not me, before I started working on the... Actually, the day I started working on the new overview. So credit where it's due. I did not fix that. That said, when I present Katie and at the same time, I'm a Katie developer, sometimes I worry that it might seem like I'm doing some stuff that I'm not doing. Yeah, you sort of feel like you're taking credit for other people's work. It never came off as that for me personally, when I watch your videos. I never feel like you're presenting things like, hey, look what I did. It's more like, look what we did. So I don't think people think you're taking everything for yourself. It did happen that I received internal criticism between KD developers for some stuff that I did handle incorrectly. So it fought on me. So I really try to be careful on that. That said, that was actually kind of everything I wanted to say. But if you have any questions about the development of Plasma 6 that I can answer, if you have any... Well, I won't ask when does it come out, because obviously we talked about this. But yeah, no, I don't have any questions specifically. I'm just glad to have those weekly blog posts that are published to see what is being worked on. And even some technical details, which are really cool to learn about, like how icon themes have been changed slightly in Plasma 6. I really enjoy reading about this. And yeah, it will be ready when it's ready. And as soon as it's out, I'll start using it as a daily driver, because I want to see how well it works. And I've been wanting to move back to KD for a while now, because I like switching. But I'm not going to switch to 5.27 if 6 comes out in like four months, because yeah, what might as well wait and have like a real big impression of KD at the same time when Plasma 6 is out. That is the pressure to KD developers to make a product that works perfectly. Yeah, nothing is perfect. I don't think I've ever used a Linux desktop that is perfect out of the box and has zero bugs, like not even a proprietary desktop. Like my experience on macOS has been riddled with issues. There are bugs everywhere, stuff that doesn't react, stuff that doesn't show on hover, tons of problems. And Windows, same thing. Like the taskbar is a finicky beast. It bugs out a lot on multi-monitor setups, which you'd think they have this down by now, but apparently not. So it's not a problem if you have bugs. Like the problem is if you have major bugs that affect 70% of the user base, I guess. Nice. So that was everything from me. And thank you so much for tuning in. I hope this was interesting for you as well.


Hi guys, it's Alex. Welcome back to my channel. I am filming this video on my vlog camera, even though I have my big camera over there. It's because it's a very short and kind of to the point video. I wanted to talk about the Apple silicone cases because I haven't found a video that really answers my questions. So I'm hoping that I can help a viewer or someone who stumbles across this video when it comes to these cases. The first question I'm going to answer is is it worth it? Are they good quality? The answer is no. They are very poor quality for $40. I'm very disappointed with it. I feel like I have to tiptoe and not drop my phone even though you shouldn't like drop your phone. I just feel like you have to baby this case almost. I'm going to show you the wear and tear in just a few minutes but I'm going to go over a few points that I want to talk about. I have a lot of wear and tear on it as you can kind of see in the close-ups. You'll be able to see. But I did order another one which you're probably asking why are you saying it's not worth it and then going out and buying another one. Because I really like the case and that's just a personal preference. I love the aesthetic of it. I love that it's plain. I love the feeling of it. It's like really soft and a lot of bloggers use this case. So I just really like it but I don't think it's worth the price and I do not think it's high quality. This case has been on my phone for over six months about. I got this case in January like early January I want to say and it's been on my phone until now. During the month of February most of the month I did not have this case so like minus a month. So about six months a little over six months that I've had this case on my phone. I love it. It's really easy to grip the phone. It's not big and bulky. I love the little apple and I love the color. Those are the reasons why I decided to order another one. This is actually my second case from Apple just like this. So in total I've had three cases. This is my second one. My first one the very first time I dropped it and this brings me to I'm looking down at my notes. This brings me to my first problem with this case. I was at the airport because we were going to Ohio and I dropped my phone and immediately the case starts peeling if you drop it once. And let me tell you example A this is what happens. The very first case that I got with my iPhone XS Max XS yeah XS Max did that right on the top here. This one obviously has no tears or anything. There's a little mark that I'm going to show you a little later. But the very first case the very first drop I had this peeling start on the top corner and I was like you know what I'm just going to throw this out. So I threw it out because I was like so mad and then I got another one because I really liked the way it looked. I then knew that I had to baby this thing to heck. So even with my babying I have a big rip at the bottom but the bottom it seems like these just get worn down. The second point I wanted to show in this video there's like little cracks in it and I don't know if I'm explaining that right. I will again do a close-up so you can see the cracks in it but I don't even know how they get there. It's so weird and I'm just really detail oriented when it comes to certain things and I find these like cracks on it and I'm just like okay that's ridiculous. Like their silicone needs to be higher quality. The third point is it gets really dusty and it's sticky after a while. Maybe the stick is good because you don't want to drop your phone but it does get sticky and dust and like things could easily adhere, get stuck on it like hairs and like other things. This case I have a very big love-hate relationship with I'm not the type of person that goes out and buys a bunch of different cases for their phone. I used to be that person don't get me wrong I had like probably at least 20 cases at one time but that was like my iPhone 4 and 5 days but if you're not like going out and buying a bunch of cases spending a $40 on one that's like having it on your phone for six months to a year or whatever I think is like okay because you're not like going out and spending like a dollar on 40 different cases or five dollars on multiple cases. So let's get on to the close-ups and I can explain to you the defaults or defects on my case that shows my wear and tear on it. Okay so now this part of the video I wanted to show you guys my case. So the first little bit are these fingerprints. I'm hoping the camera does a good job at showing but when it gets at least like six months you can see it's definitely used and worn and it really shows the prints on the back of it. Here's a close-up of the wear and tear on the ends. So this is from one drop. I think it hit the door because I was like watching YouTube or something and it hit my door when I dropped my phone and yeah it just automatically started peeling so being myself I peeled the rest off. Earlier I talked about the creases and basically like this is it. I don't know if this is showing up or not and there's a little dent right here from another drop that I made. Yeah right there. There's like a little indent and I know this is being really super nitpicky but I just want to show you guys because it really bothers me. Can you see it? Yeah you can kind of see it right there. You can see it right there. That's the little rip I'm talking about and if you do that you can really see where it is. I don't know how I got this one to be honest but it's clearly there and it really annoys me. The next little thing that I want to point out on this case is this little thing. Oh you can see my reflection. I really want to point out this. That was like a rip that came on the case. It was already defective. It kind of was ripped and then like I made it worse by like picking at it. This side is fine because I babied this thing so much but just recently I have a little tear up here. Okay so I don't know if you can see it but there's a little tiny rip up here. You can see that. I'm trying to see. Yeah there it is. Right there. So this is another place of wear. Overall this case is awesome and doing well for six months considering I had a previous one and it literally failed on me like a week after I got it. Another thing I wanted to show you is the edges where you grab your phone get really shiny because of the wear on the silicone. It happens on both sides as you can kind of see. Yeah there you go. You can see it. It gets really shiny as well as like the corners. That doesn't really bother me. What bothers me is that it rips and like peels off but overall this case is cute and I don't go spending a lot of money on cases so one that I use for six months and then I can replace it's okay for me. I'm going to try to treat my new case that I just ordered better than this one even though I really really tried to baby this thing. I hope this video gave you some insight on this case unlike other videos that people don't really like go into the detail and like show you the flaws and stuff. So yeah anyway that is going to be it for this video. I hope you guys enjoyed it. Make sure to give this video a thumbs up. Don't forget to subscribe and I'll see you guys in my next video. Bye!