Yay! We've been given the go-ahead by the WZoom lady to let us know that things are recording. Welcome everybody as you join. It is lovely to see you all again and welcome to anybody who's here for the first time. I have no preparation things to ask you to do today.  So as you join let us know where you're joining us from and while you're doing that I'll introduce myself. My name is Jonathan. I live in Cape Town, South Africa. I am sponsored. I work at automatic and I'm sponsored to work with the training team and that means I create these workshops, these online workshops, we create tutorials, we create lesson plans and all kinds of other learning material for learn.wordpress.org. I am based in Cape Town and it is currently the middle of winter in Cape Town. So it is cold and it is wet and it is windy. We don't get snow but we do get lots of rain so everything is flooding. If you watch the news, the news will tell you that Cape Town is being flooded at the moment and you will see videos of cars driving through water and all kinds of other fun things. So that's what's happening in Cape Town right now. I also am still recovering from a little bit of, excuse me, a little bit of a cold so I'm going to take a throat lozenge now because I'm going to be talking for the next hour and while I do that I will start reading the chat and seeing where everybody is from. Pro tip folks, if you're ever hosting a workshop, take the throat lozenge before you hit record. Ben is from Austin, Texas. Welcome Ben. What's the weather like in Austin today? Ben, is it, I assume it's summer up there in the Northern Hemisphere? I just got back from WordCamp Europe in Athens and it was, Ben says it's hot, very hot. Yes, Athens was hot, very hot and it was quite a mind shift getting back from Athens after experiencing summer. 102, wow, that is very warm. Okay. So today we're going to be running a, or at least I'm going to be hosting a WordPress developer quiz. It is the first time I've done anything like this. I have done a quiz before. I did it at my meetup, my local Cape Town meetup recently and it was quite fun just to run through some personally related questions and see what folks know. So we're going to have, I'm going to dive into the announcements quickly first and then we'll get on to the rules. Once again, welcome everybody. Welcome to everybody who is here. I did post this meetup, this online workshop a little bit later than normal, so we're going to have a small group which is perfectly fine. As always, please let me know if you can't see the slide right now on screen. So you should see an announcement slide with all of these announcements that I'm busy reading out. If you can't see that, let me know and I'll just re-enable the share. Hi, Shimali, welcome. We are presenting in focus mode. I don't have a co-host with me today because I posted the online workshop a bit too late. So focus mode just means that you all can see me, but you can't see each other. If you would like to enable your video, you're more than welcome to, but you're welcome to leave it disabled as well. If you want to take a score while we work through this, it would be really cool if we could have a winner or a few winners at the end of this. Either grab a pen and paper to keep back of your score or some kind of note taking up on your PC. And as we go through each question, you'll be able to keep track of your score whether you've got the questions right or not. If I'm going too fast, please do let me know. I will be posting this to WordPress TV afterwards. I don't know if it'll benefit anybody to have it there, but we can always post it afterwards. And then if you're looking for more WordPress developer content or any kind of WordPress focus content to learn, you can go to learn.wordpress.org. All right, the rules for today. This goes without saying, but no cheating, please. All of the questions that I'm asking today are either findable in a WordPress install or on the WordPress.org website. Excuse me. So please no cheating. Let's be honest and let's see how well you know WordPress from a developer point of view. There are four sections with five questions each based on, and I should change this to the WordPress developer, WordPress developer docs and the WordPress developer site or the WordPress website. So effectively, you can go on to WordPress.org and like looking for these answers if you really wanted to. I'm going to read each question twice, and then I'm going to leave a few seconds to let you think about whether you know the answer. If you think that you know the answer, you can write it down, you can type it out, whatever the case may be. And then I will give you four possible answers. So I'll limit your options. So you see maybe if you can guess from those four answers, if your answer was in those four. If you don't have an answer, you can choose from one of those four and then write down what you think the answer is. I will then read out the correct answer. And if your answer that you chose or wrote down was correct, please award yourself one point.  I'm just running through the rules. You're welcome to read them as I go there. If anyone disagrees with whether or not that is a correct answer, you are welcome to say so either in the chat or unmute your mic and say so. And then we'll check it out together and we'll go and we'll go and find the point in the documentation where I found what I believe to be the answer and we can discuss that. As I said earlier, there are four rounds or four sections at the end of each round. Total up your score for that round and then share it with us in the chat. It would be fun to see who's getting what at the end of each round. And then finally, right at the end of the quiz, total up your score and share that in the chat with us. And then we will see who can crown themselves the WordPress developer quiz winner for today. Just to note on the questions, there are very, I would say beginner friendly questions. I've based most of them on the content that I've been working on over the course of the last year. So I think this is going to be something that I'm going to do every year at around about this time in June. So just for some context, the first tutorial or at least the first workshops that I created for WordPress were around May, June. So I'm thinking of doing this sort of every year as a semi-anniversary thing. Maybe even if we do it around about the same date or a similar date to the WordPress anniversary, it could be a fun little thing we do every year. So it will be developer focused and I will base it on the previous years worth of content that I've created. So every year it'll get a little bit harder and a little bit more difficult. Okay. Any questions from anybody about how this is going to work? You are, of course, welcome to just sit and listen if you want to. You can have to participate, but if you would like to participate, that would be great. Any questions, any comments, anything you want to say or do or ask before we kick off? All right. I don't have any questions. So what I'm going to do now is I'm going to switch over to the actual developer quiz side. I will be keeping an eye on the chat. You're also welcome to unmute if you want to say anything or ask questions. Hopefully you've got your pen, paper, and or note taking app ready. And try not to read ahead with the questions down the side. I wonder if one can hide the form strip. Yes, we can. We can hide the form strip. Excellent. So you can't jump ahead before we get there. All right. Let's move on to the first section. The first section is general WordPress knowledge. So this is less developer focused and we'll just kind of general things around WordPress with a little bit of a developer start if you will. And the first question is which version of WordPress and when I say version, I mean the version number of WordPress was the first released with the new block editor code named Gutenberg. In other words, which version of WordPress was Gutenberg merged to WordPress core? Don't post your answer in the chat yet. Don't post your answers in the chat, write it down for yourselves and keep that to yourself for now. We can we can discuss it later. So which version of WordPress was the first released with the new block editor? The options that I will give you, I'm going to paste the options in the chat if you're not sure what options you have available to you. I hope this works. Yes, those are the options. So 4.8, 4.9, 5.0 or 5.1. Those are the four options that you have at around about the time that the question happened. So which version, excuse me, which version of WordPress was the first released with the new block editor code named Gutenberg? The answer, as somebody pointed out in the chat earlier, I did ask you to delete it so I didn't see who that was. But the person who posted that, if they could please post the answer again, the answer is 5.0. 5.0 was when Gutenberg was version to core. Who was that that said 5.0? I want to give them a quick, a quick well done. If you just remember who that was, the name went and disappeared again. Anyway, whoever that was well done. The answer is 5.0. That was when Gutenberg was first merged into WordPress core. And if you answered 5.0, please give yourself a point for that one. All right. Moving on to the next question. Remember, don't paste your answers in the chat because you're going to be giving answers away. What is the name of the WordPress file that contains the database credentials? So there's a specific file in WordPress. It contains the database credentials. What is the full name of that file? Some of you probably know what that is. We dive into it quite a bit when we work with these WordPress online workshops that I do. I'm going to copy out the answers here now. So here are your four options. The four options are WP-settings.hp, WP-config.php, WP-credentials, and WP-includes. So if you don't have an answer yet, you can pick from one of those. This should be doable by everybody, I would say. So if you're not sure, the answer will come to you now. The answer is, of course, option B, WP-config.php. So if you got that right, give yourself a point. If you didn't get that right and you disagree with me, you're welcome to let me know. But if you got that right, please give yourself a point. Okay. Moving on to the next question. Now, this one, no cheating. Please. It's very easy to cheat with this one. It takes a few seconds to load it up and have a look. But try and think about it and try and remember what the right answer is here. On a clean, brand new, clean default WordPress install. In other words, not one that is installed by a hosting company. It's a default core install. What is the first dashboard widget? So the dashboard widgets all happen on the right-hand side there of the dashboard. What is the first dashboard widget that appears on the page? So it's right at the top on the left, the very first dashboard widget that appears. Think about it. It's one of those ones where you log into the dashboard every day, but you never take notes of what the widgets are. So I'll give you some options. If you know the answer to this, well done. The options I'm going to give you are right now. At a glance, the site health status or the activity. So which one of those is the first one that appears on a brand new clean WordPress install? Then I've got a clean WordPress install open up here. Well, it's not clean anymore, but it was a default install. I haven't moved any dashboard widgets around. So we'll switch over to now and we'll see that site health status is the very first dashboard widget that appears. It used to be at a glance. At a glance used to be the first one. So if you answered at a glance, that used to be the way it is. But when site health was added to WordPress, site health became the first one that appears in the dashboard. Okay. So if you got that right, give yourself a point and we will move on to the next one. Okay. This one gets, this one gets a bit interesting.  I'm going to limit your options from the word go. It is done. I'm old school. Yep. I caught a couple of folks like that when I did the WordPress quiz at my local meetup agenda. Don't worry. All right. So I'm going to limit your options for this core contributors question. I'm going to paste them in the chat as they are. I'll read them out. So which of the following core contributors is not a member of the team known as the lead developers? So is it Helen Hossandi? Is it Mark Jaquith? Is it Andrew Oz? Or is it Jonathan Desrosier? Now I was fortunate to meet Jonathan at WordCamp Europe this week and get the pronunciation of his surname correct. Because I knew all the others, but not his. So I'm glad I'm able to pronounce that correctly now. So which of these, so all of these names, they are core contributors to WordPress. One of them is not part of the team known as the lead developers. If you know the answer, please write it down or just write down one to four, whatever the case may be. And then I will share the answer with you in a second. Okay. Hopefully you've picked one. Hopefully you think you know which one it is. The answer is Jonathan Desrosier. Jonathan is a member of the core contributors, but not a member of the team of lead developers. If you got that one right, well done. That means you know the core contributors and the lead developers quite well. If you don't know where to find the core contributors and the lead developers, you can go to the make WordPress teams. And I think it's useful to kind of know how to find these things. Go to the core team and then have a look in their handbook. I'll share this link with you in a second. And a project organization. I'll pop this link into the chat. And there you will see if you scroll down the project leadership, community leadership, the WordPress core team, which is Helen, Dion, Mark, Andrew, and Andrew. And then the committers, which is below that. And Jonathan Desrosier is in this list here somewhere. I don't see him right now. There he is, Jonathan Desrosier. So he is a core committer, but he is not a lead developer. That's our, yes, Edwin, that is a very hard, coordinate question. I can't have people getting everything right now, can I? Okay. What I'm hoping is that this quiz gets you to go and find out these things and go and read up a bit more about the project. That is the goal today. I should have probably mentioned that earlier. All right. So the next question, and we were just looking at the make teams. So this is very perfectly aligned with that page. Please don't go and cheat now if you have it open there. There are a number of make teams in the WordPress projects that contribute to different parts of the software. I'm going to give you three names of three make teams. I'm going to paste them in the chat. I'm going to read them out as well. And I want you to tell me which one is not a mech team. So the four teams are tied, open-verse, learn, and meta. So which one of those four names does not appear when you go to the make teams at WordPress.org? Don't go there now and cheat. If you don't know the answer, try and work it out. But which one of these four teams tied, open-verse, learn, and meta? Which one of their names does not appear at a make team on the WordPress.org make site? I'm going to have to edit out all the coughing, I think. All right. So hopefully you've gotten an answer for that one. Hopefully you've got an idea of what's going on. It's a little bit of a cheeky one. It's a little bit of a curveball. But let's go and have a look at the WordPress page. And I can tell you the answer before we go there. The answer is the learn team. That is the answer to this question. The learn team is not a make team. If you thought it was tied, tied is a make team. They're down here at the bottom somewhere. There it is tied. I recommend going and checking that out if you've never heard of it. Open-verse is also a make team. There it is over there. I recommend checking that out. The learn team doesn't exist. The learn team is actually the training team. They manage learn.wordpress.org. And they're sometimes called the learn team, but they're actually the training team. And then finally, the meta team is a team that exists. They manage all the WordPress.org websites. So if you got that one right, well done. It was purposely a tricky one. And hopefully, you've learned some more about some of the other make teams. All righty. Moving on. Sorry, my slides are doing weird things. Okay. What is the name of the initiative within the WordPress project that encourages organizations that use WordPress to contribute 5% of their resources to WordPress development? So if you know the answer to that, think about it and write it down. If you don't know, I'm going to give you some options in a second. But if you do know, write it down so long. Here are the four options I'm going to give you. Is it five for WordPress? Is it five for the future? Is it future five or is it WordPress five? I've given you some options there. Think about it. If you know the answer, go ahead and write it down or make a note. And then we will find out the answer. So which one is the name of the initiative that encourages organizations that use WordPress to contribute 5% of their resources to WordPress development? The answer, of course, is five for the future. It's an initiative that mapped, there it is, five for the future. Matt kicked off a number of years ago. And the idea is that if you are making money from WordPress, if you're a company that makes money from WordPress, ideally, you should participate in five for the future and dedicating 5% of your time back to the project. For some, it's easier than others. For some companies, it's easier than others. But most folks that I know in the project are either freelancers or working for companies do try and dedicate some of their time towards it. And that's what makes the project wonderful and what makes the project go. So if you've never heard of five for the future, do recommend going and reading about that. You can find the link over here. Okay. So we've reached the end of round one. We had five questions. Please total up your results for the end of round one. And please go ahead and post your results in the chat so we can see how everybody did. Stuart got four out of six. That's excellent. Well done. Hopefully, the one that you got wrong, I've inspired you to go and learn more about it. I'm going to guess it was maybe the dashboard one. Ben got one out of six. Shamali got three out of six. Adrian got two out of six. That's fine. That's the beauty of quizzes. Drivel got three out of six. Three out of five. There should be five questions. Not six, folks. So if you're posting out of four out of six, it should be four out of five. And this side, there were six. Were there six? Ready? Oh, there were six. Oh, that's, I do apologize. There were six. There were supposed to be five and one snuck in it. So I apologize. There were six. So all good. That was my mistake. Bonus question. Well done to those of you. Did anybody get all six right? Anybody get all six right? If you didn't, that's not a problem. I'm not expecting people to know all of these things. Some of these things I learned when I was putting this quiz together. Some of them I knew. The dashboard one, I kind of went in the dashboard and went down to look. So that one I learned. But learn when I was cheating because I worked with the training team, but I know folks call them the learn team. So that was a cheat on my part. So I would have, probably only got about four out of six. Okay. Right. So now we're going to move on to round two, which are developer fundamentals. There are five questions in this one. I did have five. So one, two, three, four, five. And let's move on to question one. So I'm going to give you four names. And I want you to tell me which of these four names is not a local development environment. And I'm going to add, this is a trick question. So which of the following is not a local development environment? The options are SHMP, I believe it's called XAMPB, MAM, Local by Flywheel, and Dev Kenster. Which one of those four is not a local development environment? Okay. So hopefully you've locked in your answer for that one. Hopefully it was very, very easy. If not, that's fine. As I said, it was a tricky question. The answer of course is bear with me, Local by Flywheel. And the reason for that is that Local by Flywheel is no longer called Local by Flywheel. It's now called localwp.com. Okay. So that was a little bit sneaky on my part or it's local. The company Flywheel was very tricky, but the company of Flywheel was I think acquired by the folks at WP Engine. Yes, I can see WP Engine at the top there. And they renamed Local by Flywheel because Flywheel is no longer a company to Local WP. And that is why it is known as now. So yes, it was a tricky question on my part. I do admit I like to be tricky like that sometimes. But yes, Local by Flywheel doesn't exist anymore. It's now known as Local WP. All right. The next question. Sorry. Which WordPress specific developer feature, and this is how it's described in the documentation, is described as a way for one piece of code to interact with or modify another piece of code at specific predefined spots. So which WordPress specific developer feature is described as a way for one piece of code to interact with or modify another piece of code at specific predefined spots? It's something that is very specific to WordPress. I have never seen this anywhere else. In fact, the only place that I have seen this elsewhere is where it's been implemented as it is implemented in WordPress. And I actually have seen this in the Laravel community, someone bought a package to implement this type of functionality within Laravel. The options I'm going to give you are actions, hooks, sorry, actions, filters, hooks and template tags. So one of those four is described in the documentation as a way for one piece of code to interact with or modify another piece of code at specific predefined spots. The answer is hooks. So hooks are the things that allow you to modify code at predefined spots. Actions and filters are a type of hook. Actions are a hook where you can execute specific functionality at that predefined spot. Filters are a type of hook where you can manipulate or modify another piece of code at that predefined spot, but they both fall under the term hooks. And template tags, obviously I have nothing to do with any of this. They are just functions that are worked in templates to call various pieces of data from the WordPress database. So I hope you got that right. If you answered actions, is very common or action hooks or something like that is very common for people to get those terms confused. So remember that hooks are the local term for actions or filters. You get action hooks and you get filter hooks. But the global term, those pieces of functionality are hooks. All right. Moving on, question three. In a default WordPress install, in other words, the Favours 500 install, the hosting company doesn't affect any changes. This is the default hardcoded into WordPress core. What is the prefix used for all table names? So this one should be fairly straightforward, but I will pop some options into the chat so that you can choose from them. Your options are WP, TBL underscore, WP underscore or WP underscore underscore. Those are the four options WP, TBL underscore, WP underscore or WP underscore underscore. Most folks should be able to get that right, I think, unless you've never worked with tables in that way in the database. But if you're not 100% sure, pick one from that list that you think looks right and then we'll see how it goes. All right. And the answer is WP underscore. So WP underscore is the default prefix for all WordPress tables. If you change the default prefix in the WP config file to something else, that will then become the prefix, the default prefix. But in a default WordPress install, that is what is set up in the code and that is what it will use. All right. Now this one gets a little bit trickier. So I'm going to give you the options before I'm not going to sort of leave it with you. I'm going to give you the options once I ask the question. And then I'll give you some time to think about the order of execution. But the question is, as part of a WordPress front-end request, what is the correct order of execution that takes place inside the WP blog header.php file? So the WP blog header bit.php file is the one that is included into the index file when a request runs. And then it performs three steps. And if you were here for my request life cycle workshop, you'll remember those steps. I'm going to paste the options here. The first option is, and I'm going to spread them out a little bit and then I'll read them out. So the first option is it runs, let me just paste this here. First option is it runs the WP function, requires the WP load.php file, and then requires the template loader. That's the first option. The second option is it requires the load.php file, requires the template loader file, and then runs the WP function. Or the third option is first it requires the WP load file, then runs the WP function, and then requires the template loader file. So those are the three possible orders of execution. One of them is correct. The other two are incorrect. So give it a think, give it a few seconds if you're not sure.  Think about how things might execute. And then once you have an answer, write it down or make a note of which one of those three you want to go with. A little bit of a few seconds while I have this water and then we'll actually go and have a look and see what that order is. Okay, so let me open up my VS code and let's open up the WP blog header. And we will see the answer there is option number three. It first requires the WP load, which loads the entire library. Then it sets up the WordPress query by running the WP function. And then last but not least, it includes the template loader to then load the template for the data. So the correct answer in that list of three is the last one. So if you had ABC or 123, it would be C or three. If you got it right, give yourself a point. If you didn't get it right, that's okay. Now you know, and now if anybody comes up to you in the street that says to you, what's the order of execution, then you know the answer. Not that anybody might do that, but there you go. All right. And then moving on to the last question in this section, and we're coming up on half an hour, so that's perfect. Which is, now listen carefully to this one, which is the correct debugging constant to use when you want to disable logging errors to the screen? Okay. So which is the correct debugging constant to use when you want to disable logging errors to the screen? If you don't know that one, if you don't know what that is, I'm going to give you some options that you can choose from. I'm going to paste them in the chat and I'll read them out. The options are WP underscore debug, WP underscore debug underscore log, WP underscore debug underscore display, and then the save queries constant. So these are all uppercase. These are all constants. One of them you use to disable logging errors to the screen. Okay. And while we do that, I'm going to go on to the documentation so that we can find the answer. Now I'll just search for debugging in WordPress. And I'll find that in the docs. And the correct answer is the WP debug display constant. So if you answered, sorry, if you answered WP debug, that's the incorrect answer because that enables or disables the whole debugging functionality. WP debug log obviously enables logging the errors to a log file. And then WP debug display enables you to turn on or off with those errors on log to screen. So it's not that when you enable debug, it is switching it on to screen. That's just part of that functionality for displaying the screen. But you can use debug display to control that functionality. So a little bit of a tricky question on my part. I'd be interested to know if anybody disagrees with me on that answer. But I see the debug display one is the one that controls that functionality of displaying on the screen. Okay. So that was the end of round two. There were five questions that time. So total up your answers and then let me know in the chat what you got for the developer fundamental section. Ben got five. Yeah, well done, Ben. Okay, drill. I got four. Well done. That's good. Shimali got four. Excellent. Well done. Stuart got three. Good job. I mean, that is six out of 10. That's a 60%. That's a pass. And Adrian says two out of four. I was down to this question. Okay, fair enough, Adrian. We'll give you that one because you were downstairs and you weren't here. So well done everybody for your scores on that round. If you got them wrong, hopefully you either are comfortable to disagree with me and you will do so at some point in time. You're welcome to disagree in the chat or via using your mic. Or if you agree with me, then hopefully it's helped you and you learn a little bit more about some developer fundamentals inside of WordPress. Okay. Let us move on to section three. This should have been not round two. This should have been round three. WordPress themes. So we've got five questions around WordPress themes. The first question is what is the name given to the new type of WordPress theme that exists that uses both block theme elements and classic theme elements? In other words, it uses block templates and template parts and all that cool stuff, but it also uses PHP code and custom JavaScript and all those kind of things. There's a new term for that type of themes. We've got classic themes, which is the old school PHP stuff. We've got the block themes, which are the new using block templates and all that kind of thing. What is the name of the new type of WordPress theme that uses both block themes and classic themes elements? The options I'm going to give you if you're not sure, is it known as a hybrid theme? Is it known as a combination theme or is it known as a merge theme? And the answer, if you're not sure, the answer is hybrid themes. I don't quite know where the documentation is on that one, but if you search for hybrid theme, you should find that we talk about, here we go, WordPress to the resources. And they talk about a hybrid theme somewhere here. Hybrid theme is a classic theme that adopts site editing features such as a theme JSON or template editor. So it combines classic theme elements with block theme elements. That is a hybrid theme that we have right now. And then they talk about universal themes while we're here is a block theme that has the customizer options. The customizer is not available as a default to the block theme, but you can enable it by adding customized register in your functions.php. So there are some interesting theme types that are coming across as folks gradually adopt site editing features. So we effectively have four different types of themes now, which is quite interesting, I think. Okay, if you got that one right, give yourself a point and then we will move on to the next question. Which of the following files, and I'm going to read these files out and paste them in the chat, which the following files is not required for a valid classic theme. So we're thinking about PHP themes now. One of these files is not required. If you don't have this file in your theme, it'll still work as a classic theme. The options are index.php, functions.php, style.css and theme.json. So which of those files is not required for a classic theme? And if you're a classic theme developer and you get this one wrong, I will be very surprised. So which one of those files is not required for a classic theme? I'm just going to type it out. The answer is, of course, a theme.json file. So a theme.json file is very specific something to either a hybrid theme or a block theme. Adding a theme.json enables you to enable certain block theme functionality in your classic theme. There's only a certain limited set of functionality that you can enable, but you can add theme.json to your classic theme and it will enable certain functionality, but it is not required for a classic theme to be a classic theme. Okay. If you've got that right, give yourself a point. Otherwise, if there are no questions or arguments, if anybody disagrees with me, you're welcome to let me know. Otherwise, we'll move on to the next question. Okay. Now, this is another one of those tricky ones. So read and or listen to this very carefully. Which of the following files is, and I'm not saying required here, I'm saying is not strictly necessary for a valid block theme. What do I mean by strictly necessary? I mean, works in a valid block theme, but it can exist. It doesn't need to exist for a block theme to be a valid block theme. So the four options I'm going to give you, pasting them in the chat now are the index.html, functions.php, style.css or theme.json. So which of those, if you took it away, but you had the other three in a theme folder, it would still be a valid block theme. So we discussed this one very early on where we did a workshop on the basics of a block theme. There are essentially three core files that you need. If you have those three files, you have a valid block theme. The answer in this case is the functions.php file. You don't need a functions.php file for a block theme. You do need the style.css because that has the theme header. You do need the theme.json to have all the block theme stuff enabled. You can actually leave it out, but it's better to have one added because then you can customize for your specific theme, but it is actually one that you can leave out, but it's generally a good idea to include it. So I would call it necessary. And that's why I use the word not strictly necessary. And then your index.html is your root template file. You do need a root template file for a block theme. In this case, it's index.html, but your functions.php, you can take it out. If you just have an index.html, a style.css and a theme.json without a functions.php, your theme will still be a valid block theme. Okay, I hope everybody agrees with me on that one. If you don't, you're welcome to argue with me right now. Otherwise, we will move on to the next question. The next question is what must every theme have to make it a valid theme, block or otherwise, block theme, classic theme, hydro theme, it must have at least this thing. And so the options I'm going to give you are either Tristan's just entered here, so we're just going to let Tristan join, either an index, so either an index template file must be there or a style.css file must be there. Or you must have a theme header in your style.css, or all of the above, an index template and a style.css and a theme header comments in the style.css file. So which of those four options must every theme have to be a valid WordPress theme? So basically it's either A, B or C or D, all of the above. So let me know what you think there. Write down your answer if you're not sure. I mean, you are sure. And then we will look at the answer. Okay. And the answer is, of course, the last one, all of the above. It must have an index template file, either an index.php or an index.html, depending on the type of theme. It must have a style.css file and inside of the style.css, it must have a theme header. In a classic theme, you may be registering the style.css to get it to work using a function.php, but it must have those three things. So the answer is D, all of them. Hopefully, you all got that right. Okay. And then let us move on to the last question in this round. This one's a little bit of a PHP developer question. How can a WordPress developer ensure that any PHP functions developed for the theme do not create conflicts? So there are a couple of ways that we can do that, possibly, maybe, or there's one way. Let's have a look. So the options are, I'm just going to space these out so they're a little bit easier to read. Sorry, folks. So how can a WordPress developer ensure that any PHP functions developed for the theme do not create conflicts? The options are, by keeping them in the functions.php file, by not using the same function names as existing core functions, by ensuring that every function is namespaced, either with a custom function prefix or using custom classes, or by not creating any custom functions. So which one of those is the best option for ensuring that a WordPress developer creates PHP functionality that does not create conflicts? So if you know the answers to that, write it down. And then I'll give you a few seconds. And once you've written it down, then we'll reveal the other. Just to let you know, we're doing a WordPress developer quiz today. I'm just running through questions and answers and folks are taking scores. So you're welcome just to listen along. If you know the answers, you're welcome to write them down too, and then check them against your answers. But we're not posting those in the chat. Okay, just to not give it away. Wrapping each function, it does exist, is also a good option. But the only four options that I'm offering folks today are the four listed there. And the answer that I'm going to go with today of the four answers is to ensure that every function is namespaced, either with a custom prefix or a custom class object. Tristan's answer is not wrong. But the problem with doing that is if you want that specific functionality to work and somebody else is using the same function name, then your function is going to get overwritten by theirs or vice versa. So the best way to do is to have a prefix on the function name so you can keep your custom functionality, or put it into a custom class object for the function and then call your function names there. That's the best way to make sure that there are no conflicts. Okay. So those are the five questions for round, are we on round two, round three? For round three, anything to do with themes, please add up your scores for this round and let us know in the chat what you scored. And then we'll move on to round four. Okay, Drew all got five. Excellent. Ben got two. Edwin got two. Shamali got four. Well, everybody, hopefully you've learned something today for those of you who didn't get big scores, but hopefully you're enjoying this at least and you're sticking with us. So moving on to the last round, Tristan, if you want to join us, what I'm asking folks to do is make a note of their answers locally and if they get it right to give themselves a point. And if they disagree with what I'm saying, I think it's right, you're welcome to comment and say, I disagree with you and we can dive into it and go and have a look. Okay. So round four is all about WordPress plugins. And we're going to start with the first question. I'm not going to post answers in the chat because it's an easy one. It's a true or false question. True or false, it is possible to create a plugin just by adding a single PHP file inside the plugins directory and then putting your plugin functionality in there. I should have added that afterwards. So if you want to create a simple plugin, you can code your plugin in a single PHP file, make sure it has all the right information that it needs. And it just needs to be a single file in the plugins directory. Is that true or is that false? So write down your answer if you would like to or remember it in your head. I'm not going to post options because it's only a true or false. While I'm doing that, I'm going to open up my VS code instance because then we can have a look at the answer from there. So in my WP content plugins, the answer is of course true. And we know this because there is a plugin in the WordPress, sorry, in the WordPress core install called HelloDolly, which is literally one single hello.php file with the plugin header and all the plugin functionality in that one file. So yes, it is very possible to create a plugin that is just one file and just have that file in the plugins directory. It's not very neat that way. So generally it's better to put the plugin file inside a plugin folder. So it's nice and neat. And then as your plugin grows and you have more code, it's better to start separating things out and putting them into logical places, maybe considering using classes and objects to control a certain common functionality. But yes, it is perfectly possible to have a single plugin file in the plugins directory of your WordPress install and that can be your plugin file, your valid plugin. Okay. Moving on to question two, which of the, which of the following headers is not a valid, hang on, is not a valid plugin header field. So as we all know, the plugin header contains information of the plugin that the WordPress plugin repository reads from. I'm going to paste the four options in the chat that we can choose from. So which of the following is not a valid plugin header field? Is it the version? Is it requires at least? Is it license or is it domain? One of those four is an invalid plugin header. If you coded into plugin header, it would not work, it would not get picked up by anywhere. And it could be essentially useless. So with those four is not a valid plugin header field. Is it version requires at least license or domain? So while you're choosing your answer from there, I'm going to go and get the answer for you in the documentation. So we're going to go over to developer resource, no, not the documentation developer resources. We're going to go over into plugins and we're going to read about plugin basics. And we're going to read about header requirements. And here they talk about all the header fields. And if you look through this list, you will see that version is a valid header field requires at least sorry, requires at least is a valid header field. Sorry, my my chat GPT extension is causing all kinds of havoc. So I'm going to disable it for now. How can I disable it for now? How do I disable this? When I click the extension, there we go. So version is a valid field. Sorry, it's doing it again. Anyway, I'll figure it out. Requires at least over there is a valid field. License is a valid field, but domain is not a valid field. The domain related or the domain name related fields, either the plugin URI, the home page of the plugin, or the author URI, the author's website or profile or such. But there is no there is a text domain one and a domain path one, but there isn't a plugin header field specifically called domain. So if you got that right, give yourself a point. If you didn't get it right, you can read about the header requirements in the WordPress plugin documentation. All right, let's move on to the next question. I'm going to give you four different types of security vulnerabilities or security related issues, and for which one of these can you implement WordPress nonces to prevent? So the four types of possible vulnerabilities or ways of things, security, things as either SQL injection, invalid login attempts, in other words, folks attempt to log into your site, invalid user access, in other words, somebody having access to something they shouldn't, or something that's known as cross site request forgery, where a website from somewhere else can make a request to something on your site and access data they shouldn't. So which one of those four is prevented by implementing WordPress nonces? So have a think about it, it's a little bit of a more difficult one. While we're doing that, I'm going to go over to the section on plugin security, and I'm going to click on the answer. The answer is of course nonces. And let's have a look at the nonces page in the handbook and it says they help protect against several types of attack, including CSRF, but they do not protect against for certain types of attacks, they should never be relied on for authentication, authorization or access control. So authentication is invalid login attempts, invalid user accesses, access control, SQL injection. So you might have said SQL injection because sometimes people think about like the request coming from outside causing SQL injection, but really SQL injection is prevented by validating your inputs, not so much by cross-site request for you. Sometimes having a request that is not preventing cross-site, I can never say the whole word, cross-site request forgery ends up becoming a SQL injection attack because then folks can post data to your end point and then if they post the right data, a SQL injection attack can happen, but it's not the main thing that nonces are used for to prevent. So combination of nonces and validating your inputs will prevent both cross-site request forgery attempts and SQL injection attempts. Okay, if you disagree with me on that, you're welcome to have that discussion with me, but yet it says it here in the docs, nonces protect against several types of attacks, including cross-site request forgery. Okay, here's a point if you got that one right, and let's move on this just too late, and then we will call this a day, so I hope you're keeping score as you go. Which of the following is not a short code that is included in a WordPress install by default? So there are a series of short codes that WordPress sets up by default. They're not custom-developed, WordPress makes them available to you as a user or as a developer, and I've listed four in the chat, so the four that I listed are quote, gallery, audio, and embed. Which one of those four is not a valid default WordPress short code? While you're thinking about that, I'm going to go over to the WordPress site and I'm going to search for the term short code, and when we get to that page, we will reveal the answer. So I think we can just go to the common short code in the common API's handbook, and we will see somewhere here that I think is a list of them. Maybe it's not on this page. I think it's in the documentation section actually, now that I think about it. So let's go here. We're not going to find them now, are we? I found this page the other day, and I forgot the life of me, can't find it now, but anyway, the correct answer is the quote short code. So the quote short code doesn't exist as a short code at all. There is a quote block, but there isn't a quote short code. There is a gallery short code, an audio short code, and an embed short code. If you are an experienced classic editor person, you will know this, but there is a gallery audio and embed short code, but there isn't a quote short code. So if you got that answer correct, the incorrect short code would be the quote short code. If you got that correct, please give yourself one point. All right, let's find it. I'm going to find there's a page that specifically has the short codes listed. Shamali says which was the correct answer to this, the correct answer to that one. I'm going to paste over here for you is the one across site request forgery. The correct answer for this one was what? I'm going to do a search for short codes again just to find that list. Maybe it's under short codes or not short code. I'm not going to find this now. Anyway, I'll find it and I'll share it with folks afterwards if you would like. Okay, last question for the day. This one's a long one, so bear with me. When registering a custom post type using the register post type function, which is the argument that needs to be set to true to include the custom post type in the WordPress REST API? I'm going to read that again. When registering a custom post type with the register type function, which is the argument that needs to be set to true to include the custom post type in the WordPress REST API? The four options I'm going to give you are either enable REST API, enable REST or enable underscore REST, show in REST API, that should be sorry, not EO, but show in REST API. Let me copy paste that again. So show in REST API is the third option or just the word show in REST. So which of those four options is the argument that needs to be set to true to include the custom post type in the WordPress REST API? Enable underscore REST API, REST underscore API, enable underscore REST, show underscore in underscore REST underscore API. I had saying all those underscores or finally the show underscore in underscore REST argument. So while we're doing that, let's go and have a look for the register post type function. So we can see all the arguments that need to be set. Write down your answer if you have it. And I'm going to switch over to developer docs. And here is register post type. And the answer for this one is the let's go down here. It's the show in REST option. So show in REST, if you set it to true, it decides whether or not to accuse the post type in the REST API, set this to true for the post type to be available in the block editor. So what that will then do is that if you make a request to that post type slug, you will see a list of all of those, all of those custom post types. So show in REST is the right answer. If you got that one right, give yourself a point and then total up your points for round four. And then let me know what you got for round four. So Stuart got four, Ben got four, Shamali got three, Dribble got three, and Adrian, I'm still waiting for another issue, three out of five, Adrian got three as well. Excellent. Good job. Now while you're there, let's total up our scores for all 21 questions, because I thought they were 20, but there was an extra one. So total up your scores for all 21. And then let me know what you got out of 21 for today's quiz. I want to see if we have one or more winners today. So Dribble had 15, Stuart had 15, Shamali had 14, these are all very good scores, folks. Ben had 12, Adrian saw the record, I did much better in real school. Quizzes are super difficult because they're kind of at the last minutes and you don't have the docs handy. So of the folks that have posted their results here, it looks like we have Dribble and Stuart as our winners today with 15 out of 21 each. I don't see anybody else posting their scores. So it looks like those are our winners today. So well done. You can claim rights to being the lone WordPress developer quiz champions. I wish I had a little Tadar noise to play or a cheering or a clapping, but find yourself some sounds of people cheering. Think about people cheering and clapping. Well done to the two of you. Here we go. Do the Tadar noise and at least the emoticon. Well done to everybody. Awesome. I hope this was fun. I hope you enjoyed this. I like doing quizzes like this every now and then because it's something different that forces me to go down rabbit holes and go and learn things and do things. If you are watching this on WordPress TV, I hope you did it along with us and let me know what your score is in the comments. I'd love to hear if anybody got higher than 15. So if you're on WordPress TV watching this, let us know in the comments what your score was. Thank you, Adrian. I'm glad you enjoyed it. It's one of those cheat workshops that I do when I have no time to prepare anything else because I only have a few days of work. Then I'll do something like this just for random fun. Okay, next week we'll be back to doing more developer focused topics. I haven't quite looked at my notes for next week yet, but I will post the new workshop very soon, probably on Monday. I hope you enjoyed today's score. If you're one of the folks, Stuart and Druval, who got 15 out of 20, you have epic bragging rights. I hope you will join me for the next quiz we do this time next year. But otherwise, thank you all for joining me today. Thank you all for playing along with me. I hope you enjoy the rest of your Thursday and the rest of your week and your weekend, and I will see you all again next week. Bye. Thanks, Adrian. Thanks, Oliver. Thank you. I'm trying to remember how this works now. Thank you. Thank you.


Family Theatre presents Action Was Limited. Good, the mutual network in cooperation with Family Theatre presents Action Was Limited with Bing Prosby as your host. Family Theatre's only purpose is to bring to everyone's attention a practice that must become an important part of our lives if we are to win peace for ourselves, peace for our families and peace for the world. Family Theatre urges you to pray, pray together as a family. And now to our drama, Action Was Limited. But with the usual result, no progress was reported. Elsewhere in the fighting front, Action Was Limited. There was only minor patrol activity and casualties were reported light. On the home front, all lines were green. Jamison? Here. Nagle? Nagle? Negalesco. Aren't you ever going to learn how to say my name, Sarge? Your own mother couldn't pronounce that name. Peters? Yeah. We're all out, Peters, you're on patrol. What, again? Yeah, again. What's the matter, Peter, if you don't like your job here, why don't you resign? Jolin? Jolin? Jolin? Who's that? New replacement, General Francis Jolin. Where is he? Jolin! Right here, sir. Sir, we'll get that sir yet. You don't have to call me, sir, son. Yes, sir. Sergeant. I guess I forgot. All right, you guys, be ready to roll in 20 minutes. Where are we going this time? The old man wants us to poke around up in the hills and see what we can find. Oh, this is silly. He knows what we'll find. Glad us risen are next to prove it. Sure, we'll find commies. How many? That's the question he's paying us all the dollars for. Well, I'll just take the box of Snickers and stay here. If you don't mind, Doctor, I ain't curious. You'll all go and like it. I may go, but I won't like it. Jolin, this is your first day at the front, isn't it? Yes, Sergeant. What do you mean by patrol? Well, that's army lingo for picnic in the hills. Yeah. Only instead of ants, we have commies. Oh, we'll have a jolly time, Jolin. Yeah, I'll bet. I only hope I know what to do when we get out to the picnic grounds. Anything these guys tell you, Jolin, you do the opposite and you'll be okay. Says there really much chance of running into some, well, some rough action? Don't know. Sometimes, sometimes not. It all depends. Some reporters in the area, Jolin, you may get written up in your hometown papers. Hey, you really think so, boy, wouldn't that be something? Sure, we've been in print lots of times in the last few months. This, I mean, our outfit, what's it say? Well, that's the only catch. It's always the same thing. Action was limited to minor patrol activity. Casualties were reported light. Yeah. Rosenberg, the guy you replaced, he was one of those light casualties. All right, all right, you guys ring off. Now you're just rubbing it in. Oh, that's okay, Sarge. I'm not scared. I don't think... Oh, you're kidding.  Why, Sarge, and do you mean that clicking noise is your knees knocking together? And here I thought all the time you were entertaining us with an imitation of Xavier Kougat. Ah, dry up. Now, look, we may be going several days or pack accordingly.  I'm going to check in and get our orders. Now, say, if you see if you can get some new ones while you're there, I don't much care for the ones we've got now. Hey, now, there's an idea, Sarge. See if you can't get them to let the flyboys take a look-see over those hills today. In this weather? There. You see, Hewlin, there's the inequality of this whole war. The Air Force stays and drinks hot coffee on cloudy days, and we do all their work for them. Ah, quit griping. You know what you were getting into when you joined up. Joined up? You mean you actually enlisted, Peters? Ah, that recruit impostor caught me with a weak moment. At the time, it seemed like a good way to get out of paying my income tax. Say, Sarge, you think we're... Hey, where'd he go? He's checking in with the CEO. Ah, you better get ready. Army to work, to work, men. Last one ready, you see, you know what? Ah, very funny. Let's see, you... Jameson? No, you're Neg... Negalesco. Negalesco. It's a tough one. Just make it Nick. Well, uh, if I got all the gear I'll need, Nick. Ah, let's see. Yeah, you seem ready for action. You think we'll see any action today, you know what? I mean, real action? You never can tell. Some days, we don't see a soul. Other times, they make it pretty hot for us. What are we supposed to do on the patrol? I guess I should remember a lot of that stuff from my basic training. Now that we scout the enemy positions, try and find out how many troops there are in any given spot, what kind of guns they're sporting, stuff like that. We may not fire a shot, then, huh? Maybe. Sometimes they resent our poking around, though, and make it kind of hot, like I say. Sounds like a guy could get killed doing this. It's been known to happen. What are you going to do? Just duck, I guess. That's the general idea. Now relax, Chum. The first one's always the hardest. I remember my first day. How long have you been at the front? Too long. Five or six months, I guess. Seems like forever. I imagine. You married? Yeah. Got a little baby I've never seen. You? Oh, no, no. I didn't think so. How old are you? Nineteen. You are on the young side. Well, what are you going to do? Yeah. When we get underway. You nervous? Yeah, I guess. There's nothing to these little John's, really. This'll probably be just a good limbering up hike for us. What's your first name? Jerry. All right? Jerry it is. You, boys, I'm ready. We can get on with the war now.  With you on our team, we can lose this, Frank. Touch, touch, my friend. With me on the team, victory is assured. In spite of the handicap of having to coach you water boys through the maneuver. Pete's quite a clown. Yeah. He gets on your nerves once in a while, but I guess it's good to have someone like him around.  All right, guys. Fall in. Let's get with it. Watch the scoop, sir. See you as you will scout around, see if we can find out. Yeah, but where? Hills 312, 314, 315. 312? Hey, that's a baby that gave us a going over last week. So what? Maybe the commies are pulled out now. Yeah, maybe not. Well, I don't make up these assignments. You're not happy. You'll have to get someone else to punch your cut. Ready, Yellen? Ready as I'll ever be. I'd relax, boy. One patrol under your belt, and you'll feel like a veteran. Tell me, Sarge, how does a veteran feel? With his hands laughing, boy. Whoa, no material. This kid's improving all the time. With you, anything should improve, man. Oh, I'll be glad when you're dead, you rascal. How can you joke about... He doesn't mean anything. Forget it.  As you wish, Món Capitán. Forward men.  That's right. Let's go, then. Now it's spread out a little. We're getting close. Now, let's hope all the boys are busy in the laundry right now. Hey, speaking of laundry, you owe me a pair of socks, Pete. I know. If they'll ever give us a break, I've been meaning to rinse out a few dainty. Yeah, that's too darn close for the first of those guys to have been practicing. Steady as you go, men. All enlisted personnel will ensume pose of sitting duck. Keep low and make a run for that little ravine there. All hands safe? Yeah. Now, as long as they've spotted us so soon, we may as well move on. Whenever we get close enough to do anything in this sector, do any good. I move we admit we're poor gumshoes and adjourn back to camp. You'll adjourn back to camp when I tell you. Eulen, you and I... Hey, where is Eulen? He's here. You don't have to hug the ground quite that close, boy. Looks like he's down there checking on the snail's outlook. Well, you said to keep low. We're only kidding. You got the right idea. Keep at it. Let's get going, huh, Sarge? What's your hurry? There's nothing but trouble where we're going. Yeah, but they're liable to start lobbing mortars at us any minute. He's right. We better scare him out of here, Pronto. Eulen, you and Nick and I will take this side of the ridge and we'll work our way around that far to the ridge there. Peter, you and Jameson take the other and we'll meet there to compare nuts. What's the idea of splitting up? There's few enough of us on this clam baker's day.  Well, they may have sent out a few of their boys. There's a happy thought. Anyway, there's no use in getting caught in a bunch if they do jump us. This way we'll have a chance to cover each other. We'll have a better chance against them if we were all together, wouldn't we? Kid, right. Sure he is. But who's going to go back and tell them what happened if we're all together? Do you have any other cheery words of farewell? Look, Sarge, I aim to go back just like I came out here, not feet first. So all we do. So let's play it safe and make sure, eh? Okay, you're the doctor. Come on, feet. Let's get moving. It's only a hundred yards or so. We'll make it okay. Let's go. See you later, man. Last one to the ridge is a sissy. Okay, boys. Let's us up the road, too. Okay. I still think we should have all stayed together. Yeah, just two guys with chance or they got to run into trouble. Will you two dry up and let me run this show? Single file along, you know, and keep your eyes open. Okay. How often we get mail out here, Nick? Not pretty regular. Not good about that. Get it here whenever they can. You get a lot of mail? As much as anybody, I guess. They're pretty good about writing. Sure makes a difference. My wife writes almost every day. Well, sometimes I wish I had a wife just so I could get letters from her. I just said you got plenty of mail. I do, but it's different.  No, no. My family's different the most. How do you mean? I thought mothers were pretty much the same all over. I haven't got a real family. No kidding. How about the mail? You know what comes from Boys Town? They're my family. Well, I'll be. I've always wanted to meet a guy from there. I've heard a lot about it. It's a great place. Just made the order for me. You, uh, you an orphan? Can't away. Mom and dad split up when I was a baby. He's a 1-1 in me, I guess. So I find we end up in Boys Town. Gee, that's tough, Jerry. Oh, it could have been worse. No, that's for sure. You know, that's one thing I've always wanted to know. What's up? Tommy Petro just ahead. Think they saw us? No. They headed over the hill. Must be 20 or 30 of them. Hey, that's the direction our guys went. Yeah, I know. I know, but we can't just lay here. Let's warn them. Oh, we'll give ourselves away if we do. But we gotta do something. Two against 20. There's only three of us here. Yeah, but we can... Come on. Maybe we can work our way above them and do some good. Careful now. Okay. Sarge, if we make those trees, we'll be able to blast them from behind. Let's make a dash for them. Ready? Go. What was that? My gun had went off. I took the safety off. Oh, brother, that did it. They'll be all over us in a minute. I'll put it back to the rocks and then head for the ridge. It's every man for himself. Step on it. Everybody make it okay? Yeah, I guess so. Hulun, what in the Sam Hill happened anyway? I don't know. I guess I got excited and it just went off. That's all. Well, you sure lost up our little scheme to mop up those commies. I'm sorry, Sergeant Honest. I am. It's just that I... Yeah, I know. I know what you're first time out. But anyway, the other guys know they got company.  Oh, no, no. It was an accident, Honest. If I thought for one moment that you did, I'd break every bone in your body. Play off the kid, Sarge.  We all make a boo-boo once in a while. Yeah, but he had to pick that particular time. I said I was sorry. Oh, all right, kid. All right. Forget it. Well, as soon as Pete and Jameson get here, we'll move in and get this thing over with. Yeah. I sure wish they'd hurry up. Me too. Ain't healthy right here. Well, give him and stuff. Uh-oh. What's that? I'll give you one guess. You know, it's a poison. You guys wait here. I'm gonna poke my head over that ridge and see what's up. I guess... I guess you and the sergeant wish you'd never seen my face. Oh, forget it. Accidents happen. Nobody got killed, so there's no harm done. You know what really happened? Huh? I got scared. That's what. I was so scared I didn't hardly know what the gun in my hand was for. Then when we started running... I didn't get it. It's all over. Here comes the sergeant. Let's go, guys. We better get out of here. What about Jameson and Pete? They won't be coming. Let's go. Paising how good these lousy rations can taste when you're really hungry. I must not have been hungry, then. Speaking of rations, sergeant, I'm fresh out of sane. How about heading back toward home base? Yeah, that's where we're going. We've covered about everything we were supposed to. I should hope so. I feel like we walked all over Korea the last few days. You went a hike at that.  Not a peep out of you all the way. I guess I don't feel much like talking. What's eating you, Jerry? I keep thinking of those other guys. We all feel bad about it. But that's war for you. There's something else in your mind, kid. What is it? If you hadn't sent those guys out by themselves, we'd all been together. You mean you'd rather be where they are now than sitting here? No, but if we'd all been together, we might have held them off. Look, we only had five guys to begin with. The group so some of us had lived to tell about it if we did get ambushed. Just be glad you were with this bunch instead of the other.  Five against 20?   We were lucky and they weren't, that's all. We got enough to worry about without scrapping among ourselves. All right, Nick. I'm sorry, kid. Shake and forget it. It's a deal. Come on. Get your gear together and let's head for home. It's a long road. Let's go. Well, to have it fairly quiet going back, oh, Sergeant. I hope so, but don't make any foolish bets. Man, that sack is gonna feel real good after this. I'm gonna sleep for a week. Man, I'll bet on that either. Man, I never knew a country could have so many hills. Yeah, me neither. Now, in Germany, it wasn't so bad. Lots of flat land. At least where I was. You were in the last war? Yep, all the way. What are you doing here, then? You ever hear of the reserves? I'm gonna let someone else have a chance to fight for their country. No use in me being greedy about this soldiering. How long have you been married, Nick? Two years. Got out in 46, started a little business and didn't have the money to get married. So we had to wait till 48. Imagine, I was 30 before I was even engaged. 30 is not old. It is when you're just starting and everything. Now look at me. Another year's so short. Oh, it's a tough life, I tell you. Yeah. I wonder when people are gonna learn how to live with one another. That ain't the people, Jerry. There's always a few jerks that get hold of the power and start the trouble. Those guys over there would probably just as soon go back to their rice patties if they had their way. Hey, after you've been out here a while, do you get so you really hate them?  That's the truth.  It's just a matter of survival. Come on, guys, come on, let's pick up the pace a bit. They knew our luck wouldn't last. I think that's the same bunch we saw the other day. Who knows? Looks like too many for us to tangle with anyway. Hey, Sarge, you remember that cave we just passed? Hey, good idea, Nick. Let's backtrack and hide out there for a while. Come on, none of the double but people hit. I dropped something. Never mind, we'll get it later. You can watch him from here. Hey, Sarge, you know there might be another exit to this cave. We should be so lucky. Let's go and scot around back there and see if you can find some kind of passageway. Right. They know, Sarge. Headed right this way. I hope we don't have to stay in here too long. This place gives me the creeps. Let's hope they don't get curious about this cave and decide to have a look. Yeah. Maybe they'll go on past it. What's that? What? Out there by the mouth of the cave. Something shining in the light. Oh, that's it. It's a misket. That must be what you and I dropped. I'll drop the flashlight. I better get it before they spot it. You want to get killed? Stay where you are and pray they don't see it. No luck, fellas. No luck. It goes back about 30 feet and stops. Yeah, I'm afraid of that. How are we doing so far? They're too close for comfort to say the least. Hey, that's my... That's my misket out there. They'll see it. No somebody's in here. I got to get it back. Stay where you are. But Sarge said stay where you are. We know it's there but they don't yet. Hey, they've seen it. Looks like we're done for. What are we going to do, Sarge? Nothing yet. We'll see what they do first. They're having some kind of pow-wow about it. Shoot them into the cave. Stay down. Anybody hit? No. All right. Not coming in after all. I've decided to move on. Funny they didn't come in for a look. Our luck is holding it that. They're going on past. Let's get out of here as soon as we can. I'm soaked to the skin. Well, wait and I'll nightfall. Night, why? It just doesn't figure that they'd go on past without even poking around in this cave. Oh, I get it. You think maybe they're being clever? Want us to think they've gone and then when we come on... I must be a jinx. If I hadn't dropped that mess kit, they might never have given us a second thought. Don't start that again. It could have happened any of this. Yeah, but it had to be me. Quiet. We may have trouble out there. No use asking for more of it. Night's cooperating. It's black as pitch out there. You may as well find out where we stand right now. Everybody ready? Let's go. All right. Don't go out single-filing fast. Take a sharp right when you get to the mouth of the cave. Keep flowing. Run to that bunch of tree stumps just above us there. After that, well, let's see what happens to there first. Set. Let's go. All right.  I'm not gonna let it have been like pigeon for anyone.  Nick, right behind me coming out of the cave. Better go back and find him. He may be hurt. If I go back, I'll probably run right into the commies. They may be picking over the guy's bodies right now. And if Nick is... Oh, that doesn't... All right, which way do I go? I'll turn around in the excitement. Blast his knife. I ought to hear him if they're still around. I must be over this way. We're all through that, right? Better be real quiet now. Is that you, Jerry? Hey! Hey, take it easy. It's me, Nick. Oh, no. Almost did it again. I'm sorry, Nick. It's so dark again. Man, you're the most trigger-happy soldier I ever saw. Oh, I guess I'm a pretty punk soldier at that. It's all right to aim that thing, boy. But point it north when you do. Those bullets have a habit of doing a lot of damage when they hit. Hey, I guess it... Nick, you've been hit. It's just my leg. I can't tell how bad yet. Here, I'll light a match. We can tell them. Put that light out! Holy smoke, Jerry. Won't you hide it? I'm sorry. Again. Yeah. We'd better get out of here and head for darker and safer spots. Can you travel? I've got to. Help me up. Enough to give me a lift. I'm afraid. Sure, Nick. Sure. All right, that's it now. Which way, Nick? This way. I'm fast. That's the way, Nick. You're doing fine. We're out of the woods now. They think they've seen something, but we're gonna be all... Put me down, Jerry. Nick, we gotta make tracks. This is the end of the line for me. What? I'll listen to Jerry. But, Nick...  Okay, okay, sure, Nick. I'll try not to sound like a cheap melodrama saying this, but you've got to go down back alone. Leave you here for those Holland Banshees not in your life. If they're looking for prisoners, they'll be disappointed by the... I'm they find me. Nick, I can't hear you. Look, take this back with you. And when you get back, if you're ever around Kansas City, will you drop my wife, will you? Give this stuff to her. It's just one of those little trinkets that a man and woman give to each other when they're in love. She'll know what it is. She'll understand. Sure, sure, Nick. Anything you say on your ear, sure you can. Yeah, I'm sure. All right. You better go and get... Good luck. Nick? I'll stay and make a stand with you right here. Don't be silly. We wouldn't have a chance. Now go on, beat it. There's something to think about while you're going. So long, kid. So long. That's it, sir. It's all my fault. And I'll take what's coming to me. Court martial, whatever you say. Mm-hmm. Wilson, you did get quite a baptism of fire at that. But, sir, I tell you, those four guys might all be alive right now if I hadn't lost things up for them. But we're shooting the gun at the wrong time, dropping the mess kit, the matches. That's not the attitude to take. It could have happened to anyone. I grant, you did have more than your share of bad breaks, but I can't punish you for a freak of fate. But, sir... It was your first day at the front, and I dare say you've learned a lot about soldiering from it all. Just don't forget it, that's all. Forget? I'll never forget these last few days as long as I live. Hey, you better get some rest, son. I was counting on that patrol getting back all right. I'm pretty short-handed now. You'll probably have to go out again tomorrow. Mission was limited. There's a few patrols here and there, but nothing of importance. In Washington, we learned tonight that Congress has voted... Bing Crosby. I imagine by now listening to the family theaters become sort of a habit with you folks. Of course, it should be, because family theater is your program dedicated to your family, and its basic idea came from among you, our listeners. You ask that we, the performers in radio and pictures and the technical people, get together and bring you a weekly series like this to acknowledge all the fundamental, all the plain American things that we sincerely believe in. We know, as you do, that a happy family is just about the greatest thing a man could wish for. And we genuinely believe that family prayer, asking God for His help and giving thanks for that help, will keep our families together and keep them happy. General Omar Bradley had this to say on the subject of family life, and I quote, because the family is the basic unit of society, it is there that responsibility begins. Unless the young man of this generation can feel that the security, the well-being, and the happiness of his family is in part the responsibility of his, there is no hope in tutoring him later on his broader obligations. End of the quote. And that's the very thing that family theater tells us each week, that and more. Family theater gives us the reminder that daily family prayer will bring God's help and protection on your home. Family prayer will help build family responsibility and help guarantee family happiness. The family that prays together stays together.  From Hollywood, Family Theater has brought you Action was Limited, with Bing Crosby as your host. In our cast were Ted DeCorsia, Howard Culver, Eddie Firestone, Tom Holland, Billy Balkam, and Baden Powell. The script was written by William Lutz, with music composed and conducted by Harry Zimmerman, and was directed for Family Theater by Joseph F. Mansfield. This series of Family Theater broadcasts is made possible for the thousands of you who felt the need for this type of program, by the mutual network which has responded to this need, and by the hundreds of stars of state, screen and radio who give so unselfishly of their time and talent to appear on our Family Theater stage.  This is Charles Arlington expressing the wish of Family Theater, that the blessing of God may be upon you and your home, and inviting you to join us next week when Family Theater will present the fledgling, starring Jane Powell and J. Carol Mash. Join us, won't you? This is the Mutual Broadcasting System.


when looking at our income tax formula we're focused once again on line one that being income remembering that the first half of the income tax formula is in essence an income statement although a strange one where we have income minus the equivalent of expenses being deductions equals the equivalent of net income this being taxable income our objective being the opposite of a normal income statement that being to get as low a taxable income as possible so with regards to the income line then the question is is it income if it's income do we have to include it in taxable income that's the general concept we're now focused in here on the IRA and whether or not we have income with relation to an IRA most of this information is going to come from the form 1040 instructions tax year 2022 line instructions you can find at the IRS website irs.gov irs.gov first page of the form 1040 we're focused here on line four and so let's get into the general concepts of this now when we think about an IRA we're thinking about a benefit that the tax code might provide trying to incentivize us to save for retirement so the general idea would be we as decision makers are quite good at the day to day decisions but we're not as good oftentimes with those long-term decisions possibly sacrificing in the current day for a bigger benefit at a later point in time in this case saving for retirement so the government tries to put incentives in place through the tax code to get us to do certain things such as save for retirement so different kinds of retirement plans then could be through the work which would be the 401ks the 403b's and so on and then if we don't have a retirement plan through work or if we're able to also invest in something that's not tied to our employment which is what we're focused generally on here we've got the IRA distributions so you can think about the general strategy as being somewhat similar between you know all of these kind of retirement type of strategies the iris basically trying to incentivize people to save for retirement by deferring the tax the tax implications of income now if you're investing in a 401k or a 403b because you get these benefits through work then you're going to put this money in possibly just out of your earnings on a weekly or monthly basis whenever you get paid and that distribution into the retirement plan will be reflected on the form w2 reducing box one and reporting it in box i think 12 to show to show that distribution therefore it's quite easy in those situations to report the w2 income that has been reduced for any contributions to a retirement plan but if you're having a retirement plan contributions that's in the form of an IRA not going through the employment then that's when you have this above the line deduction when you put the money into the IRA and so you get the tax benefit at that point in time which is more easily seen on the first page of the form 1040 now that's really just going to be a deferral of the taxes because you're basically lowering the income at the point in time you put the money in that means at retirement when you pull the money out or possibly before retirement then you're going to have to you're going to have to pay taxes at the minimum because that's the cost right so now when you pull the money out you're going to have to pay the taxes and include that in income now if you don't wait till retirement age you will then generally also have to pay a penalty on it because the whole deferral process was based on the idea that you're basically locking your money away for retirement and if you if you don't do that if you pull it out early then you have to pay the taxes that you deferred which makes sense but also you get you get penalized on it that's the general notion all right keeping that in mind we're looking at the IRA's distributions this is when the money is coming out of an IRA account which is which is going to be the retirement type of account and also just want to point out when you think about these kind of retirement type of accounts people often think of them as completely separate kind of things like an IRA or a 401k is different than investing in a mutual fund it's not really different because usually the investments that are are making up an IRA or a 401k or a 401 or a 403b or whatever are usually some form of mutual fund the only thing that's different about it is they're under the umbrella now of some kind of retirement account which has this implications with regards to the taxes so now we're thinking about these investments that are under the umbrella usually stocks and bonds of an IRA that are being distributed meaning we're taking the money out and now the financial institution is going to be reporting because that could be an income triggering event given the fact that we got the tax benefit when we put it in the form typically being used is the 1099 are


We must do this duty, and truly report what he did, so he informed his superiors diligently. These concerns and his fears just fell on deaf ears. They didn't want to hear the guts and the gristle, but as a man of the law, and what he stood for. You ready? Well he knew that he must find the winner. The whistle of honesty, truth and morality. Do it again? He knew that he must find the winner. Government so violent have put him on strike for revealing hard truths to his nation.  On his side, the day that he knew. It's the Cossodian life. Thank you so much, all the supporters, thank you to Cossodian. Court room tomorrow. It's going to be a circus, it's going to be a history run, and it's the final clash. People with the truth, the truth for us lies. Let's see if I know who wins. Yes. Do you expect the court room to be open? No, it'll be closed. I'll say it, they don't want to say it's closed, because that makes a book brand, but every time anything happens, I'll say I'll have to close it for this very sacred thing. And it's ridiculous, yes. Yes, like what time for canteen or what they have for their lunch. Yes, in the toilets. So are you worried or hopeful? And I'm hopeful that it's all going to turn out eventually. I'm not hopeful about this particular trial. What about the judge? Well, he's very conservative, as they say. So he's unlikely to listen to any of our arguments. He didn't get vertical area, he broke. But maybe he's going to surprise me, we'll see. He seemed a bit worried about looking at handling classified documents. At one point he said that if he mishandled them, he could be put away for 10 years. Yeah, well, I think there's a pretty good chance. He'll sentence me pretty heavily. It's suspicious because he wasn't our judge until the public go. And he was replaced. We had a good judge, and he got replaced. The good judge got replaced by him. So, and everybody knows his thoughts on national security? Yes. So it looks good, but they can try anything. We're not afraid. And the thing I've got up our sleeve is I'm not afraid of jail.  Do you expect the people who've committed these crimes to ever face the same as what you're facing? Oh, of course not. No, of course not. It's actually about the individual. So I'll tell you more about the generals that I won on trial, and they will never, and they don't even have to answer any questions. Now, that must be right. We need to, the biggest crime, the biggest war crime was the war. The fact that it wasn't properly done, there was no plan. That is the biggest problem. And putting a corporal in jail for private is not going to make any difference, but we need to be the generals to answer some hard questions. There were liberal and Labor governments in power when these war crimes were covered up, which is why I would think it's reasonable to infer liberal and Labor combined to defeat the motion by, as it so happens, another whistleblower, Andrew Wilkie, to drop the prosecutions against McBride and Boyle. And this is out in the open. They're not even bothering to hide it. It's so blatant. It seems to me that they have so much contempt for the Australian people that they just expect us to swallow this nonsense. David is facing a very, very unjust situation at the moment. He has been let down by our government. So there's three arms to our government. There's the parliament. They make the laws. Then there's the executive. They administer and implement the laws. That's the ADF and the AFP. And then there's the judiciary. So he made a complaint to the ADF. They gaslit him down. He made a complaint to the AFP. They didn't want to know. He tried to get public immunity, defense, and the government came in and said, no, we're going to not let anyone hear any of the content that is the basis for that. So they let him down there. So now he faces a trial. And I hope that we still believe in the doctrine of separation of powers and the judiciary are going to do the right thing. But this is not an even fight. And if it was about right and wrong, well, David would win without a doubt. But we're in a very crazy world. And we don't know what the jury actually going to get called because there's going to be claims over a lot of evidence. So they might not be told much. And that's what's so scary about this trial. What the government seem to be claiming a lot of the time is that there's all this classified information. That's why parts of the trial might have to be secret. And jury members won't hear it. And what David did was expose the systemic cultural issues within the ADF.  And they didn't want that. So they sent it all off to an inquiry, the Brewerton Inquiry, that picks some low-hanging fruit. And none of those higher up have been responsible. And that is what they're trying to protect in David's trial. And that's why it's so important that we go there. We sit in the court. We bear witness to this injustice. And we say no. And we bring our whistles. And we don't whistle them in court. But we go outside and we blow our whistles for David McGrine. And we stand by. It is a serious business being a whistleblower. I don't regret it. I don't need any sympathy. We're here for justice. I was made for tomorrow. All my experience has brought me. If anybody has to do what someone has to do tomorrow, it is me. One of the things that I saw last week is the beginnings of what will probably happen near there. And it won't surprise anybody here. But sort of mainstream ignoring of what's going on and a certain amount of sort of underhand smear campaign. I'm not the right kind of whistleblower. Oh, I had personal problems or, you know, somehow try to put, I'm just doing it for my own benefit. Do you reckon I'm doing it for my own benefit? Yeah, exactly. But you will get people saying things like that. And if people want to question me, say, read the book, read his book. We know the projectiles go in a consistent pattern. Now, I only ever wanted to join the army, even though my parents were doctors. My father was a whistleblower and in relation to the drug Phyletomide, and he was obviously quite a brave guy. And he had many, many thousands of patients whose children he delivered. He came undone later in his life over some experiments and rabbits, and he made a mistake of not admitting what had gone wrong. But he was a good person. My mother was a doctor. I went to the right schools. I didn't have problems at school. I went to Sydney University. I graduated in law. I didn't set the world on fire, but I graduated. I went to Oxford University not because I was so smart, but because I did a bit of horse training. But again, I finished. I was a boxing champion there. I went to the British military. I was accepted into one of the most prestigious regiments. I tried to join the British essayist. I was a true believer in democracy, and those who defend democracy with force. I came back to Australia, and I joined the Australian Army eventually, after being barristered. You have to pass quite a few behavioural tests to become a barrister. You have to really be above board in everything you do. No, you can't be bankrupt. I don't think you can even be divorced at one stage. It was a very old and worldly sort of profession. So I was a barrister before I joined the Australian Army. I went in as a captain, and I got promoted to major. I got sent to the biggest base in Australia, Townsville, which was a job for someone on the way up. I did a tour in Afghanistan. I got excellent reports, and I did a tour of Afghanistan with the Special Forces, and I got excellent reports. Now, looking at the trajectory of my life, is it really likely that I'm the bad guy, and the government is the good guy? No, it's pathetic, isn't it?  And you know what? My trump card is that I will go to prison with my head held up high. And even if I have to do 10 years, does anybody here doubt that I will be able to do that with dignity and strength of character? If you compare me and the way I've handled myself to people like General David Hurley, who wouldn't even give evidence to the secret ministry's inquiry, spoke only through his lawyers, signed off on Morrison's secret ministries, got special treatment for his favoured charity, big question marks over that man sitting in a palace while I get ready to go to prison.  No, I'm a command whistleblower. Does anybody here have problems with that? Does anybody here think that's bad, and you don't like me because I actually say the problem is with the generals, not the corpals and privates? I don't think so. You people know that it's not going to make this country better if we put a private soldier in jail and say, oh, there we go, we'll fix that problem. The problem is endemic. The problem is systemic. The problem is with lies in every single part of this government. Robo debt wasn't a coincidence. We saw how government lawyers act. They lie. They lie when the truth would do. And they got caught out in robo debt, but don't think, well, you people know, but this is for the people who are going to see this on video. Robo debt is how government departments run. They think up some tawdry political stunt that is going to get them promoted and they put it into action. And if anybody says it could be illegal, they are the ones who are shunted out.  And I want you to think of these things tomorrow and chant them tomorrow, maybe. Robo debt, PWC, the secret ministries, and I'm the one facing prison. We've seen Oliver Schultz suit someone on TV. Someone tried to say to me yesterday, oh, but you don't want SAS soldiers to go to prison. I don't want innocent SAS soldiers to go to prison just to make the media happy. No. But yes, I do think Ben Robertsmith should be on trial, fully enough. And is he on trial? No. How many years is it going to take? 20? It's funny how they acted a bit faster on me than they did on anyone else. It shows you they care more about secrets than they do about crime. As Eddie said, it's not national security another one of the smears is, oh, but surely you must understand that we need to keep some secret secret. Here's a little test for you. Yeah. As Eddie said, do you think the location of the toilets in Tarran Kalmar secret? And yeah, it is secret. Anything to do with the Afghanistan war was classified secret.  Anything to do with the operation, whether it was food, boots, toilets, anything in the Afghan theater of operations was classified. So if I release classified information, it could have been the amount of bog rolls we had.  Don't fall for it. It's not about classified information. It's about crime. It's about government trying to hide under that umbrella. Can we trust them? No, we can't trust them. They're going to say everything is classified information. If I'd revealed the Holocaust, they would have said classified information, classified information. Everything is classified information. And you should say to them, what was it? What was the information? You can even give us a summary, because it was usually crimes. It was usually embarrassing. It was usually things they did not want you to know. That's not classified information. That's hiding the truth from the public who have a right to know about it. It's not codes of secret submarines. It's when people at positions of power broke the laws of Australia for their own selfish reasons. Now, that is not something which should be allowed to be kept secret by the government just because they say so. Now, we start tomorrow, and there's a very good chance that I will go to prison. I don't care about that, as I've always said. It's neither here nor there. We need to clean up this country. It's not going to clean up this country if they drop the charges. It's not going to clean up this country if I go to jail, but it will draw attention to the problem. It will make more and more people look, read my book, tell people to read the book. The book pretty much has it, and there'll be another book where I can actually talk about what went on after the book stops. Say to people, is he a bad person? Yes or no? And is he? How does he compare to David Hurley? How does he compare to Ben Robert Smith? How does he compare to the head of PWC? How does he compare to the people that ran RoboDead? Why is he the one we're going to put in jail? With all the things that have happened, weapons of mass destruction, Abu Ghraib, collateral murder, none of those people have faced jail. You know, so say to people, you are sort of my agent. Get out there when people try to put me down, when people try to ignore this, as not being the biggest show in town over the next three weeks. Say, look it is, the biggest show in town. There's a bit of a dog fight, we always like to see that. Lucky it's not Jake, for once. He might lose his special status as an assistant dog. Hopefully he'll say help with provocation and it might have been a government agent dog. Anyway, I've been going on too long, but I want you to remember, I always want you to thank you. Yes, it's not a huge crowd here today, but it's huge in my heart.  You are the people who have kept me alive. I was on death's door a few years ago because I couldn't get, I saw journalists, as Eddie said. I saw the most famous journalists in Australia. I saw the police first. And I even forget that myself because I've become so disillusioned. And then I get criticized for going on, doing a YouTube channel. And people say, oh well, you don't look very well on your YouTube channel. How well would you be if everything you believed didn't turn out to be a lie? And the famous investigative journalists wouldn't help you. And no one really seemed to care that much. Yeah, exactly, you care. You care. And I feel so strong. I really feel like it locked me up and pulled me away. And you guys know this, but because it's an unlimited sentence that I face, and while we don't have the death penalty in this country, if they did change it, they would be able to execute me. Now, people say that I'm nuts and everything. Well, I was a soldier and I signed on for what I believed in. But if they said to me, you either back down or we will execute you, everyone here knows I would say, fucking, let's do it. Because you're either right or you're not. And I will not back down. I will not back down because of smears. I will not back down because of threats. Even though I've got two young children, you have to set an example. And we have made our peace. I'm almost 60 years old. I've had a really good life. I couldn't really, you know, I couldn't complain. And standing up for what is right is something which you can be very, very happy about. And so people often ask me, would you do it again?  And I am so grateful to you. I just did my job. And someone just said, I'm going to steal her phrase. I did just do my job initially. Now I may be a hero, but the government have made me a hero and they hate that. They hate to see us laughing. They hate to see us blowing our whistles.   And we might be a tiny minority, but in 10 years, 20 years time, everyone is going to pretend that they were here in Glee Park today.