Many of us use external hard drives to back up PC data from time to time. But if you receive the error message you need to format the disk in the drive before you can use it, then I'll tell you the solutions for it. However, you can check that the error can surface when you have unplugged an external hard drive, SD card or USB drive without the safety remove option. But sometimes you need different fixes to resolve the issue. Let's begin with them. 1. Change the drive letter Open the run dialog box by pressing Windows plus R key combination type diskmgmt.msc and press enter. Right click on the volume whose drive letter you need to change and click change drive letter and click change drive letter and path. Assign a drive letter and click on OK. 2. Scan your PC using antivirus tool For this, I highly recommend you to run T9 antivirus on your computer which is capable of malware protection, exploit protection, web protection as well as firewall protection. Coming with quick, deep and custom scan modes, all you have to do is choose the mode of scan and T9 will do a justice to your computer while also helping you remove this error. 3. Try using a different USB port, PC or OS. Very, very simple. You can try connecting your disk to another USB port and check if you can access it. Not just a different USB port but try out another PC or even a different OS such as Mac OS and check if the hard disk is working fine there. 4. Update your disk driver Using advanced driver updater, you can update the disk driver very easily. Download the tool, click the start scan now button here and it will run through the system. When the list appears, choose the disk drive and click the update driver next to it. And you're done. Last, try using CHKDSK that is CheckDisk. The CheckDisk command helps display the status report for a given volume and can help resolve any issues. So for this, in the Windows search bar type CMD, select Run as administrator. When the command prompt window appears type CHKDSK and drive letter F or the other problematic drive letter. Hit enter and wait for the process to complete. So that's it for today guys. Stay updated with us by subscribing to our channel and don't forget to share this video with your friends.


He's he's got he tore some cartilage on his wrist on the slide home yesterday. So he he he had an MRI today and then treated with a cortisone shot today and then he'll be reevaluated in a few days. How do you what are your optimism that you'll have him back it unsure? I think there's a real possibility we do. You know there's also a possibility that we don't will know a lot more in a few days and see how the wrist responds to to the cortisone shot.  Well, Dee Dee's I mean a great player and obviously I mean I think everyone in this room understands how important he is to our team kind of an anchor for us defensively in the infield obviously what he brings from the left side of the plate. So you know we'll we'll cross that bridge when we get there. But hopefully we'll get some good news here in a few days that it responds how we hope. And if he is out will you keep Hetch of area in there? Is that you know on a regular basis or would you go with? Yeah, I mean you know we can make some match a little bit and slide labor over if we want to play a different match up or something. But Hetch would certainly factor in big time. Clap. You didn't specify which wrist for Dee Dee? Right wrist. Right wrist. So is the doctor said there is a chance that he could play with a torn cartilage under the right conditions? Oh yeah, yeah it it's a lot of times it can respond the right way the cortisone is the treatment and if that goes well then then yeah but but it's an unknown right now.


Hello everybody! This video is about updating BIOS and if it's worth doing. In my previous video, How to enter BIOS or UFI, I told you about BIOS and UFI, the types of this microcode, how to get there, and how to boot a computer from a USB drive or DVD. Find the link in the description. When do you need to update BIOS? If your computer works without any problems and all of the devices connected to your PC are bug-free, there is no need to update BIOS. But if your computer is relatively old and you cannot connect a certain device without errors, then updating BIOS can solve the problem. Having Windows 8 or 10 installed on an old PC, a BIOS update can solve the problem with incorrect work of all drivers. Sometimes when trying to install Windows 10 on an old computer, you can face this kind of screen freezing in the first window after booting the computer, which makes it impossible to continue with the installation of the operating system, and I also experience such a problem. I solved it by updating BIOS to the latest version. I would like to warn you that updating BIOS is a risky process, and if there is a failure, the problem will be more difficult to solve than just reinstall Windows. Before you start updating, charge your laptop's battery or use an uninterrupted power supply for your desktop computer, just in case there is a power cut during the process of updating. If you decided to update your BIOS, the first thing you should know is the motherboard name and model, as well as the current BIOS version. But if you have a factory-assembled PC or laptop by a well-known manufacturer, such as Dell, HP, Acer, Lenovo and so on, then you have to know the computer model name instead of the motherboard name and model. There are several ways to learn your motherboard name. The first way is just to open your system case and have a look at the motherboard. As you can see from the example, there is a large marking on the motherboard. The second way is to press the key sequence Win plus R and enter msinfo32. In the line's baseboard manufacturer and baseboard model, you will find the name and model of your motherboard. You can also see the current BIOS version there. You can find this information in the line BIOS version date. If you don't know the model of your computer or laptop, you can find this information in the line's system model and system manufacturer. The third way to learn the motherboard name and model is to start the command prompt as administrator and enter two commands. You will see them in the description of this video. The first command lets you know the motherboard name, and the second command gives you the model. Using the name and model of your computer enter a query like this in the search engine. Dell OptiPlex 790 BIOS Update In your case, it can also include the motherboard name and model, for example, Gigabyte GA H77M D3H. Follow the first link on the list and study its contents. This is where you can download the latest BIOS version for your computer by clicking on download file. You can also view previous BIOS versions and supported systems, read the installation manual and important tips. If you are sure it is the BIOS unit, then download this file. You can update BIOS in DOS, BIOS or in the Windows environment. I recommend updating it in the Windows environment because it is the simplest way that even device users can understand. I would like to know that depending on the motherboard manufacturer and computer model, these programs can be very different from the one I will be using, and the steps required to update BIOS successfully may differ, too. So read the instructions which you can find on the website carefully before updating. Now close every program you can, then start as a downloaded file. After that, you can see a warning that BIOS will be updated, so all documents and programs have to be closed. You can't interrupt this process or turn off your computer. Interrupting this procedure will most likely make your system inoperable. Clicking OK, you see another warning asking if you want to continue updating BIOS. And we can also see the list of differences between the currently installed BIOS and its latest version. Click OK to start preparations for updating. When it is over, the computer will restart. Right after the restart, the BIOS updating begins, and in my case it took several seconds. In the end, there is a report saying the update was successful. The system restarts again, and now it boosts to desktop. I didn't need to do anything else to update the BIOS. To check if the update was really successful, you can also press the key sequence Win plus R, enter MSInfo32 and check the result in the line BIOS version date. If you liked this video, click the Like button below and subscribe to our channel to see more. We'll be glad to answer any questions in comments. Thank you for watching and good luck.


Live from Barcelona, Spain, it's theCUBE. Covering Cisco Live Europe. Brought to you by Cisco and its ecosystem partners. Welcome to the guys Cisco Live, introducing some new innovations, Stu and Dave around reinventing networking. Couple key themes, big announcements around ACI anywhere, application-centric infrastructure, hyper flex, and the new cloud center suite where they're doubling down on cloud, redefining the network. Stu, we've been here last year, been watching Cisco policy-based, intent-based networking. Cisco's tying it all together with new branding, the bridge to tomorrow. Your thoughts? Yeah, John, I actually, I like some of the new branding, the bridge to tomorrow. I've been critical of Cisco. Cisco always said, oh, well, networking's everywhere and it's really important. And it's like, well, okay, but where's the meat? Where's the detail behind this? They've done a number of acquisitions in this space. They're making sure that they understand where they are. They had some failures along the way. I mean, just to call a spade a spade, John, they are going to be a leader in multi-cloud is where they want to be, but they had some falters along in being a public cloud. The inter-cloud message that they had, they confused the service providers, they, we didn't understand how they played with the hyper scale players and now they're understanding where they sit. SD-WAN, critically important. Where they live in the data center and you know, interesting, we talk about the, do we care about the data center or do we care about where the data is centered? And of course, that is not in one place, but it is many places. We know customers today live in a multi-cloud world. How I get to my data, how I leverage my data is critically important and the networking and management is something that's critical across all those, so right, as you said, ACI and Hyperflex, the cloud center suite, I know is an area we're going to dig into a bunch this week because Cisco has an opportunity to play across these environments, but Cisco's been trying for a long time to be the manager of managers in these environments. I mean, I think back to things Dave Vellante and the Wikibon team and I have done for years talking about, you know, how do you manage in this heterogeneous world and it's just instead of multi-vendor, we're now talking multi-cloud. And you know what, everything's coming together. Dave, we've been covering Cisco, we're looking at the timing of the positioning. It seems to be coming together and around the rebranding, which by the way, I agree with Stu, I like it. The bridge tomorrow, it resonates with me, maybe because I'm from the Bay Area, but they're bridging two worlds, they're bridging on-premises and cloud together in a very seamless way, in an elegant way, architecturally, so the branding ties in with really much a rounding out of the portfolio, so a lot of storylines to follow. The new branding, Chuck Robbins getting his C-legs now as Cisco goes to the next level and clearly they see multi-cloud as their positioning because this has been Cisco's core positioning for many, many years, this idea of enabling other people to do innovation, whether it's applications and workloads, now they're connecting two worlds, your thoughts on the timing and their positions vis-a-vis the industry. Well, Cisco talked this morning in the keynote about another bridge. On one side of the network is users and devices, on the other side of the network are applications and data and we've talked for years about how the network is flattening and traffic's going east-west, et cetera, but inter-clouding, if you will, puts increased pressure on that and it's clearly Cisco's strategy to be the best at connecting whether it's on-prem and public clouds or between public clouds. Cisco's got to make the case that on our networks you're going to be higher performance and more secure and that's certainly what they're implying. They're also making a big transition from being a hardware company to a software company. When you listen to VMware talk about Cisco, they talk about, oh, they make the best hardware, the best switches and Cisco's like, they're talking software capabilities across the network, new architectures reinventing, you know, coming at it from the network which is obviously their strong point and it just really sets up an interesting competitive dynamic between Cisco, certainly VMware who's trying to do to networking and storage what it did to servers and now you've got IBM and Red Hat coming at it from applications and the development perspective. We're here in the DevNet zone and I think that's the other piece of the announcements that we're hearing today is developers can actually program with things like IoT and new use cases so pretty exciting times. Stu, story lines around the data center you made the comment, there was kind of a play on words on the keynote data is centered, so center dash ed, centered. So the data center concept is moving into data being centered, the value proposition. This has been interesting because if you look at what DevNet has spawned and DevNet create under Susie Wee's leadership, you saw the role of APIs. So if data moves around the network and that's the core competency of Cisco moving packets from point A to point B, adding automation, adding intelligence with intent-based networking and cloud enabling it on the other side, you got to have access to the data. The data's got to be traversing and inter-offering with multiple environments. This is now a architectural standard. Is Cisco from a product portfolio standpoint whether it's security analytics, cloud apps, management, IoT and networking, does it all come together, your thoughts? Yeah, so first of all, Cisco plays in a lot of these environments. We talk not just data center but when you talk about branch office, something Cisco's been doing a really long time and how do I network between all of those remote locations and my central location and my central location might not be the data center, it might be A or multiple public clouds out there. So Cisco's been attacking this back when optimization many years ago. SD-WAN really has taken that and much more super important when we talk about that this multi-cloud environment and how I get that connectivity, so they're there. And Cisco from the ground up has gone through a lot of rebuilds. So the cloud center suite that we talk about, microservices architecture built with Kubernetes into that API economy that we're talking about which is a lot of what we talk about here in the DevNet zone. So absolutely Cisco has, they're known in the space, they have a lot of the skills, they have a very broad platform of products out there. David Gechler this morning, he's just reeling off all the different areas they play to and saying, we've got like 6,000 people in the opening keynote. He's like, I came and looked at this room and I've got like four X the amount of engineers working on your networking security issues that we're here. It's like 24,000 people, it's an army. There's very few companies, outside of Google, Amazon and Microsoft that can call on that engineering strength and that's just the internal piece. What we love, we talked to Susie Wey and she's like, we've got 500,000 on our community platforms helping to build. IT, OT, IOT, all the network, all the security pieces. So Cisco is not new to a lot of these but is refocused on a lot of what they are doing. So the big news obviously is the ACI anywhere and HyperFlex anywhere and putting the data center connecting those two worlds, you got the cloud as well. So the role of hyper convergence is certainly key in this announcement here today. ACI application centric infrastructure is just code words for policy based intent based networking, all the stuff that Cisco is used to doing. Then when you connect it to the cloud, you've got data center, on-premises, cloud and then hyper convergence at the edge. This is the core, right? They got the edge, multiple environments. You got cloud and you got the data center and a legacy environment which is evolving. Those are all coming together. Stu, what is the, what, this is a cross domain challenge. Is Cisco prepared? David, love to get your comments on this as well. To be that cross domain vendor because multi-cloud truly will require data to be moving around policies to be automated and deployed across domains. This is a huge challenge. Yeah, I mean, John, it is challenging. And if you look at the hyper-converged infrastructure space where Cisco plays with HyperFlex, goes up against VMware, VSAN, Nutanix and the rest there, the people that sell that and build that, aren't necessarily the ones that really understand multi-cloud. And we've seen that space maturing for the last couple of years. Obviously Cisco's got a right to be at the table there and they're moving that direction but to the data center folks and they are data center folks that have done networking and storage and all that beast. Are they getting trained up and helping to help bridge to that multi-cloud environment? I think there's still a lot of work to go when I talk to the channel, when I talk to the people that are out there going to market on that. Well, that's the big challenge is how do you move the base? How do you get them from point A to point B without spending a billion dollars? You heard Gordon today stand up there and say, you got to change now. And he admitted, anytime somebody tells me I have to change, I kind of get defensive about it. But some of the things that I, well obviously this end-to-end architecture, they're in a position in theory anyway to do that. What choice do they have? A couple of things that struck me is they've got a new consumption model, a SaaS based consumption model. They also announced four validated designs for OT, for IoT apps, which that's good to see some actually meet on that bone. They got like utility substations and mining operations and fleet management. I mean, it's stuff that you wouldn't traditionally think about coming from a data center company. So they're making some moves that I think are substantive and necessary. Well, I took some notes there. I wanted to get your comments on this guys, because to me, this is the core news here, is that Cisco is truly trying to put that end-to-end architecture around cross domains. You're seeing their core data center business continue to be robust. That's their bread and butter. You got the edge that's developing nicely with IoT and enterprise edge and other places around campus. Then you get multi-class. You got the three-legged stool. Core data center, multi-cloud and edge. Does this address the industry's demand for apps changing, workloads being distributed, and then management across these multiple domains or multi-cloud, because you got to manage this stuff. So cost to ownership, these are now the table stakes. Your thoughts on those three areas, Stu. Core data center, multi-cloud and edge. Yeah, I mean, we've been talking about for the last year, the move from hardware to software is not an easy one. There are things they need to change for their product. They need to change how their field handles it, the whole, the compensation and how they support their channel is super challenging. At VMworld last year, we really highlighted how that inter-cloud networking, what a critical piece it was. I was so excited that the original vision of what NYSERA had pre-acquisition was starting to come out there, because VMware's coming after Cisco in that manner. Cisco, not like they're trying to create hypervisors, they're going to live in all those worlds, but there definitely is some conflict there and something I always look at. Cisco's got a gigantic ecosystem. They have hundreds of thousands of certified Cisco engineers and they've got a great ecosystem here. And a strong channel. And a strong channel. Right, they go to market partners as well as the technology partners and they're still strong. We're going to have on this week a lot of those players here, but that change is something that is tough to go through. And it's this journey that they're on. Well, this day brought up consumption. I want to dig into the consumption piece because how people consume the cloud obviously means they got to stand up the cloud too, multi-cloud. Cisco's clearly got Azure, AWS, and Google Cloud. Google seems to be a strategic partner as well as Amazon and Azure, but I think Google kind of feels like there's more strategic alliance there. I'm just speculating from my opinion. But if I'm a Cisco customer, it's pretty easy now to go multi-cloud. I don't need to do a lot of things differently. The question is, how do I manage it? What's the cost? How do I consume it? This is going to be critical, your thoughts. Well, so Cisco's claiming they're going to abstract that complexity and whatever APIs and software infrastructure or infrastructures of service that you're using, they're going to make that simplify that and allow you to have a single management console. So as I said before, they're coming at it from a networking perspective. You know, VMware is coming at it from the traditional hypervisor and trying to elbow its way into the networking and storage space. And then as I said, you've got other companies like IBM and Red Hat now coming at it from the application space and Kubernetes is obviously an important role there. I think personally, I think that networking is a right place, a good place to come from. The problem for customers is still going to be complexity because the cloud providers are going to have their own management framework. Obviously, vSphere is a big player here.  On the IBM Red Hat combination. Right, and so I don't foresee a day where you're going to have one single pane of glass we never had in this industry. It's always been nirvana. And so then it comes down to Cisco getting its fair share. I think Cisco's in a very good position to get its fair share for the reasons that Stu just mentioned. Stu, so I want to get your thoughts about we're in the DevNet zone. That's where theCUBE is. Our second year at Cisco Live will be at the North America show again this year. It's on the schedule, but the role of the developer, the role of infrastructure as code now is in place, actually happening within Cisco's customer base. So if you're a Cisco customer, you're looking at this saying, okay, I've been running the Cisco network, I have all the portfolio of services. What is the role of the network engineer? Is there a renaissance coming? We said this last year, I kind of see it happening here. The network is now the computer, network is the data. This is a great opportunity for Cisco. Your thoughts on the culture of the Cisco customer base and that vibe of infrastructure as code. Yeah, so John, I used to bristle a little bit when you said, well, we're going to turn all the network engineers and they're going to become coders. And I said, well, I know a lot of network engineers and some of them love and thrive that, but a lot of them, they're in the CLI, they're doing their thing. If you go walk around this DevNet zone, a lot of the stuff that's happening isn't networking. They are builders. This reminds me of going to AWS re-invent and talking about people, here are the tools and the skills that you need to have to be a builder. And absolutely, networking is a part of it. That management orchestration, security, all things that touch into the network, but it's not, oh, how do I manage my network switch better? Which was kind of the hardware focus view and maybe code this, but it really is how my building APIs, how my leveraging things. I've got IoT demos out there and it's networking is in there but it's not necessarily the thing. And so therefore you've got this wave of developers and builders. And John, we know that's the future is you need to be a builder. How can you create faster? Things like serverless or moving that direction where I don't need, it's less about the coding, it's more about my application, my data and my building. You bring up a great point, student. This is something that I always point to when I look at who's kind of BSing the marketplace in terms of speeds and feeds or announcements. When you see people actually coding and being enabled to do some great value, you start to see that's a good signal. And here in the DevNet zone, so four or five demos that were writing software and apps to take advantage of the hardware, take advantage of the network. So now the network is enabling through APIs to extend the data. This is kind of changing the concept of how packets would move around the network. So this is truly a tell sign in my opinion of the modern infrastructure. The question is Dave, how fast will the customers migrate to being true DevOps or infrastructure as code, customers writing apps, building new things to create that value? Well, I would say this, that of all the sort of traditional, large scale, column, whatever, legacy, enterprise, data setter companies, I think Cisco's the only one that I can really point to that has kind of got developers right. I mean, IBM, Blue Mix, Start, Stop. Remember the EMC code initiative? That was kind of a joke. And so Oracle owns Java and it still sort of struggles with developers. So I think Cisco got it right and I think the reason they got it right is because they're focused.  They're not trying to be all things to all people, even though you could forecast that they're sort of headed in that direction, but they're starting from a position of strength. Well, you made a good point. The Success and Failure developer programs about creating an environment where it's compatible with how their expectations are, microservices, containers, these abstraction layers that they're used to dealing with create value. Developers love that. The other thing I would say is that as developers look at what they can do, the world's changed. It used to be the network used to dictate what can happen to applications. Now applications need to program the network. I think this was a shift we saw with DevNet Create and DevNet two years ago where they started moving from the command line interface to more of software abstractions or application interfaces where, say, hey, you know, let's just do more with the network. So applications now require programmability. This is the shift. It's upside down from what it was when the industry started. So this new bridge has to be application-centric. And to me, that's what I get out of the cloud announcement around multi-cloud.  They've got StealthWatch, Tetration. That's SaaS, Analytics, AppDynamics, among other things, Data Center, Hyperflex, UCS, Nexus, all lined up. Cloud Center, Container Platform on multiple clouds, IoT, Kinetic, VEdge, Meraki, Cloud Services Router. This is now a portfolio. They got the products, too. Absolutely, John. Okay, guys, we're going to have a great day, three days of wall-to-wall coverage. You can get off here in Barcelona. Stay with us for more coverage here at Cisco Live. That's the queue. We'll be right back.


As you can see, my name is Mentor Stepan and now I'm working in Grapp and also I'm an organizer of Kotlin Singapore user group.  Today we will talk about Kotlin native. So before we start, if you have a notebook and want to try the samples, I will show you. Please install IntelliJ, CI and NLJS or at least IntelliJ or CI. So in this case, you will be able to run some samples and try Kotlin native by yourself. I will talk about Kotlin, so some things were already covered, but not everything. Kotlin is not just a language. It's already a pretty huge platform that supports JVM JavaScript and LVM compilation. Basically that means that you could use Kotlin to write almost any kind of app possible from the JVM applications that will run on servers to Android applications, iOS and embedded systems. So far, as a platform, Kotlin have language, these compilers I just talked about. Also it have an option to interact with Java code as well as C code, Objective C and in the latest version of Kotlin native you could even access some Swift object and methods. As a platform it has a lot of IDE plugins. This was already covered in previous talk. All these IDE plugins help you a lot with writing new Kotlin code and there is Kotlin annotation processor and many, many more pretty cool tools that will allow you to write your Kotlin code faster and with better quality. So yeah. Kotlin is not limited by these areas. It also runs on, you could compile Kotlin code to run on WebAssembly which is like new technologies for browser which will allow you to run apps in browser with native performance. And as a good addition, Gradle also supports Kotlin right now so for those who don't know what is Gradle, Gradle is a pretty powerful build system. So to build large applications, simple compilation not enough anymore and especially on big projects you need a lot of tooling around that and Gradle allow you to do that with Kotlin of course. Yeah. So a bit of spoilers. I will be talking about Kotlin native today and it's not officially released yet. It's still the early pre-alpha stage. Things that works already, it's stable but still API could change and many of the things that accessible in Kotlin for GVM and Kotlin.js is not available for Kotlin native yet. Kotlin native it's like a platform that will allow you to build Kotlin code using LLVM compiler. LLVM it's so-called low-level virtual machine that used to compile languages like C, C++, Rust and many others. What it does, it translates your code into very low-level representation and then there is a compiler for every platform including Windows, Linux, iOS and even Android that will allow to compile this intermediate representation to the native binaries for the particular platform. What it means in simple words, it just means your code will be running very fast and almost everywhere. One more benefit of Kotlin native is that since Kotlin already supports a lot of platforms it's kind of natural that you could share the code between them. For example, on the latest Kotlin Conf there was a Kotlin Conf app that actually used Kotlin for virtually everything. There is an iOS application written in Kotlin, there is Android application written in Kotlin. There is a backend server that also written in Kotlin and the web app that written in Kotlin as well and later translated to JavaScript. This is kind of a structure of this project. You will have a common module that contains Kotlin code that is shared across these platforms. It basically means that if you need to write web, Android, backend and iOS you need to write code that is necessary for all these platforms, only once.  Of course not 75% for now because you still need to set up the tooling and fight some nasty bugs. But yeah, guys is working pretty hard on that and so far I think it's one of the few, if not the only one platform that allows you to do that. Now I will be running some demo, a bit of spoilers. This demo could not fully work, as I said it's still like very early stage, but I will try my best to show it to you. Okay, yeah let me show you the GitHub page, yes. Basically this is the project that I was just talking about. This is the Kotlin Conf app, it's fully open sourced. As you can see here, this is Android, backend, JavaScript, iOS, web models that you could run. If you want to play with that, just go to this GitHub page, GitHub slash JetBrains slash Kotlin Conf dash app and give it a try. As you can see I already did that, so I have this project right here. So now we will try to launch it. Let's start with Android maybe and see if it will work. While I'm launching Android app, I will also launch the web app as well. So the web application ran on the Node.js and also I will run the backend. So you could notice here to build this project, I use Gradle. For the Kotlin native you could use two build systems that currently support you now. One of it is Gradle and the second one is the CMake files. So if you really want to use that, you will need to choose between Gradle and CMake. I would recommend it to use Gradle for the project that already use Gradle or doesn't use any build tools yet. For the CMake, it would be projects that already use something like CC++ or other native languages because the CMake provides you the better compatibility with the C++ environment. So now the backend is running and I'm trying once again to run our web server. Yay, it's working now. See this application, it's just a small app that shows you schedule of talks on Kotlin conference. The conference has sent it already and this example wasn't updated for around like 5 months. But still, this whole web application was written in Kotlin. We could go through the source code a little bit. So I will not go into details of how it's done. The thing is, there is already a lot of libraries for Kotlin JVM and Kotlin web. Not so much for Kotlin native yet because it's not released. So you could use all these libraries and even Java libraries and JavaScript libraries to create your Kotlin applications. Here for example, this is a Java backend. But if we go into the web, we could see here this web application was built using Node.js and here we could see some React wrappers on top of JavaScript that allows Kotlin to use React APIs to build this UI. And yeah, basically that's it. So if you want to save your lot of time by sharing the business logic and some pieces of code between JVM and JavaScript, you could do that already. It's already supported and working 100% stable. All the features that accessible on a JVM, most of them accessible on the JavaScript, the only difference would be this standard library is a bit different. Kotlin has pretty good compatibility with Java. It will have all the Java, all the JDK compatibilities in there. But for JavaScript it's not true. And if you use some Java code, you need to make sure you only use Kotlin standard library functions or you know how to implement the same thing in JavaScript. It should be pretty simple and I know a lot of people who are already doing that, including the guys who develop Kotlin. So for now they're building the IntelliJ IDE using Kotlin, all the websites that they launch, like new ones, using Kotlin as well. And yeah, the only problem remains is that how you will structure your code in the way that you could really reuse these parts. So this is why structure looks like this complex. Because these three models, common, common JVM and common JS, it's the containers for reusable code. So you need to know how you really want to reuse it and you need to make sure that this code is reusable, which for many projects from my experience is not true. Mostly developers don't think about reusability and just would worry about working in there, copying from Stack Overflow. So yeah, let's try to launch the Android app. For those of you who are not familiar with Android development, this is an IntelliJ plugin that supports developing Android apps. In this plugin you could create the Android emulator, which is basically kind of mobile phone on your desktop device. It emulates a lot of mobile phone functions, including calls, GPS, Bluetooth, and things like that. So we're launching that. You can drag it from the bottom bezel. Yeah, yeah, yeah. The bottom bezel, yeah, you can drag it from there. Oh, they changed it. Nice. Thank you, man. I haven't used the simulators for a long time already. OK, now what we'll try to do is we'll terminate our servers using Gradle. We'll just try to compile and install it. We actually just did that. We installed Kotlin application that used code shared across many platforms to our emulator. OK, where is it? Yes, this is it. So it's pretty nice looking application, I could say. You could expect all these fancy Android animations and all native Android components, including all frameworks that are accessible to Java. It's also accessible to Kotlin. So yeah, I wish I could show you the iOS application, but for some reason I can't build that. So this was expected. Since the technology is not in production yet, let me try once again. Still not working. Sorry for that, guys. But I hope if you will try it on your own and you have a bit of experience with iOS, which I don't, you could fix this nasty errors and try it myself. It would look very close to this application, but with all the iOS native components and things like that. The thing with Kotlin that, unlike other languages that try to be cross-platform and, for example, React Native that allows you to use JavaScript and allow you to use the single code base that built applications for Android and iOS, approach taking by Kotlin is a bit different. You actually, you can use single code base, but for now it would be like pretty tough and you need to do a lot of groundwork to do that. But the main idea is to integrate with existing ecosystems. For example, if you use Kotlin for the JavaScript apps, you will be using Node.js and NPM to get the libraries. And then you could use it from Kotlin. You will not have some cross-platform libraries. But yeah, of course, there would be. It's possible to do. But it's not the official proposed way, I would say. So far since Android is pretty young, so it was first, like alpha version was released around 2012. But still, like for technology, this thing that covers this many platforms, it's very early stage, I could say. And integration with existing ecosystems, for me, looks like a very good strategy. Because you don't need to build every single new library on your own. You could just go and use what's already there. And this is why you're able to just introduce Kotlin, for example, in Java project, piece by piece, like rewriting, maybe one, two files. And it's still working. Same would work for JavaScript. If you have a big JavaScript project and you want to use Kotlin, it will work that way. You will get a few Kotlin files, put in your project, modify, build script a little bit to support Kotlin, and you're done. You could write your apps and slowly, if you will like it, you'll transition to Kotlin. If you don't, you just remove the files. But I don't suggest that. Kotlin is very good. OK, so how many of you have the laptops? Any writing this demos? OK. OK, no worries. Yeah. The purpose of this talk was to build something simple using the Kotlin native. But I think we will not go this way now. And what I could do, I could show you some simple projects that will give you some perception of what the options you have using Kotlin native. I will use Cline IDE. It's very similar to IntelliJ or Android Studio. It built using the same IntelliJ platform and provide to you the same amount of cool shortcuts, auto-completion, refactoring that makes your life much easier as a developer. Here, I want to show you one of the samples. Actually, the few samples. First would be C URL. How many of you use C URL in your console? Nice. So basically, this is the C library that also sometimes distributed as a binary to allow you to execute some HTTP calls from your console. And this project is basically serial wrapped by Kotlin. It demonstrates how you could use existing C libraries from your Kotlin native application. The first thing to do is to download Cline. Of course, you could do it manually just using console tools. But yeah, so far I can't recommend that because documentation is pretty bad and in many places it's just missing. So it's pretty hard to figure out how to do it unless you want to read source codes or pistols. Yeah, really get into that a little bit. The basic idea is there is a tool that generates Kotlin APIs for your C libraries. This called Cintera. What we need to do first is we know the library. We want to have in our Kotlin native project and we go and create this .dev file. .dev file will describe the headers that we want to use in Kotlin application. Here, for example, we want to use serial headers. This is some more complex option for that that allow you to propose some path where the serial library currently plays and the platform that you want to use for this library. So after we did that, we could create CMake file. What we'll add in there? We'll add the Cintera structure here that will describe it. OK, now we have this .dev file and we want this .dev file really to be executed by Cintera tool and do new edges binding for us. We could apply some compiler options here as well. Then, using Conan C executable, we'll define our project. So for our definition, it's pretty simple. We have a name, we have our sources address, we just a directory name here, project c URL. We define the libraries that we'll use and again, some options for the compiler. After we did that, we will have this import libc URL that will actually lead us to all these automatically generated Kotlin bindings. So this is kind of headers, but for Kotlin and it translated from the C header. We could access any global variables defined here and any C functions. And if you have already experienced this Kotlin, these definitions would look super weird. This is because Kotlin, originally, it's very high level language. It doesn't allow you to work directly with your memory to interact with pointers, to cast value to the pointer and things like that. It's just prohibited for Java and even not possible in JavaScript. But here, what the main challenge was, it's to allow Kotlin to do this low level operations. And yeah, I hope someday there will be a lot of high level libraries for interaction with new libraries in Kotlin native, but it's not there yet. And if you will use Kotlin native, you need to prepare to know everything about C, which I don't. So yeah, but it doesn't stop me from giving you this stuff today. Yeah, the main trick here is to really find the piece of C code and try to convert it one-to-one in Kotlin. So this is not an example of conversion, but more an example of how you will create Kotlin APIs for some library written in C. Yeah, and here is the definition of these APIs. I will not go into that because for me, it doesn't make any sense. So if I want to use some high level library, I'll just use the Kotlin JVM. But yeah, here what's happening is that we create our APIs and we just call it here. And yeah, I'm not sure how this APIs is structured in CURL, but here we see pretty nice, very close to Java looking code that will allow us to use CURL. But if we will go to our next example, which is some simple socket server, we will see there is a lot of magic in here. First thing we will notice is what we really have to do in C is some function called initSockets. But to be honest, I can't call this a function. It's more like a procedure. But in Kotlin, there is no procedure, so everything you will call will be functions. We need to initSockets, which do some like black magic underneath some memory mapping and things like that. That will allow us then to use this pretty interesting, I could say, declaration called lambscope. For Kotlin JVM and for Kotlin JavaScript, there is automatic memory management and the garbage collection. It means that you don't need to care about how you allocate your memory and how you free memory allocated after that. All the objects will be garbage collected for you. If you don't need that, garbage collector will go and just read this memory. But for Kotlin native, since it's a really early stage, there is only one option available for now. And it's manual memory management. You will need to really go into depth of how the memory is managed in low-level libraries and really understand how this low-level libraries works, which again, I don't. So it's nice to have this lambscoped declaration that will automatically deallocate all allocated memory at the end of these curly braces. So yeah, pretty nice. And also, as you can see here, the code completion, it's a bit broken. This is my fault because I kind of created a project structure that's not really supported for the CLAN yet. Basically, this is a three separate project for a purpose of demonstration. But CLAN supports only one of them. Hopefully, I still could compile that. But as a side effect, it keep telling me that this code is not valid, which is not true. So in this example, what we'll do, we'll use default C APIs for the available for Linux and OS X to open the socket and start listening to that. And yeah, what we'll do, first we'll create a socket here with some magic flags, I could say. Then we will call some magic functions again. The thing is, what we care about is this bind, listen, and accept procedures we will call. So this sequence of calls telling us that, OK, this is the socket server. We will allocate the socket, and nobody else will be able to do that anymore. So we'll just keep listening to the messages. Then, again, using some magic calls that I will probably explain later, we'll just receive some message and send it back using this send calls. And yeah, we could actually see how it works right now. I already compiled this project, and fortunately, it compiles unlike the projects for iOS. I could launch my ECO server. And using the separate console, I could use telnet, yes, telnet console 2, that basically is pretty simple. What it does, it sends the message to the socket you specify. In our case, it's like 4,000. You could put here, hello, and we see the response. And also, here, we could see that we received this message. It took me a few hours to figure out how to convert row bytes into string in Kotlin native. But yeah, I think it worked. So the guys actually plan to release Kotlin native by the end of this year. And I hope they will cover many standard library functions that are already available for Kotlin JavaScript. But now, to do some simple operation that you used to do pretty easily in Java, in Kotlin native could be pretty hard. But it could be pretty easy as well. But yeah, most likely pretty hard. What we could also try to do, and is there any one who have a lot of experience with C? Oh, then you could help me. Because I can't launch this next application that's supposed to emulate telnet. For some reason, I'm getting a segmentation for every time I do something. And since I don't have much experience with C, for me it's pretty hard to figure out how to fix that. So yeah, what else I have here? If you're really interested to know really how it works, you could also refer this GitHub page with Kotlin native samples. There is a lot of them. And you could find all things that works for now including native duties in Kotlin, GTK bindings, HTML5, even OpenGL, and Windows 32 bindings. But to be able to compile that, you will need to spend a lot of time for now. So what I'm thinking about here now is that it would show you a little bit of cool thing that you could do in Kotlin. Possibly in future, it would be available in Kotlin native. To do that, you could actually use two things. There is a very good site called TryKotlin. TryKotlinLounge.org, yeah, this one. For those of you who don't want to install these IDs and just want to try Kotlin, this is a pretty good place to start. There is also a lot of examples that you could compile for JVM or the JavaScript. And yeah, you could do your first month of Kotlin only using this tool. But if you want some more advanced code completion and some fancy stuff, you could use RedoLA PrintLoop console here in IntelliJ IDE. Or if you have Android Studio, you could use Android Studio for that. It's also available in there. Here, you could experiment. I even use it on real projects because this is a very fast way of prototyping. And in this console, all the classes you use in your project is available. So for example here, let's see what we have in Kotlin application. Nothing much. But if we will add some library in there, we could just call it from this console. And let's say we want to create some function, like simple one. Enter the presentation mode, switch to Android. As you remember from the previous talk, Kotlin is very smart. And here, even in so basic example, we see very interesting things that not available for Java. Here, the type is automatically inferred. And even in IDE, it will just show you the hint for you to understand what's going on faster. Sometimes when you have inferred type and then you call some function and type again inferred and again inferred, it's pretty easy to lose the track of what object you have. But IDE, again, is very smart and it just helps you with that. Here, we see this is hello string. And the moment I change it to length, it said, OK, that's int right now. So it's pretty close to dynamic languages, but it's still statically typed and it still do a lot of work for you and catch tons of errors. Now we could just call this function. Yeah. Hello. What else we could do? How many of you are familiar with functional programming? So Kotlin, such a cool language is that it supports a lot of different paradigms. You could write your entire app using procedure style. You could have a high-level function. It will call another high-level function. And basically, that's it. In this case, we'll still call it function because in Kotlin, we only have function. But in reality, it would be like procedures. Also, you could use object-oriented programming. You could create objects, create properties for that, add some business logic, and yeah. This is what most of the people do. And what some of the people do, and now this, I could say, style of programming became more and more popular, it's to use functional programming in your apps. You could do it in Java as well, not so easy, but still a lot of functional concepts you still could implement and use. And it will work for all applications. Backend, Android, desktop, or even if you run Java on embedded systems, it will also work. So in Kotlin, there is a lot of tools that will allow you to do this functional programming easier. Let's say we have the same, like, A function. And what we could do is we could create some function B, for example. And this function B will accept the reference to the function A. So why we want to do that? This doesn't seem to make any sense. But more you use it, it starts to get more and more sense. Same as object-oriented programming. Once you started, you're like, oh, why do you need this object? Because I just could run some simple procedure, it will do the same thing. But here the interesting thing that we could do, for example, we want to call it 10 times. And this is another pretty cool Kotlin feature called ranges. So basically, if you want to get some numbers from 1 to 10, it's just a two-dots operator that will create a range for us. And then we could call this function we provide here like 10 times. Why is it working? Looks like some issue with this one. Now, when we have A and B functions, we could call B function and pass function A in there. Function A returns string. This is why static typing is good. In JavaScript, I could never even notice this error. OK, now we updated our B function and call A function again. We call B function and pass the A function there. So this is, I call it four dots. It's not very usable, right? Replace. This is four dots operator that basically translates our function to the function reference. And this is something you could do in Java as well. And this concept also available in JavaScript. And in Kotlin native, you could also do that, which you can't in C. So that's why you could think, OK, I will just get a C library, create the Kotlin wrapper around these APIs, and then use some fancy functional stuff with these nasty procedure calls. So and now, once we call it, and this is one more cool Kotlin feature that you could use like extension functions like let that will allow you to do some chain calls. In Java, if you want to pass some variable in one method and then pass the result of this method to another method, what do you usually do? For each line, you create a variable, assign the result of call to this variable, then do it again and again, maybe five, 10 times sometimes. And in Kotlin, there is a ways to avoid that. So basically, instead of doing something like this, print and pass their function result, I could call let and put print in there. And this is more natural because I execute function first, and only then I print it. But when you try to write this code in all object-oriented or procedure style, you should do it in reverse. So you basically need to know what you will do last and put this last operation first, and then you will be allowed to do that. And it doesn't really help to better understand your code. But in Kotlin, you could do the opposite. You could chain your calls in the way you intend to do it, not like you force by language. So here, we will call the function, get the result, and then we just print it. Yay, finally it works. So yeah, this is one of the reasons I really like Kotlin. And one of the reasons why I organized this Kotlin user group community here in Singapore is because I really believe that this language makes your life as a developer easier. And it allows you to do things that is more logical. And I could say, more natural for you, not like Java that forced you to do the only way possible. And in Kotlin, much more things is possible. And this is for a developer that makes your day-to-day job more interesting, since you find new and new ways of get better in how you do things. So we basically covered extension functions and what else, ranges, function references, things like that. Another pretty cool feature of Kotlin is, let me clear this, is sealed classes. And this is not the thing you will immediately start to use because it's cool. It's the thing that you will start to use when you feel that you need it. And sometimes something bad should happen that you will say, OK, I should be using that. So I prefer just to use sealed classes to not be cashed by this kind of person. So what is sealed classes? It's some concept that's pretty similar to enums, but it's much more powerful in a way that you could define much more things. Enums, it's very restricted. And many times I catch myself that, OK, in Java, in this case, it would be pretty good to use enums. But for some reason, I can't really do that because I need to extend some class or some other issue that I can't really fix because language not allow me to do that. In Kotlin, you could use sealed classes. And what it means, basically, you create the class and create a few other classes that inherit this class. But that's it. You restrict another pieces of code to be able to extend these classes. And this is pretty important for a few reasons. First, you see that, OK, all the inheritors of this class in the same file. And it could be only here. And I really could see what these classes intend to do. And second one, it allow you to do some additional checks on top of the static code analysis that done by compiler. I will show you what does it mean. Let's say we have some sealed class, let's say Action. And yeah, in Kotlin, that's it. This is the real class. In Java, it should be like Epsor class with single constructor. And that's it. In Kotlin, you don't even need to declare anything else. So the syntax is very simple and clean. Now, what we will do? We will create some classes that extend this action. Let's say, log in, and we will make them objects to make it more like enums. Let's say we have a simple application. And on the first page, you have log in and exit actions. And this is it. We create our sealed class. And now what we could do? We could make a processor for the sections. And as you could see here, the biggest difference from Java is the ordering. So you first write a name of your variable, and then you write the type of it. So this is done because of the type inference. And most of the time, you don't even need to write this part. So this is why it came last, to allow you to avoid it. Inside this process, what we'll actually do? We'll get some result variable. And this result variable we will get from when expression. So when expression is a very powerful thing, it's something similar to switch cases in Java. But when we use it with sealed class, it allows us to do a very interesting thing. Let's say, now we have an action we want to compare it with login. You don't have to write this like action.login, but inside this console, it's only work this way. This looks pretty similar to Java. But the interesting thing is, since we use this sealed class, in the moment, you will add new action here. Switch user, you will immediately see that this code is no longer valid. So what happened that we added more safety checks using Kotlin language features? In Java, to do something like this, you will have to use enums. But let's say action have some field. Immediately, all the actions here will need to implement this. We'll just put it empty one. And this behavior is no longer possible in enums, because enums can't extend existing classes. So for this, we could possibly say, OK, I could create enum and then pass to every enum some value in the constructor. But if we want to do something more complex, it would be not possible. But here, you're not limited by any limitations of the enums. And like using these actions, you would say, OK, login also have something like, here, the interesting thing I could do is that I could declare some of actions as classes and some of actions as objects. And it will still work. And all these type checks would be done as well, which, again, not really possible with enums. So here, I still have this error. It said, OK, you captured only two of three possible actions. You'll have to add one more. And why it's important, because especially on a big project where when you change some very basic stuff that used to build a lot of more complex things in a project, these kind of switches usually, in Java, have a default case or like some, yeah, basically that's it. Or if you use some if-else branches. And the moment you add something in some basic object, you will not have any errors. And the only way for you is just to search across all the project and fix all the things you find and hope that nobody else will raise some PR where this case will not be handled. And sealed classes allows you to avoid these kind of errors when you need to change something across all the project but you forgot to do it in a few places. Here, it would be the compilation error. So until you fix that possible errors, you will not be able to compile the project. And this is a pretty powerful thing. When you will use Kotlin, please use it. It will save you a lot of time. Another interesting feature of Kotlin is Lambda with receivers. So what does it mean? This concept is not available from Java or JavaScript but do available in a few other languages. And I will show you how you could use that. Let's say we have some string buffer. The code completion will not work, but believe me, it has this append function. And we could append many different things. And this is how I usually do it in Java. We just copy code somewhere in there. The moment we build that, we will get this string. But for me, it seems like a lot of duplicates code. How we could fix the Kotlin? And many of my colleagues would say, why do you need to fix that? I used to do it in Java for the last 15 years. What a point. But still in Kotlin, you could save some time and amount of operations you need to do by using Lambda with receivers. So how it will work? We will call some Kotlin function called apply. And what this function does, inside this function, we will basically, I could say, switch the context. And inside apply, now code behave like we are inside this builder class, which in Java it's not quite possible. But here it means that this is our builder. And we could avoid using this inside apply. What we will do, I'll just copy this code and just remove our builder.strengths. This is still red, but believe me, it will work. As you can see, result is the same. But what happened is we saved us a lot of boole plate, I could say, which doesn't seem like boole plate. But once you start, use Kotlin and start use functions like apply or we could replace it with run, for example, you will see that you could really save a lot of code. And it doesn't seem like a big win. But believe me, during the code review, you will appreciate that. Because here, now it's much simpler to understand. Example again is very simple, but sometimes we have something like, I don't know, in Android, for example, context.resources. What else? Let's say, getStream, yeah, it would be, obviously it would be getStream. And when you see this thing copied like few times, right? And inside some function like set, let's say, userInfo. And this is looks ugly. What many of developers will do, just extract this into some like variable, let's say like boole.resources. Give it some short name, so nobody else could figure it out later. And then replace this with resources. But it still looks ugly. It doesn't solve the main problem, right? So here, when we could eliminate even this, this is, again, much cleaner and much more enjoyable to see. OK, let me give you some bit more details about how it works. To make it work, what we need to do is actually to create our function. And here, we send this function, this set is a bit tricky. We could say, OK, we have StringBuilder. And after this dot, we put the type of lambda in there. So it basically means that this lambda will be executed in StringBuilder context, as we saw here, for example. And then we just create a StringBuilder. We'll just call function f with the StringBuilder as an argument. So even if we not have it here, we don't need to care about where it came from. This function will take care of it for us. Maybe you have some questions already, and I could figure out what to tell you about it. Yes? In the previous slide, you have the lambda. It was like, here, you mean? The CMake. Micro ESA intron, where is that macro now? This one? Yeah, this is, I could say, this is a cognitive extension for CMake, but I'm not sure if it sounds correct. But this is, like, from my limited understanding of how the native CMake works. So that means from the extant level, because I, for sure, I know those macro not the native CMake model. Yeah, yeah. So this is, like, Kotlin's CMake module, and I think it should have something to do with that. But probably all this definition is somewhere here. Yeah, I could be wrong, but it seems like that. So basically, here, if you're using Ciline and you create a new project and choose Kotlin, for example, with the Hello World, it will create all this structure for you, including Kotlin's CMake module, which I guess provides all these extensions to work with Kotlin native. Only C, probably, is possible, not with C++. Basically, with C++, this is a good question. Probably not yet, but if C++ library exposes C like APIs, it would be available. So I guess it depends on the type of header you provide. If this is a C++ library and C header, you will be able to get all this function. So basically, for Kotlin, it doesn't care. What happens to the standard library that Kotlin has? It's not available. It's available, but not fully. For example, if I'll try to do... Yeah, I could think about any particular example, but yeah, Kotlin native library is quite different from Kotlin's standard library for JavaScript and JVM. And the truth is that all these three libraries, it's quite different because, let's say, Kotlin standard library for JVM rely heavily on existing JavaScript APIs. And the Kotlin JavaScript library rely on existing JVM APIs and Kotlin JavaScript rely on JavaScript APIs. And sometimes it's pretty similar, and in this case, APIs for Kotlin standard library would be same, but in case API is very different, it would be, again, a different API for Kotlin standard library, yeah. But still, I guess it should be already at least a few libraries available that will unify this behavior, and you could use some functions that you built to extend these standard libraries to allow you to use the same APIs for the platforms. But from my experience, standard library for Kotlin native, it's the smallest one. And another difficulty, at least for me, since Kotlin native built to interrupt the C for every platform, you will be having like different, I could say, system libraries, right? Because for Windows, it would be like VIN32 and for OSX and Linux, it would be OSX. So APIs would be completely different. And so far, since it's very early stage, there is no, like, no libraries that will unify this. And I don't think it's even possible. As an example, if I had a Kotlin project in which I was using some extensions for, let's say, array-plarting or something, Kotlin standard library, and I then targeted the JS run, it's likely it'll not work because some of them are not there. Most likely it will work, because if your extensions using only standard library functions that available on both platforms, I mean, like functions and the classes, if it available on both platforms, your extensions will be, again, available on both platforms as well. Is that an express motivation for the JetBrains team to have the standard library on all platforms? Yeah, yeah. As far as I know, they're working pretty hard to really extend this standard library to the point where it would be very, very close on every platform they support it. Yes? I wanted to ask, like, a date around the Kotlin development. But the thing is, I can only write the business logic. You said it's cross-platform, right? So right now I can only write the business logic in Kotlin. For the UI part, I still have to write different set of codes. Yes, yes. Do you think there's a possibility that the UI part will be common as well? Let's see what we want. Yeah, yeah, it's actually possible. Since Kotlin native already have pretty good support of OpenGL, you could build, let's say, your own library for UI, and then it would be, like, cross-platform across Java, JavaScript, and native, since all the platforms now support OpenGL.  For Swift, it would be, I could say, pretty hard to achieve, because you will have to find, if you have to first, like, design the same API to be able to handle, like, every cases of particular view, like, for example, you have a button.


and we're on. We are on. Hi, everybody. Welcome. Welcome to our Facebook live. I am Peter Diaz. I'm the CEO of the WMHI. I'm here with Emmy Golding, Director of Psychology for the WMHI. And the reason for this live is because of World Mental Health Day. We know it's on the 10th of October. It fell on a Sunday this year, so we decided to do it a little bit later. October is also Mental Health Month in Australia and we do have a large number of clients in Australia, so we also wanted to give a little bit of value for Mental Health Month.  This year we thought we'd just do a bit of a moment to take stock and look at where is mental health now, October 2021. And we're going to look at the four biggest challenges facing workplaces right now. So let's dive straight in. Number one, and they're in no particular order. Number one is pandemic fatigue. So obviously, pandemic has been the biggest mental health event that I can think of probably in our history. And it has definitely brought more attention to mental health and workplace mental health with a lot of organizations already having done a little bit of activity in this place in the past, but others realizing that there's this whole area that needs to be addressed and having to figure out where do we start amidst all these changes and uncertainty. But at this point, we're what 18 months into pandemic and there is a sense I'm getting from many of the organizations that we work with around the world that we're sick of hearing about it. It's pandemic, fatigue, burnout. I wish I could just escape this whole thing, but it's everywhere you look. In reality, the reaction to the SARS virus has also created a shadow pandemic has been called a shadow pandemic in the area of mental health. We have a lot of anecdotal evidence of kids, teenagers, and not so young people as well going to the extreme. Some of them are actually suiciding. Although the data around the suicide and how bad the problem is, it's not yet clear. I think we still need more data coming in. In some areas, the suicide rate has stayed the same. In Australia overall, it has risen to 8.6 people a day.  It's very sad to hear that people have become so desperate. But you know, suicide is not the only measure of the mental health of people. We can also see the rates of depression, the rates of anxiety, and they have gone up to be expected. There's also that general collective feeling of not being able to determine one's life in a sense. We don't know what the new world will look like because definitely we're not going back to 2019. It doesn't look like that's going to happen. So how do we face 2021 or even better? How do we face 2022? And how will we meet that from a psychological perspective, from a mental health perspective, from the perspective of resilience? Are we going to be ready for it? And this is why we're having this life today to share some ideas of what we can do both as individuals, as parents, and as workers, as colleagues, and in workplaces. So if people are feeling that sense of burnout, fatigue, just being tired, you know, in the beginning it was this is something new, we're going to face it head on, we're going to rise to the challenges and we have, and people have worked really hard to adapt over time, but we're still here. So how do we get some of that motivation back? How do we deal with the fatigue and the fact that this is not been just two weeks or three months, it's been ongoing and it looks like it will continue at least, you know, in the various impacts of it will keep going on. So how do we manage that from a well-being perspective? Yeah, that's one aspect of it. Another aspect that I've seen reason that we also need to be able to manage is the fact that as we go on, as we get more tired and more exhausted, we tend to become a little bit impatient with each other, and especially when the media seems, some leaders, seem to be talking in such a way as to divide between us, you know, make each other enemies instead of friends, which we should be uniting under a common fold. So that's an important thing. How do we manage our anxiety? How do we manage fatigue in such a way that it allows us to be kinder and more compassionate to each other? We're still friends. We should be friends, all of us, and we should remember that. So that's one is remember to tap into that kindness and compassion. We've also spoken about the importance of just giving yourself a pandemic-free day from time to time, switch off from the news stream, the social media, etc., etc., just give yourself that break and focus on other things. Having something, a passion project that you can work on, that is completely unrelated to all this, and you can throw yourself into, whether it's the gardening or the writing, your biography or even a work project. You know, in workplaces, it can be about getting really excited about some particular work project. It can be a way to revert to our attention. We're not asking people to become delusional. I think the pandemic is over. I'm going to pretend that it doesn't exist. We're not saying that. What we're saying is, you don't have to be all the time with the pandemic theme and the cases and watching TV and completely overwhelm your senses on it. You don't have to do that. You can have a free day. You can have a free time throughout the day. You can choose when to put your phone down, your smartphone, switch off the news, the TV. You know, you don't need to be so informed about something that hasn't changed for 18 months, and it's not likely to change for the next two. So you can give it a rest and you can have a bit of a breather. It'll do your soul a bit of good. So challenge number two, managing anxieties of returning to the office or that flexible hybrid working conditions. And I'm really keen to hear if anyone wants to pop it in the chat, how many people are working from home? How many people are in the office? Or are you hybrid? The home office or mixed? Which way are you working? So that's, you know, obviously different locations are in different positions around that based on what the restrictions are in any one place. But that's been a big theme coming through from the organizations we work with is we're now having people starting to come back into the office. But there's anxiety about various parts of that about the obviously health and safety being one of them. But the fact that people have different degrees of risk tolerance. And so some are, you know, really, really quite strict around that for themselves and others are more flexible. So how do we manage that when we have teams? And wherever there is people, you know, I would be very interested to know, are you scared to go back to work? I mean, we talk about the office, but it's not the office. We're not just talking to white collar workers, talking to everybody that has to go return to work that hasn't been working before with other people. Is this is this scary to you? Is this terrifying? I know some people that are terrified of this, they're wearing two or three, not three, I haven't seen anybody with three masks. But I have seen people with two masks and a visor. You know, there's some very scared people out there, and they're suffering a lot.  So how are you coping? How is that happening? So that anxiety that is created, is your anxiety coming from other people that are not being so careful? Or is your anxiety coming from seeing other people that are being so careful? You know, there's different ways. But I think from a psychological perspective, what we know in psychology where there is an anxiety is basically we want to take small steps. And so that idea of greater exposure. So, you know, in order to do the things that we want to do in life, and then we need to take it one small step at a time with supports in place. So, you know, having all that protective gear, for example, if that makes you feel better, then that's that's a good thing to do it. But you've always got to sort of stretch your comfort zone a little bit, but not too much. And that's the challenge. Alongside of this, a great lot of respect for the diversity of where different people are at. Everyone has a different situation. People have different family and setups, etc. etc. So that's got to be our starting point. And also to remember, you know, the way to deal with anxiety is not avoiding the problem. So some people said, I'm anxious. I should never return to work until I'm not anxious. Well, actually doesn't work like that. Some of the best treatments in psychology involves the gradual exposure to the environment that is causing the anxiety. So we need to be willing to at some point say, yes, it's going to be a gradual exposure, but I'm going to expose myself in a safe manner to getting back to work, to getting back into contact with people. I think we will find that people are not as scary as we've been led to believe. They're not this, you know, health hazard, buyer hazards walking around. The people that we work with, the people that we have, you know, relationships with haven't changed that much. So we have to take some care as to what we do. Yeah, precautions. That's the word I was looking for. Precautions as to as to how we navigate this return to work. But I think we have learned a lot in 18 months that can keep us safe. All right. So this kind of ties in with number three, the great resignation. Again, I'm curious how many people have heard of this term. It's basically the fact that the last 18 months has given people a real opportunity in many ways to stop and reflect on their lives, on how we work, on their values, what lifestyle do we want? Do I like my job? Do I not like my job? All of those things. And in some cases, that's led people to say, actually, this isn't for me. I have something else that I've really wanted to be doing for a long time. And maybe now is the time to do it. Other people have been stressed and just don't want to go back into the workplace. There's some that can't. And there's an interesting dynamic there with some places mandating vaccines in order to work. So there's people that want to work who can't or at least want to work in their old job but can't. And then there's people who have decided it's time to move on. So this is kind of a big reshuffle for workplaces. And I also want to take a moment to make a point and acknowledge and honour all those people, all those tens of thousands or hundreds of thousands of people that have lost their jobs, have lost their businesses in the past 18 months. So they're not resigning. They have been forced to resign because of the circumstances. So my heart and our heart goes out to them because it's not easy. And we hope that you guys are okay. So this great resignation is impacting people in different ways. The great resignation tends to mean people that actually want to resign because they've found themselves by having a bit more time to think during the pandemic. So good for them. That's nice that they are in that position. But you know, let's remember most billions of people in this planet will not have the luxury of a great resignation. But how do we approach that? As workplaces, it's how do I keep the employees that I want to keep? And some are really struggling to hire people into the role. So this comes back to the idea of how do we be an employer of choice? And workforces now are demanding so much more flexibility than ever before. We've always spoken about this even in the book Mental Wealth. We talk about the pillar number two, which is around organizational flexibility and recognizing that people are different and have different needs and desires and how much flexibility can we give people? And it's, you know, unfortunately, been a happy side effect of everything that's happened that workplaces are now kind of being required to offer more flexibility to people. So it's a time to kind of come back to that blank slate and say, well, how can we restructure things in a way that works better for everyone? Now, businesses are still going to have some things that they can't be flexible on that that are simply the fact of the matter is we need someone to do this job or we need someone on at this time of day, or this simply has to be done in person. There's some non-negotiables, obviously, but the willingness to negotiate and to collaborate and to offer benefits to people I think will go a long way. And also this great resignation problem, if we see it as a problem or challenge for employers where maybe key people are thinking, this is not for me, I need to change. It highlights something that we have been talking about in our workshops for years now, that most employees have not been able to understand how their lives, how their goals, how their vision of themselves fits in with the vision of the company. Now, yes, as individuals, we have a responsibility to make sure that we have goals and visions that make us feel alive and come alive and hopefully they're related to the visions of the company that will make our work happier. But also as employers, we have been drumming this again over the years, the importance to have a plan in which we help our employees, not just to know what the vision of the company is, but make it real for them and help them understand how they fit into that vision for the company. How are they a key to the manifestation of that vision of making that a reality? And that will make people feel valued because I think a lot of the people are not feeling valued. And if you don't feel valued at work, that becomes a little bit difficult. So that's something that we can do as employers, make sure that we talk about the vision of the company and explain to people how their job is key for the development and the achievement of that vision. And also linking that to what's in it for me. How will that help me achieve the things that I want in my life as a human being as well? I think that's something that sometimes we forget to make that connection. Absolutely. Again, this kind of relationship. I was going to say that most people that we have a thousand, and we have met so many people over the years in our workshops, most of them are concerned about the paycheck and how that paycheck pays the mortgage. But the good, the really, the employees that are feeling really good at work are the ones that are really connected to the quest that company has. Every company has got a quest, a reason for being something that they want to do in the world, something that they want to achieve in the world. When people are connected to that quest, we see happy employees, we see powerful and resilient employees. So I think one of the things that workplace is good to do is, you know, running a resilience workshop that's going to help people a lot. Well, I think that kind of leads to our number four challenge. Number four challenge is the human 3.0, how we survive and thrive post pandemic. And Peter, I know you spoke about this at your conference in Bulgaria recently, but do you want to share a little bit about the human 3.0 and what that means? Absolutely. The human 3.0, I'm not sure if anybody else is using this term, but this is, for me, this is a term that I thought of myself to differentiate it from the human 2.0, which is the human from the, that was just before the year 2000. We were talking about the human 2.0 going into the 2000 eras. And that person was very, very different to the person of today. That person was, I'm not sure if you remember, we were worried at the time that the planes were going to fall out of the sky because the computers hadn't been programmed with the date to keep going after the year 2000. Now that was causing a lot of anxiety, especially if you had to fly during that time, because we didn't know what was going to happen. In the end, nothing happened, except businesses spent a lot of money just trying to handle a problem. Obviously, at some point, they succeeded because the calendars kept ticking. But there were very, very different worries for that human 2.0. The human 3.0 now, we have been thrust into this new society, which we don't understand, that most people don't understand what's going to happen, how are we going to come out of it, how is it linked to sustainability for the planet, how can a virus be meaning something else, there's a lot of narratives that are converging and causing a great deal of stressing people. That and the advent of new things that we didn't have in the 2000s. Now we have artificial intelligence. We've got some algorithms that can write essays very often, better than some human, most human beings. It's very hard to tell that a bot wrote this thing. So are we competing with robots now? And it looks like if you listen to Elon Musk, yes, that is what we are doing, what we will be doing very, very shortly, competing for jobs with bots. So the concerns are different. So I'm talking about the human 3.0, not from a perspective of this individual is weak. The weak individuals cannot survive this or thrive. What we're talking about is how do we become the human 3.0? How does this human 3.0 travel in our society today? Well, the human 3.0 survives and thrives because we don't want to just survive, we want to live, we want to enjoy life, we want to be living. It's about mindset. The human 3.0 first priority should be to acquire a power mindset. By the way, powerful individuals, by that I mean individuals that feel powerful, the feel that have choices, that feel that they have control and autonomy and responsibility and accountability, don't usually have mental health issues. That doesn't go together. You can't feel powerful and feel mentally unwell. That doesn't usually work that way. So this person is a go-getter. They take charge of their own life. They don't wait for things to be given to them. They go and get whatever resources they want. But one of the things that I've told people when they've told me that their employer wouldn't pay for their coaching or their psychological sessions or their therapy or a personal development course they wanted to do or a professional course that they wanted to do and say, well, if your employer doesn't pay it for you, whose life is it? And they usually look at me like a rabbit staring at the headlights of the car. But it sinks in. It's their life. So if your employer doesn't do it, you do it. Take charge. Go for it. Take charge of your life. And that's what the human 3.0 does. Is it takes charge of his or her own mental health needs? That's not to say they never have a bad day. When nobody is perfect, we're all going to have ups and downs. But I think what you're talking about is that approach to life, which is how can I, not a why can't I?  It's about how do we stay well? How do we be resilient? How do we raise our capacity? Being kind to ourselves at the same time by getting that balance right between nurturing ourselves, but also challenging ourselves and stepping up and taking charge, as you say. Absolutely. And you know what? I'm going to encourage people to do something that is not usually spoken about or asked of them. You know, I'm going to ask everybody here listening in is to love your shitty days. And I mean it. Love your shitty days.  If everything is hunky-dory like this in some places, if everything is working well, well, we don't change anything. And then a crisis comes and then it catches us unawares. But when we have crappy days, when we have days that don't work for us, it's just not right. And we're not happy. That doesn't mean necessarily that you're ill, that you're unwell. It just means that your psyche is giving you a warning that you need to change something. And if you look at our world right now, even the psyche of the world is telling us, please move, do something different. It's time to wake up. It's time to wake up. It really is. We need to take charge of ourselves. And we need to take charge and make sure that our teams are being taken good care of. And now that human 3.0, he or she understands that. They're realists. Yeah? So what are some of the things that you can do for your teams and yourself? Get to understand how the human brain works better so you can have an edge over the competition. And you will have competition. This is no joke. You will have competition. So do something that will put you over the edge, over the competition. In a good way. In a good way. Of course. We're not talking to psychopaths here. Please psychopaths disconnect. We're talking to good, harder people. You know what I'm talking about. Because when good, harder people take control, good things happen, kind things happen, compassionate things happen, tolerance takes place. Embracing other people takes priority and kindness rules the day, not selfishness. Yeah?  Develop a powerful mindset. Become powerful. Make a choice of becoming powerful. Not over others. I'm not saying become powerful over others. That's not necessary. What we're talking about is become powerful on the inside. Drive your own life from your inner self and become so powerful, so freaking powerful you can weather any storm. We call that resilience. But that's what we're looking for, isn't it? Any storm comes and we are cool, collected. We know exactly what to do. We have a plan of action. On that note, we might leave it there. Sounds great. So we've had four challenges, four solutions. Hope that's given you some food for thought, both personally, individually, but also from a workplace perspective as well. Peter, any final thoughts? Yeah. I would like you to understand that here at the WMHA, we love you guys. We think often about some of you we don't know. So when I say we love you guys, we love you as a collective. We have dedicated our lives to make people's mental health better and help improve their psychology. So if you haven't done it, so we have a wonderful YouTube channel, Mental Wealth TV, full of wise bits and pieces that can help get the power mindset. Go to our website, the WMHA.com. Again, there's stacks of articles and free resources in there that you can get. And I know our team shares your sentiments as well around the world. And if you go to the YouTube channel, you can see some of the different team members also talking about these topics from different angles and perspectives too. Yeah, it's not just that. So please understand that. We love you and we hope that you travel really, really well through this murky waters and you do it successfully and happily. Stay well. Thank you. Bye bye now. Hi, I'm Emmy Golding, Director of Psychology for the Workplace Mental Health Institute. We hope you liked the video. If you did, make sure to give it a thumbs up. We have more and more videos being released each week. So when you subscribe, you'll get a notification letting you know when a new one's just been published. So make sure to hit that subscribe button and don't miss out on this vital information for yourself, your colleagues, and your loved ones.


Type one error finding something that isn't there. It's a bit of an existential issue It's a it's an error. It's the type one error. It's a false positive finding something that isn't there This is if I tell you you have chlamydia, but you really don't I'm delusional. Yeah. Well, that's probably not a type one error He's accurate. Yeah, so if you're delusional if somebody finds you delusional, but you're really not right It has to do with measurement error all sorts of things that create a type one error Your measurement errors are really common one actually But it can be a good thing think about it in terms of oh, I don't know the medical setting This is a screening test making sure that I am oversensitive to whatever it is. I'm testing for right Because if I find it and it's not there at least the person is safe Okay, and we're trying to treat something right or we're looking further to see if it really is there So type one error false positive finding something that is not there