We're talking about speed, I put a bicycle motorcycle there because I used to work on making motorcycles go insanely fast, that's just something I've pinched off the web. I thought it was an imaginative use of used aeroplane parts, make motorcycles not war. So who's been out in front on the river? You see the Pollywood side, it's one of the last of the great sailing ships. What was one of the most important things? Ways of making money in the days of the sailing ships. Import spices and tea from China, take them across to London and the faster ships for the clipper ships and they got the spices and tea to London while they were still fresh so the rich people paid a premium to get the product fresh, the most profitable way of running the business. The equivalent today in Sydney, there's a frock shop that offers three hours delivery, so you're sitting in the audience here if this was in Sydney, you get a date, comes in on your smart phone, you can immediately order a new frock and you can be out the door at five o'clock with a new frock ready for your date. The site doesn't mention discounts, they don't have to because people will pay a premium for speed. There's a ship that used to dock just down there and that was coal powered steamship. Steamships were slower than the clippers but they had a constant speed because the clipper could run into two weeks of no wind. There were products you couldn't put on sailing ships because you didn't know how long they'd be at sea and the products would go off but with a steamship you knew exactly how long it would take to deliver it. So delivery times and all those sorts of things, great. So you want to know when you're developing webpages, you want to know that they're fast and you want to know that they're consistently fast. Incidentally, that ship is a Werfer. My grandfather used to be a pilot in Melbourne, Harbour. He used to be on that ship and that's where my mother learnt to walk. The first time she stepped off the ship was to go to school. Shop Fast was one of the first successful grocery shopping sites in Australia. They used to have below average speed. They would get no registrations because the pages were so slow and no registrations meant no sales. They asked me to do something so I made it above average speed. They got people registering. They would get people shopping once. And above average speed works when people are buying one product but when they're going through ordering 100 products, every half a second on every page is multiplied by 100. So I came back and I made it way above average speed. They got a thousand percent increase in registrations, a thousand percent increase in sales and their bottleneck became the warehouse. Couldn't get product onto the trucks fast enough. So speed makes a difference. What do your customers want now? They want more than a search. They want you to remember previous searches and let you improve on them. They want shopping for shoes. So I want to look up Masala because it's the color of the ear. They don't want just a choice of red, green, blue, that sort of thing. So you're putting a lot more code into your site and you've got less chance of caching the code.  But every time you add more detail, more choices, there's less chance of something working in a cache. Your customers want personal settings. I want to choose a size 10.540. No preservatives. Left-handable. Left-handable is a really important accessibility issue because 75% of the population are limited to their right hand. Left-handers learn to use both hands because most of the products are right-handed only. So we should, by law, make all products left-handed. So right-handers will learn to use the left-handed. So we move on to droop-late. There's performance issues. That link takes you to a page where they're talking about regression issues. So if you're working with droop-late betas and you find something really slow, please report it. Someone might do something for it. Droop-late, big work on cache. Make caching faster. They've got this tags edition. It's designed to make deletion of cache entries faster, but it's a long-text field. So when you do a deletion of cache entries, you've still got to do a search on a column. That's the sort of thing they put in there. So an ID might be values node one. And it's got these two tags attached to it. Instead of trying to say delete values, colon, node, colon, asterisk, or do a like, you can just say do like node values and delete everything. Sounds fun. What I'm hoping in Drupal 9 is you'll be able to say, I want to store stuff by user country. So I'll get a cache called cache user country. It'll be indexed by user country, primary key. I'll be able to have a custom cache for exactly what I'm storing. It'll be instant to access. It'll be instant to delete, change, whatever I want to do. But cache is not everything. Yahoo! Say you should reduce a number of things on your page to make your page faster. In Drupal 8, it's going the opposite way. What it's doing is splitting the page up into little bits. There's more collective junk the first time you download a page. But things like blocks can be cached separately. So they don't have to be reloaded on subsequent pages. So it should only be your content that gets reloaded. So they're going the opposite direction. But in theory, it will add a little bit of speed. After all these tricks, you still need faster code. You're going to have more code there. You're doing more for customers. You're doing more custom processing for them. You've got somewhere the code has got to run faster. Here's a comparison of various frameworks and ways of doing things. On the left, you've got something written in C code or assembler, super fast, 100% efficiency. Then you've got PHP using an opcode cache, totally optimized for doing whatever it's delivering. Then you've got various frameworks. That one there is Hip Hop, which we'll talk about next. And over here is symphony version 2, which is what Drupal later is using. So we've got over here a lot of very slow processing because there's so much code brought in for everything we're doing. It'd be nice to make them run faster. So some choices coming up, which we're going to talk about, HBM, Hip Hop Virtual Machine, the replacement for Hip Hop, PHP 8, and Zephyr. So HHVM, backed by Facebook, they brought out Hip Hop. It was a pig to use, really complicated, difficult. They re-engineered it, HHVM. And they actually made it nice. You can, if you're not into administering your own servers, you can go on to test environments that contain it. And what it does is when normal PHP runs, it goes into memory, it gets compiled into Pcode. This compiles into a much denser code, smaller, lighter weight, and it runs against a virtual machine that they've designed. So they can put optimization into it. It's 99.8% or something compatible with PHP. Symphony version 2 works, Drupal 8 almost works. At our modules, there's a few things that they've got to change in code to fit. It's available now. Performance gains are similar to PHP 7 and some of the other things. Out there, I haven't used it. And I know people who have used it have got very varied results. There are some things that Facebook have made it a lot faster and some things are not faster. PHP 7 has produced, gone a different track, produced on average about the same speed increase. But when you look into detailed code, because they've done it differently, they've made different parts of your code faster. So there was a PHP 6 and a PHP NG being worked on side by side. Anybody have a look at the projects, the two PHP projects? Yeah, okay. PHP NG became PHP 7. And what it does is cut down on memory usage. It makes your code faster because it's smaller, use of memory, and when it's accessing data, it's faster. So the hip-hop type approach was to make your code faster. This is to make data faster in memory. When they're creating data structures in memory, it's much more efficient, smaller. It's faster to access memory. So your code, if you're running something purely in code, it might be slower than hip-hop. But if you're going through a big array, sorting an array, so it'll be faster than hip-hop. There's a basis for additional improvements. PHP 7 is similar to Drupal 8. It's going to three levels of versions. And there's going to be some additional like 7.1, 7.2, and 7.3. I haven't used that either. But it's due about the end of the year. So the end of the year, have a choice of hip-hop, PHP 7, Symphony 3 will be out. So whether Drupal 8.1 might go to Symphony 3, I haven't seen how much different Symphony 3 is going. So at the end of the year, it's going to be a lot of options. Zephyr is the other thing we're going to look at. There was a project called Falcon. Falcon version 1. They wrote an MVC framework in C, compiled it up. It's insanely fast. It's about halfway between nothing and Symphony. It's a medium-sized framework. I would have liked to have converted Drupal 7 to Falcon, but there are a lot of work. The tests that I've run, it's close to bare metal processing. It looks like if you go through all the different frameworks, it's good enough to do a shopping site. But I'd put it up against something like Drupal 6 or Drupal 5. You could have converted that easily. But when you get onto the complexities of what they're doing in Drupal 8, it doesn't have everything you need for Drupal 8. All three approaches, HIPOP, PHP7, and Zephyr, are all moving to static variable types. The big slowdown that you can't get around in conventional PHP. Every time you work with a variable, the first thing PHP does, it has to say, is this a string or is this an integer and so on? So what's happening in all these rewrites of PHP is an option to say, this is an integer. I'll work with this purely as an integer, and PHP, or the code internally, doesn't have to check whether it doesn't have to convert quote to quote into an integer too, because it's always going to be passed around as an integer too. And that's the next big speed challenge. That means changing a code to specify the data type. So I'm hoping they're going to do that in Drupal 9, make use of one of those three technologies. In PHP7, they're talking about having static variables but not immediately or not a comprehensive solution. Hip hop, there's mention of it. I haven't looked up the fine details. I have used it in Zephyr. Now what happened with Falcon going to Zephyr? The people writing Falcon in C thought it was too difficult. So they started writing a compiler from PHP to C and then compile a C into Falcon. And then they were looking through PHP, and they said static variables. Let's introduce static variables. And everything within Falcon could be passed around as static variables, and that lets it run faster. They still support old style variables, so you can use old style code. So Zephyr should be a nice, easy replacement for PHP. But then they started getting too zealous, and someone said, oh, look at this JavaScript style array syntax. Let's use that with no support for old PHP syntax. So you've got to change your syntax. So converting from PHP to Zephyr is no longer an easy task. You'd only do it for code that's used frequently, and you do it just a small part. For something like Drupal, I'd convert the Bootstrap code to it. There's Zephyr is slightly behind the PHP 5 stream. It's about PHP 5.4. If you want to get all fancy with interfaces and stuff, it doesn't support some of that stuff. I'll give you a quick example of what it's like.  Create a directory somewhere. I was going to convert Drupal 7 to Zephyr, call it Drupal 7. First thing you do is say Zephyr init, and you give the name of your project, and it creates an outline. And this is the outline that you get. Your code will go into that directory. There's some... The stuff here is internal to Zephyr. There's this configuration file. You can change it. I've never had to change it when I've been experimenting. Then you create code. That's a classic hello world type thing. There's some hard-coded rules about upper and lower case. It's approximately... If you follow PSR coding conventions, it's approximately PSR 1. Drupal 8 went through the big conversion to PSR 1, then PSR 4 came out. They went through the big conversion from PSR 1 to PSR 4. This is still at PSR 1. Then you do a compilation. You say build. It reads all those files, does stuff, asks for your password, installs the compiled result as a PHP module. And you then have to edit PHP any to tell it to use a module. Now your code is a binary, running at binary speed. When I've tested some conversions of code, I've created some incredibly slow pages that have a lot of code going around, around, around. So they take five seconds to execute. So I can put in microtime and show the start time, the end time. And when I run it in an extension like that, often the start time and end time is about the same. It's so small that it's at the level of inaccuracy of timing. That's four things that are executing in code. They haven't gone through and, from what I can tell, and changed the array structures. So if you're comparing it to PHP 7 on code that does a big array processing, it probably wouldn't be very far ahead. For anything that's running a lot of code, it's way ahead. I don't want to say how to sequence it. So the new ways of making PHP faster, they're all looking at getting close to executable code. Zephyr is the fastest, but it requires most code changes. HipHop's available now. You can experiment with it now. And it works for, I think, things like exec. You can't use. It's a very small list of things you can't do. But it doesn't do much for large data rate processing, variable processing. And I haven't looked at the extent where they've gone in terms of specifying static types and stuff. PHP 7 will be easier to use when it does come in. It'll use less memory. If you've got a 32 megabyte Drupal 7 and you convert it to Drupal 8, you'll be told to use 64 megabytes. And when you get up to Drupal 8, beta 6, it'll crash. And you'll have to go to 100 megabytes. So having PHP 7 bring that memory usage back down. Possibly, if you're using Drupal 8 with PHP 7, you might get back to 32 megabytes. So I'd prefer to use PHP 7 to hip hop. And I won't be converting sites to Drupal 8 until the end of this year. And PHP 7 will be out at the end of this year. Static variable types. I've experimented with them in WinZephyr. Makes a difference. The experiments I was working with, code was using lots of integers. And there were integers that were coming in as strings, being presented as strings and sometimes passed around as strings for various reasons. And I converted the code to immediately change the integer everywhere until the actual point of display. It made a noticeable difference. Just changed a few integers. It was not enough to measure accurately. And when I got onto big arrays of variables, I think PHP 7 looks like it would do a better job. So I'd like to, I'm hoping, Zephyr will get all the features that have been put into PHP 7. The two of them, put them together and maybe make the PHP 8. Put some things from... Take every... All the good points of Zephyr and put them into PHP 8. I've made the presentation nice and fast. I've spent many, many years working on code and working on hardware speed before that. I built the world's first programmable hardware cache. And I forgot to patent it. I actually offered it to people as an open source design about the software and the hardware. And at the time, there was no open source design. So nobody took it up. And about 10 years later, all these hardware companies started going, oh, let's build hardware caches. And now, of course, every disk that gets delivered has got a hardware cache in it. And just about everything's got caches all over the place. If you think of questions after here and you want to send them, anything about Zephyr, I'll answer, anything about Hip-Hop. I don't have Hip-Hop running anywhere. But I'd love to hear from someone who is using it with Drupal. That's where that photograph came from of the Werther. I couldn't find my mum's photographs of when she was a little kid on it. We're going to questions. I've got some industrial hearing loss.  But you can sue businesses that have noisy machinery. So that's why I call it industrial hearing loss. Questions. Before Zephyr, there were several PHP compilers. Projects to compile PHP to an intermediate language that will be like C or C plus and then compile it to binary. None of them had support and they always stayed too far behind PHP. Someone came along and said, let's build an MVC framework. Let's do a compiler. Before that, they said, let's do a PHP framework and let's write it in C. So all these people using C and PHP write a framework. That's Falcon. If you look up Falcon, heaps of pages on it. There's a framework and there's a CMS called Falcon I which is built on the Falcon framework. And the Falcon documentation's also got a nice little record shop as a demo application. Then the people working on that said, why don't we write in PHP and compile the PHP to C then compile the C to binary? And they appear to have written their compiler from scratch. They haven't used the previous two projects. And along the way, they've said, let's put in static variable types because that's a real problem in PHP processing. And someone said, I don't like array syntax. Let's use square brackets. And I find it much, much nicer to work with arrays in that syntax. But I hate having two bits of code doing the same thing with different syntaxes. I'd rather use rubbish syntax with that everyone's doing the same. And then, of course, now we're all using JavaScript. So much JavaScript when we're using two syntaxes anyway. So I'd be happy for PHP to switch to the JavaScript syntax and then these young kids that have come in and who've learned JavaScript first, it's easier for them to learn PHP. So I haven't seen much support for Zephyr because Zephyr, six months ago, Zephyr was only 96% compatible with PHP or something. There's a checklist. What they're doing is bringing out Falcon version two, written in Zephyr and there's a checklist of all these tests, compatibility tests. And they got up to 95 out of 100, then 96 out of 100. So they're only working on compatibility with Falcon so that Falcon version two will be running exactly the same as Falcon version one. And they're not trying to get compatibility with Drupal or anything else. I experimented with it. I wrote an automatic code converter and the Drupal 7 code is so bad that I gave up. In Zephyr, everything has to be classes and every class has to be its own file. If you go into the Drupal, the bootstrap file, bootstrap.inc, there's several classes, there's spaghetti code, horrible. So converting that automatically is not possible. It's, well it's not possible in my brain, not even with three cups of coffee. So I then did Drupal 8 and I started converting Symphony version two Symphony version two has got some beautiful rules about how the code should be presented and 80% of the code fits their rules. There's a whole lot of legacy code. So there's a whole lot of code that doesn't convert easily. And when you write a rule to change, let's say you've got $x equals array, that might be written three different ways. So I stopped doing that. And when you're compiling up in a namespace, like you've got Symphony component X, Y, Z, it was too difficult to do the whole of Symphony. So I went down to one of the components. So I think it was HTTP request. And I thought I'd just do that. But even with the first two components I could select it, both of them had good code and bad code structured. So it wasn't easy to convert. And I put in a request on the Zephyr, this is Zephyr forum or this is a Falcon forum I linked in and I put in, someone wanna work on this? Nah. Well, someone wanna help me with regular expressions. Regular expressions is worse than venereal disease from what I can tell. You don't wanna do them yourself. You want someone else to have to work on the regular expressions. So nobody volunteered. And if you try and work out something like $x equals array bracket, end bracket thing and convert it and you allow for comments at the end and all the different things that can be inside the array. And all you wanna do is convert array opening bracket to a square and the end closing bracket semi-colon to a closing bracket, the square bracket semi-colon. But the combinations that you can find there, you gotta go across multiple lines and code and stuff. That's way over my head for regular expressions. So if I had access to a regular expression guru, I could probably do it. I did some string splits type things using explode and all sorts of stuff and it worked where for simple examples, but complicated examples I just gave up on. So I'd say 50% of the code you could convert automatically and the other 50% you'd have to do it by hand. And I think if you had a team of two or three people on each component in symphony and we only use about eight components out of the whole of symphony it's only about eight components or 10 components in Drupal 8 and if you had a little team on each one you can convert them and compile them up because in terms of namespace, when they're module, you're compiling a module that goes into PHP it can be the end bit of a namespace so you can have your namespace of symphony, component, HTTP requests, you can just, where I showed you Drupal, instead of Drupal you can compile, you can name it HTTP request and just do that section and someone else could do another section and you could have a big team doing it like that. What's the most frequently used thing in Drupal 8? I've never profiled it, but if you found the most frequently used class you could just compile that class by itself. Boom, it's running at machine speed. Fabulous project for someone to do and they might not even have to know regular expressions because it's only a little bit of code. You change the file name to nn.zep, I think it is, and you take out anything that's not a class and anything that's not PHP it doesn't do anything with the comments. Just it throws everything, a lot of things away. There's all the features, I think it might be PHP 5.3 but not 5.4 or 5.4 but not somewhere closures in the face or somewhere about there, some of the things that are missing. So in Symphony 2, you'll have some code where it'll have a namespace, you're passing a parameter to a function, a method, and it'll have a namespace and a variable name. That namespace is saying this should be an object of certain type. That's not, that doesn't work yet in Zephyr, so you have to throw away the namespace and the static types are purely Inature String, there's about the five static types but for that converting strings to integer and just passing around as integer, huge gain in performance there, binary is a static type. So for the most common things that I do, I could convert to static types. I don't use all the features of, I compile, I use PHP 5.6 but I don't use all the new features in 5.6 or 5.5 and I think Zephyr handles everything from 5.3. So maybe there'll be like 12 months from now, it'll support 5.4 and 5.5 and so on. So it's probably running a year behind Symphony. That build process, it uses PHP to convert from Zephyr to C and it's so fast that first part of the message comes up, boom, that was compiling I think 20 classes or something like that and it's just blank, that's on this little Toshiba. Then it asks for your password so it can install and that's just stuff happening in the background. So the second pile is compiling very fast because it's very small optimized code and the PHP conversion to Zephyr is very fast because it's not doing anything really complicated at this stage. I guess because of things like the variables going into, the parameters going into a method, they're not yet supporting namespaces, they don't have to go off and do lots of big cross referencing and stuff. So if that part's blindingly fast, I'd rather have the extra features and have that take three seconds instead of, three milliseconds. Who's volunteering to. If you're in Sydney, I'm happy to sit there and let you help you run it. There's a fabulous documentation on Falcon and there's almost there documentation on Zephyr. There's a Falcon.org, Falcon compiler.org, something site for Falcon and it's got the sort of, the level of documentation similar to Symphony. The Zephyr one, they've just got bare minimum documentation and we do have the reference further back. Zephyrlang.com, if you're happy with the command line and you're happy with editing PHP on your local development machine, you follow that, that's all I've read. It's about 20 pages. It tells you what to do to create a working example. There's a whole lot of things that it doesn't yet tell you but it's enough to create a working example and try it out. And there's a whole, there's a few things I had to, when converting Symphony, there was a whole lot of things I couldn't find in that documentation. So if you want to write code from scratch, perfect, you're all going to install this for homework. The installation, you install Zephyr on your machine from Git. I found it, because I've used Git before, I found it really easy. I just cloned the repository and it's just running PHP command line in your local directory to do the compilation then it's just doing, compilation to C then it's doing a normal compile. I've also installed Falcon from, Falcon 1.3 and Falcon 2 from Git. There were some problems with them, but the actual Zephyr, boom, went straight in, beautiful. You could actually do it in the break between now and the next presentation. We've got to do static variables to get more speed from PHP, make them optional, do it. This is way of the future, we'll get everything from Zephyr and put it in PHP 7 or 7.1 or 7.2. All right, okay.


Anti-plugging with a zero speed switch. Anti-plugging is when you don't want a motor to suddenly go in reverse. You want to make sure that it has come to a complete stop before you have the motor go into a reverse situation. We're going to look at how we can utilize a zero speed switch which is attached to the shaft of the motor to make sure that the motor comes to stop first and then can be reversed. Here is our forward reverse circuit. There's a little bit of a difference compared to a typical forward reverse in the sense that we have here our zero speed switch. We can tell that because we've got this arrow that's kind of curved here. That tells us that this is a centrifugal switch which means that in forward it's going to spin and open up this switch or in reverse it's going to go the other way and open up this switch up here. You notice I've got the R meaning reverse the F meaning forward. The rest of the circuit is pretty standard. I've got a forward push button. I've got some electrical interlocks. I've got a mechanical interlock between the F coil and the reverse coil. I've got my forward interlocks down below and hold in contacts for both circuits. We're going to look to see what happens when we energize. We'll start with forward. Forward I press the forward button down that energizes the F coil which in turn will close the normally open contacts down here and open up my electrical interlock down here so that when I release forward I have a parallel path to carry through and keep the F going. Then we're going to look to see what happens with our centrifugal switch. In the forward position I let go. The push button bounces back to its position. It's being held in by its own hold in contacts. As it starts to move forward this starts to open up. Because of the centrifugal nature of the motor it starts to spin, opens the zero speed switch. I can come here and I can hit reverse as much as I want. It's going to be locked out by the F contact here anyways but I need to make sure that when I hit stop that this F the motor is no longer running in a forward direction before I go into a reverse. So let's hit the stop button. I hit the stop button which de-energizes F which sends this back to normally open and this back to normally closed. So the motor might still be spinning through some inertia in the forward direction which keeps this zero speed switch open. So again until this motor has stopped spinning and this now closes I can hit this reverse button as much as I want. The power can't get through until the motor itself has stopped spinning and this zero speed switch has closed. So it's locking it out until the motor stops. So I let go of the stop button. It bounces back to its normally closed position. Again as long as this motor is spinning in the forward direction through inertia I can hit this as often as I want. R will not energize because it's being held out. Now when I go ahead and hit reverse it will do the exact same thing it did in forward but in the opposite direction. So let's take a look at how this whole sequence works. I push down in the reverse button. R coil energizes. R contacts close. Holds in. R contact interlock opens up. The motor starts to spin in the reverse direction. I let go of the reverse button. It's being held in by itself with these R contacts. It's spinning in reverse. You notice up here my zero speed switch has opened up this side because of the centrifugal force which is opening up the reverse. I can sit here and hit forward. Power is not going to get through. It's being held out anyways by these interlocks but as is there's no way for forward to become energized. If I hit the stop switch that will deenergize R which will open up this R which will close this R. Those sets of contacts but I can sit there and hit this as much as I want. Nothing's going to happen but first off let's see what happens when this bounces back. My reverse button has gone back to its normally sorry my stop button has gone back to its normally closed position and I still can't get the forward to go because as long as the motor's spinning through some sort of inertia in the reverse direction this zero speed switch will stay open. The moment it stops spinning this zero speed switch will close and then I can go ahead and hit forward. So that is how we utilize a zero speed switch to prevent a motor from going the opposite direction until it has come to a complete stop in the direction it was going to in the first place.


Why this vital structure? A groundbreaking new study has unlocked a surprising answer, and it may change the way we fight cancer. Cancer can spread to any bone, but for several types, the spine takes the brunt of the attack. Breast, lung, and prostate cancers often make this their second home, causing debilitating pain, fractures, and nerve damage. Until recently, the reason for this preference remained a mystery. But then, researchers at Cornell University made a startling discovery, a unique type of stem cell found only in the spine called the vertebral stem cell. These cells, it turns out, produce a special protein called MFGE8. And guess what? This protein acts like a siren song for cancer cells beckoning them towards the spine.


Welcome back. This is the second knowledge clip to the book evidence-based human resource management what we know about people in workplaces. In this clip I will dive into the question how to do evidence-based human resource management. So after this clip you will understand the following. First I'm going to explain to you that decision making is difficult and it's that you're always hindered by something called bounded rationality. Then I will dive into the evidence-based human resource management decision making process. Eventually in the end of the clip I will tell you what the benefits are of evidence-based human resource management. So let's have a look at bounded rationality. If you work in an organization many things are happening at the same time and decisions are always under some kind of pressure which makes managing people in workplaces difficult. There's always problems and all these problems are always urgent and it's really difficult to have all the information about all problems continuously at hand. There is always somebody yelling that there needs to be a solution now. There's always someone who has the solution and in my experience as an HR manager the solution often always involves we need more people. Well this might be nice but may not always be the right solution. Maybe you're doing things wrong. Maybe people are just not trained in the right way to deal with the work. So actually understanding the problem and the causes of the problem are very important. Hiring more people is not always the answer. It can be. It's not always. So examples like we need more people or I know a solution. This is the best consulting tool that is out there. Our competitors are using it as well. We need it to you. These are all called quick fixes. Quick fixes are solutions to problems that arise in the workplace that are not really well thought through. They seem nice. They are maybe cheap or sometimes they are really expensive and sometimes they are used to fix something for which the problem is not entirely clear. So quick fixes in a way are expensive fixes. They seem nice and quick but they are not. Two problems. The first problem is the problem of bounded rationality. I already mentioned when there are problems when we can't find enough people. When the production lags behind. When competition is suddenly innovating and we don't do anything. We don't know exactly what causes that we lag behind. We really miss the knowledge of the entire complexity of the problem. And that leads to making decisions difficult. And it leads to quick fixing solutions with interventions to make at least some decision. Well quick fixes they are not as effective. They are sometimes very expensive and sometimes they seem to work for a short while but then in the end they do nothing or make things even worse and then they need a new fix. So these two things together learning to understand the problem and avoiding making too fast decisions and making wrong decisions are central to evidence based management. Bounded rationality what is it? Bounded rationality means that all of us no matter who you are we lack a complete insight of a problem and all its causes. It's just a given. It hinders our decision making because if you want to take a decision you have to make a decision without knowing everything. And bounded rationality is a fact. It's there to stay. But and that's very important to know there are strategies to add a little bit more rationality to decision making. So instead of running rushing to a quick fix you may use a little time to get a little better insight in the problem and to think a little bit longer about what might actually help to solve a problem. So unfortunately decision makers often neglect these strategies or they're just not aware of them and in this book we'll try to make we will make an effort to teach you a little bit about that. In the rush to solve a problem managers decision makers rush to quick fix quick fixes. Evidence based human resource management is a decision making strategy that can help practitioners to overcome bounded rationality and base their decisions about human resource problems on a little bit more rational background in order to eventually make better decisions. So evidence based human resource management. What is it? It's a method for practitioners. So it's not something to do about doing research. It's about doing practice. However it's a decision making just method for practitioners to consciously so thinking apply expertise what they already know and judgment. So trying to understand which information about the problem about solutions is actually good information. Method for practitioners to make better decisions. How to make better decisions. These practitioners use evidence from their local local context so from their department from their organization from the context of the organization and then they apply this to the decision but not alone. They also turn their eyes to research evidence so they critically evaluate the best available external research evidence. Local context local evidence from the organization in combination with research evidence published in research journals. And finally but not the least they should take the perspectives of the people who are affected by the decision into account. This can be in many ways this is partly an ethical responsibility. So you need to make sure that nobody is harmed by by an evidence based decision. And also as part of the local context so perspectives of people involved in the in the decision are also often the ones who know best about the problem. Evidence based human research management a method for practitioners using evidence from the organization the local context using evidence from research and take along the perspectives of the people who are involved. In a bit more detail this is a summary of all the steps of an evidence based human research management decision making flu. I will zoom in to the different elements in the next few slides. I think in this slide the most important arrow is the one that's going from the button to the top. And then the book you'll see that there are also arrows from each of the steps in the project to the arrow that flows back. Because learning about a problem sometimes also just means rethinking the problem and reconsidering whether it is a problem or reconsidering who is affected. So decision making not in a entirely rational way but learning along the way as well. Now in the next slides I will zoom in to the different elements of the decision making flow chart also using an example. To start with the first part this is about the problem and identification. It is about really understanding what the nature of the problem in the organization is and to formulate a question that will guide the evidence-based information collection and building of the intervention. So these are some of the questions that you should ask before you engage in formulating a question. What is happening? What seems to be the underlying problem? What are the affected outcomes? What would improve in objective measures if the problem was fixed? Who are involved in the problem? Which domain of HR practices seems to be the most relevant? Well the last question will help you to already narrow your question a little bit. Let's take an example to clarify this process. I'll take an example from a call center of a governmental organization and there are many people working there and their job is rather repetitive and monotonous. They have to answer the phone and there's always a queue of questions from clients that they have to answer and they are on a tight performance schedule they need to really answer the questions within a certain time because they have this desire to be really client oriented and that makes the work pressure in these jobs quite high. So the manager of this call center is facing a problem namely in their customer care in their client care department there is a high level of sickness absenteeism and there's a high level staff turnover. Well given this in the current labor market is really difficult to find replacement this is an issue if staff leaves then the other people need to do even more. So sickness absenteeism and staff turnover these are measurable outcomes that this manager is really caring for and wants to improve. The company doctor gave some information he says that a lot of stress and burnout complaints are part of the sickness absenteeism so organizations they have some kind of medical support and the company doctor or however it's organized they have information on the general level about the nature of sickness complaints and if these are work related then it's feedback to the organization to work on. So burnout and stress there's a problem there. Also this organization keeps exit interviews which is a common good practice to interview people leave the organization to find out what their view was about the organization and what the reasons are why they leave and because they are no longer employed they don't fear being punished for being open and fair and this is actually a good source of information to find out what's wrong at the organization. So in this case the exit interviews receive many complaints about the high work pressure the high work paste it's never done it's never good. So this input can help us to specify the specific outcomes the intended domain of HR practices and the people in the organizations which are the target group for the HR practice. In our example the intended outcome are the stress symptoms reported by employees and that translates in sick leave time and you might also say in reduced employee turnover levels. So the most direct measure here would be the keeping track of stress symptoms in employees and see if there is a reduction if you implement proper HR practices targeting an improved well-being of workers. So the targeted groups are the the customer care employees in this governmental organization and the intended human resource management domain will be work design because it's it's it's it seems to be a question of how to organize the work and to make sure that people feel less stressed about it but then what can you do. So the government organization posed the following question for the evidence-based HRM project how can the work design be improved to reduce the reported stress symptoms and sickness absenteeism by employees of the cost customer care department of this governmental organization. Okay then you have a question and you can move on. So your task now is to try and understand what the causes of this problem are and what we know about how the causes relate to the outcome that they want to improve and how this translated or known in in the work design practices. Like said we need two sources of evidence we need no local evidence and external evidence. Let's dive into that. So as part of the external evidence we should ask the question about what do we know about the science of effective interventions for the problem that we have at hand. So to give you some examples where do you find this external evidence? There are many ways to go about it but you need to be smart. If you would just go to an academic library you'll find plenty plenty research articles and we can basically do your dissertation about it. That's not what we want. We want to have fast access to the key research evidence that can help us to make better decisions. The strategy set follows you can start using the book because the book gives a nice overview of the of many theories and in particular in our case in the example you can turn to chapter eight where there is a whole section about stress theories and work design. In combination you can be clever about finding research evidence. Once every while researchers publish a summary article about all the research that has been done before. We call this a systematic review or a meta analysis. These are excellent sources of information that you can use to find interventions that were really effective. It needs a little bit of understanding of research methods but given that I talk to academic students mostly this is actually your task. You're trained to do this. To find the literature that will help you make better decisions that will be your contribution to organizations. In the book in the end of each chapter you can find already an overview of such meta analysis so the book can be a nice starting point to quickly find your way to the best research evidence. Are you done then with collecting evidence? No you're not. You need to also go to the organization and really understand what is known in the organization. So what do people in the organization know about the problem and about interventions that might work have been tried in the past. So this means really going to the organization and collect data from the organization from the people that really experience the problem and there are many ways to collect local evidence. You can make a huge project out of it but you can also keep it small. So it's your task as a practitioner using evidence-based human research management to design a method to collect data in the organization to have a better understanding of the cause of the problem. And you can do many different things so use your research skills. You can conduct interviews with people who are currently experiencing the situation and what they think that would improve their work and this would be a type of qualitative research. Sometimes you can also think about collecting data through using a questionnaire or use a questionnaire that has been used in the past. So for example sometimes a good source of information are employee satisfaction surveys. Sometimes you can also use records from the company to administrative data such as absenteeism records or report by the company doctor. So all these kind of data are either to collect or just to grasp from the organization in order to make better, to get a better understanding of the problem. You need to remember that when you design research that you also take into account good research practice. So think about the measures you use, think about the type of interviews, think about all you learn during your research methods courses and consider the ethics of the people that are involved. Also think about the costs. So you can make an extensive project out of it but you can also try to decide which is the information that is really key to understand the causes of the problem and what is the best and quickest way to get this information. So these are all kind of questions that you should consider when you develop an evidence-based HRM project.  You can evaluate all the evidence you had and start developing an intervention. So how do you evaluate the quality of evidence? Again this is a step where you can really use the skills you learned in your research methods courses to make better decisions eventually. So it's always about validity, reliability and generalizability. Questions you can ask about validity, does the evidence help you to really understand the problem? Did you ask the right questions to the right people? I'll give you a clue if your problem is about employees and you just interview one manager you'll not know the problem. But also critically evaluate the quality of your measures, your review questions, the research design and use good theory. So that's why in the flowchart I often start with the external evidence part because if you know a little bit what is known out there then you can fine tune it to the context of your organization which is easier than the other way around when you start from scratch in the organization then you have to find all the the theory that is out there that is more inductive if you want to be fast you can better maybe use a more deductive way. Reliability, so is the data you collected, is it a one-off or is it possible to replicate it? So will you find the same information if you ask if you repeated your research in your organization and that has probably to do with how many people were asked, who was asked. What's your sample size for example?  So these kind of questions should be in the back of your mind when you evaluate the quality of your evidence and there are quick tools to make a list of your evidence and to rate the evidence and to make sure that you take the right evidence into account when you design an intervention. So the real fun part is here it's about thinking using all the evidence as reflecting on the problem and brainstorm about potential interventions and I'll highlight what you can do in order to make sure that you develop an intervention that can actually land in your organization. It works as follows, how to design an effective HR practice. First of course obviously the choice and design of your practice will depend on the local and external evidence you collected. Then if you sit together with your research team you can list all you can list which interventions will be the most effective given your external evidence. So have a look at the external evidence you collected from research and all the interventions that follow from your literature. Then also list and do the same for what you did with your local evidence. So what are the conditions for effective interventions? What are things that they tried before and didn't work for whatever reason? So you can stripe out some of the things that you thought of using the external evidence. Then decide in the end which of all the potential interventions is the most effective and you can be critical. Also consider costs and time of implementation and the difficulty of it. Oftentimes if you find something simple that is effective that's preferred over something that is complex and effective.  Prepare the organization for the intervention. Communicate to those who are involved in the implementation. So make sure the senior management is into your project. Communicate with employees of course since you involve them already in the collection of local evidence they would know something is going to change about their problem. And use the evidence that you collected to explain why this intervention is supposed to be most beneficial for the problem that you have. Don't forget very important oftentimes when an evidence-based project is done the project team is dismantled it just stops the intervention is done everybody happy but it's very important to keep tracking whether the with the intervention works. So evaluate pick a date to evaluate whether your intervention really improved the outcomes that you that you wanted to improve in the problem. So how to organize this the evaluation of a new HR practice. A good project thinks about this before closing down. So a good project team plans the evaluations of the implementation and they also decide which data they will continuously collect to check if the intended outcome really improves after implementation. Organize follow-up. If the program team is dismantled make sure there's somebody who takes responsibility to follow up this can for example be organized in the HR department which is quite common. And also use this as a means to check for continuous improvement. Here the so going back to the example of the hard workload in the call center after the intervention has been decided in this case to be to use some flexible working. Following up and discussing with employee representatives about the effect of the intervention will lead to fine tuning and will lead to maybe also new questions. And this way like said organizations will continuously learn and improve and be better places for people to work in. Wrap up. Now you know. It all starts with the problem of bounded rationality in that happens in decision making about people in workplaces. And evidence-based human resource management can help to improve decisions because it offers a decision making process to overcome not solve but overcome bounded rationality. We discussed also the stages of evidence-based human resource management and we highlighted this with an example. I hope you'll use it.


Step to becoming a TEFL trainer, complete your TEFL course. The first step to becoming a teacher trainer is to complete your TEFL certification course. Don't feel that only people who do particularly well are cut out to be trainers. You need to empathize with your trainees, and it can be advantageous to have struggled through, and only just about pass the course, as long as you then developed your skills with experience. Taking an entry-level course is only the very beginning of the journey, but the journey doesn't have to be a long one if you work at improving your skills with every lesson you deliver. Look back on the difficulties and work out how to avoid them next time. Do self-evaluations every day you teach. This will help you to not only predict difficulties that new teachers will have, but also to devise ways to advise and help them. Thanks so much for watching. We are ITTT, the leading provider for TEFL and TESOL training courses. If you like this video, please subscribe by clicking the button down here and click on any of the videos here on the left for more interesting teaching tips for getting certified to teach English abroad and online.


I wanna talk today about negotiation. It's a really important social skill and communication skill that you need in business today. I mean, negotiation comes through really anything. It's not when there's just some conflict between external parties. You're having negotiation when you go in a group of people and try to decide on tactics or strategy to roll on anything. So it's really something to really understand kind of how to do and how to go through the process of doing it, so you can really understand what are the components and what do you need to do in order to negotiate things in a really good way to help you create a win for yourself and a win for other people. And only before I go through it, one of the key things before you go through any negotiation or whatever it is in your life is to start inside of yourself, right? Why is it that you're in this negotiation? What actually has to occur? Why do you want this to happen? What's in it for you for this to work out? Because I think a lot of people go into negotiations and they may go in it simply, an example would be a salary negotiation and they might ask, they want a salary increase. Well, the key is it's really understanding why does it do you want that increase? What's really going on? It's not just about the money, it's that you want to feel valued. It's you want to feel that organizations thinks of you highly. So you want to really dig down and understand yourself what's going on. And I think also you have to understand if you don't get that salary increase, what does it mean, right? Where is a line in the sand? Where do you want to negotiate? What's the number? What's the reason behind those numbers? So I think you got to dig in the why for yourself quite a bit to really understand what's going on before you actually get to the table. When actually I've studied a lot of negotiators and really good ones and they talk about that half of the deals are lost before someone even comes to the table because they don't understand the why internally. It's not that they're negotiating skills are bad or they're actually losing when they're having discussions that they're losing because they don't know why they're at the table and it's very difficult to come up with joint solutions with someone else if you don't negotiate with yourself first. So there's really several components to actually negotiating which I'll go in today. Part of it is really understanding the interests. Next is really the options. Then it's the standards that going on. Then it's the people. And then we're gonna talk about the last thing is the best alternative solution, best alternative to negotiated solution. And we're gonna talk about that. So the first thing really is understanding that you wanna satisfy your needs and other people's needs. That's the key, right? You're trying to influence them to actually negotiate an outcome that's good for both sides. And the key thing there is really understanding that you've got to craft an agreement that works on both sides. So you have to sit down and really understand early on what are the interests, right? What is that other party want and why? And the way you can look at it is think through empathy, right? And empathy is putting yourself in someone else's shoes and really digging down to understand why are they sitting at the table with you today? What's in it for them and what's in it for them to lose? And you really have to under the full breath of things. And so you need to do that before you come to the table and thinking that through and also asking questions when you're there. What's really going on? Because that will help you really understand when they'll be willing to walk away. What's in it for them at that point and what is the strength of your argument or weakness at that point? So you can really address that. The next part of it is your options, right? And the key thing here is really understanding what options are on the table and putting as many as possible. And you need to brainstorm with the other party because they've done a lot of research on this. And if you come with a lot more options to solve a problem, you can put more of them together so the other side part takes in the solution process. And when you look very narrowly on it, it doesn't work very well. Why is that? Because it looks more adversarial, right? You're coming to the table with options that are really meant to help you and really meant to hurt the other side, right? So people's mentality is a dollar for me is a dollar less for you. And when you have that mentality in negotiations, it really hurts what's going on. And the key thing about options are no one has to agree to anything. No one has to come to the table and say, I'm gonna do this or do that. It's more of a brainstorming session. So you get all of these options on the table and there you can start whittling it down and start having compromises on things and talking about what's really best for both sides. What makes sense and how can you get there? The next part of it really sitting down is understanding standards, right? And standards are really important because if you get your options on the table and people cannot agree to those options, there's typically just a standstill, right? So a great example to think about is a salary negotiation, right? Maybe some party says, I want a 13% salary increase, the other person says 4%. Well, at that point, you're kind of at a standstill because no one really understands the other numbers. And if we just negotiate at the numbers standpoint, what happens is very adversarial because we're looking at the numbers and we're throwing them out there to put something there so then we can learn more information and back into a solution. But that's not really helpful. So you can use standards this way, right? If you're asking for 13% and the employer only says four, the reason you're asking for 13% is that is what people are getting in your salary range in your industry for your position. And you can show that data and that information. And the stronger your information is the more you're gonna sway someone, especially if you can get them to agree that your standard is the right one. And using more standardly acceptable standards are something that can help people actually through this process. And it's something that then people can negotiate on, agree on, or even find a compromise between that. But you can actually take the lead on that in helping that process. The next thing is really just the people. And I talk about that because the people are absolutely critical because what happens a lot of times is people get soft on the people because they need the relationship or they become hard on the people because they feel like they can walk away from everything. And that becomes really difficult. So what you need to be is soft on the people, hard on the problem and really understand that emotions, preconceptions, biases, and the communications process are really getting to find how you negotiate and if you can negotiate a win-win agreement.  Now, a lot of times people are hard on negotiations because they're gonna walk away and they will be successful many times but they'll also lose a lot of deals along the way. So I think you wanna find somewhere where again that you are soft on the people and hard on the problem. I think that will really help what's going on. And part of this really is listening, right? I mean, you have to be able to listen in the people process and get out the other party's needs, wants, interests and then dig down into the why and that will help you. And the last part of this is really, it came from a professor, William Urie, it's U-R-Y and he's from Harvard University and he talks about the best alternative to negotiated agreement and it's called a BATNA. And it's very important and what you figure out is your BATNA before you come to the table and that means what is it that you want that before you're willing to walk away? What are you willing to settle at? And then what is the best alternative to that, right? So in a salary negotiation, you might think to yourself, well, if I don't get at least 10%, I'm willing to walk away because I know there are other jobs out there that I can get that amount of salary for versus at 4% increase if that's all you get. So I think you've gotta know what your BATNA is at all times in order for you to negotiate these agreements and understanding where are the lines where you're willing to walk away from and the lines where you're not. Because otherwise you're not gonna really know how to compromise or where to come in from. So again, I think you really gotta understand the components of how to go through negotiations, right? And get through all of these.  And when you can put these all together, you can be really powerful in the negotiating process whether it's internally in your organization or externally in other parties. And so something for you to think about and going through the process.


So the heart of mysticism, isn't that a lovely topic to be sharing together today? Yeah, yeah, I mean we always say that, you know, what this life is about is truly a mystical branch of A Cross in Miracles because A Cross in Miracles is to be practiced and when we really give our lives over to the practice of the teachings, this becomes a life of mysticism. It's inevitable. It's true. Mysticism, whether you're a scientist or a philosopher or a theologian or of course a miracle student, the light of heaven is where this devotion goes and the gateway to that is the present moment. And now you can see what mysticism really is. When you wake up in the day, your sole purpose is to reach eternity. That's the only purpose there is, is to reach eternity. When we really give ourselves over to this path, we started to feel those guidance that spirit offered to us guide us into experiences where we started to see really we were wrong about everything we thought we knew. This happy realization that actually I was wrong about this painful judgment, about this painful belief about myself and about everybody else. Like I sometimes am asked what is mysticism and I'll say it's devotion to God. It's single pointed devotion to God.


Class is Harley an all-american dog handled by Erin Stumler from Floyd's Nobs, Indiana Harley is a phenomenal story a cancer survivor had multiple surgeries to remove cancerous masses on her legs in 2017 and here she is now in 2019 Competing and I know Terry you do a lot of work with cancer research for dogs to see this. It's amazing I mean cancer is not a death sentence let the dogs be who they are I mean it is amazing the resilience of dogs when they fight cancer It's hard not to root right now for Harley who's ten years old Nice turn get in there get in that tunnel if you think about it Justin. It's also like therapy. You know the dogs are having fun It's almost it's almost for for people battling cancer this could be motivation. Yeah, my border collie Reveley For the entire year. She was undergoing chemo had the greatest agility here for career So it's not a death sentence these dogs want to keep competing It is amazing and just and just look at Harley go Through the we pulls into the lead a cancer survivor Awesome to see what Harley just did the all-american dog You know here we go off that turn on jump number three tunnel with those two offset jumps slightly turned in and back into that tunnel Correct and correct out what a story for Harley You put surgery not even two years ago and now is the champion in the 24 inch class With a time of 43.92 went second overall in this class Wow, let's go over to Jen. Thanks Justin Aaron Congratulations. What is the key to staying engaged with your dog all the way through the course? Lots of treats Running she loves to chase me so lots of running and lots of treats just making it really positive lots of fun Well and speaking of positive Harley has such an amazing story a cancer survivor just two years ago undergoing surgeries That must have been so difficult for both of you Yeah, but you know, we're glad to have her with us let alone running agility So yeah, we're we're happy to still be here doing this and apparently being awesome at it So tonight a winner in more ways than one that's for sure. Congratulations Harley. Justin will send it back to you Jen thank you so much a story about never giving up the all-american dog at 10 years old overcame cancer in 2017 and now wins in this 24 inch class with a time of 43.92 unseating kaboom a two-time defending champion


Hi and how are you all today? I am Priyanka and let us discuss the following question. It says prove that sign 3x plus sign 2x minus sign x is equal to 4 sign x cos x by 2 cos 3x by 2 But before proceeding on with the solution, we should be well versed with the identity that will be helping us To do the following question. It says that sign a minus sign b is equal to 2 cos a plus b by 2 Sign a minus b by 2 also sign 2x is equal to 2 sign x cos x once one more says cos a plus cos b is equal to 2 cos a plus b by 2 cos a minus b by 2 So the knowledge of these three identities is the key idea that is going to help us in the following proof So should we start with the proof? We'll be starting with the left-hand side Now the expression which is given to us in the left-hand side is sign 3x plus sign 2x minus sign x right now for these two or rather we'll be pairing sign 3x and sign x together and We'll make use of the identity that we have told you above that is sign a minus sign b So it will be sign 3x minus sign x in one bracket plus Sign 2x Right now here. We'll be applying the formula and on doing so we have 2 cos a plus b by 2 sign a minus b by 2 and then we'll be having sign 2x also on simplifying We have 2 cos this is 4x 4x by 2 is 2x sign 2x by 2 is x plus sign 2x right So also now here sign 2x can be written as 2 sign x cos x as we have discussed above So we have 2 cos 2x sign x plus 2 sign x Cos x now if you carefully analyze 2 sign x can be taken out as the common Element and we are left with cos 2x plus Cos x now here we can use the formula cos a plus cos b and on doing so we have 2 sign 2 cos a plus b by 2 cos a minus b by 2 where our a is 2x and b is x on simplifying it further We have 2 cos 3x by 2 cos x by 2 and on opening the brackets We have 4 sign x cos x by 2 and Cos 3x by 2 right and this was our Right inside itself so we can say that LHS is equal to RHS and hence We have proved the given statement to us. I hope you enjoyed the session bye for now