And I do want to talk a little bit about webinar best practices while we can. Now the first, I always have a few steps when providing a webinar. And I'm going to go ahead and upgrade everybody else who is just joined us again. And the first step really is to develop the webinar, develop who you think the webinar should be for, who, what message you're trying to get out there.  I've put this up there. I don't expect you to be able to read it because I know the text is really, really small. But I think it's a really good example of having a plan. And this is not only for outreach but this is a plan for just if things go wrong, which as you've seen, of course they can, a plan for who you want to reach, a plan for when you want to do outreach. I usually start sending registration links out at least two weeks in advance, sometimes just one. And part of that is that the sooner that you send those registration links out, the less people will register and then not join. Because if you start your registration about a month out, then you get the risk of a lot of people registering but not very many people showing up. And I think that that is a real challenge. So this slide is really more talking about having a plan in general. We are talking a little bit about what a webinar is. And a webinar really can be a lecture. It can be an interactive experience. It can be a demonstration. But just think about who your community is. Think about who you're trying to reach and what you're trying to do. Always do a test run. When developing a webinar, even if the person that I am working with, the person who is presenting is really well familiar with either go to webinar or presenting at a webinar, I always do a practice run. And part of the reason for that is to develop a plan where something goes wrong. Because go to webinar or any webinar platform is technology and as technology things can go wrong. And of course we have seen that today. So it's always a good idea to go ahead and make sure everybody knows how to do certain things. Everybody knows what their role is. And that way we can always go ahead and be prepared. Be prepared for a good webinar and then be prepared if something goes wrong. Another thing that I would always recommend would be having a co-producer. Of course I have one today and that is my co-producer today. A co-producer's role is really to be there to answer any questions about the webinar tools so that the facilitator can really focus on facilitating the webinar, answering verbal questions and things like that. Another role that I usually have the co-producer do is taking a look at the questions pane and copying any content related questions and then putting them into a Google Doc. And that way when we stop for questions I can go ahead and look at any questions that have come in and read them verbally to the presenter or answer them if I am the presenter. And that way it's a little bit more organized and a little bit easier to manage. It kind of goes into my next little tidbit of knowledge which I almost always mute all participants which today we have. And part of the reason that I do that is that it takes a little bit of time to make sure everybody's audio sounds good and to make sure that we can understand them. And if you have a webinar of even 30 people it can be very, very time consuming if you're unmuting them and allowing them to ask questions actually via their mic and speakers if you can't understand them and then you have to troubleshoot audio on that end as well. So I almost always, always, always mute participants. You can take questions via the questions or chat pane and it usually works out just as well. And another really good tidbit is to be visual. Make sure whatever way you're doing a webinar, if you're doing it as a demonstration, if you're doing it as a straight up lecture, make sure you're as visual as possible. And make sure that the slides that you're providing or the demonstration you're providing isn't directly mirroring what you're saying. You don't want what you're saying and what you're showing to be identical because you want people to be viewing their screen and you want people to be listening to what you're saying but you don't want people to be bored with either. And so it's really important to be visual and for the visual to be unique to what you're saying. And then troubleshooting and I think we can all talk about this for a really long time today. One thing that I was just thinking of and I will go ahead and I'm going to go ahead and make this statement now is that I think maybe what happened last time is somebody left the session and hit File, Exit, Leave webinar or not Leave webinar. They said File, Exit, End webinar and that ended the webinar for everybody. Once you make everybody an organizer, remember that whoever is an organizer can end the session for everybody and I think that's what happened the last time. But that's something that I've been thinking about. I've been trying to think about what could have happened and I'm thinking of all the possible scenarios and I think that is what happened and I think that is something to think about when you're troubleshooting a problem, whether it's a problem with GoToWebinar, whether it's a problem that one specific presenter or attendee is having to think of all of the possible scenarios and to try to find the solution that way. So that's a very long way to say, please don't hit File, Exit, End webinar because you will end the webinar for everybody. If somebody is having a problem not being able to hear or if somebody is having a problem not being able to speak, first of course make sure that it's not on GoToWebinar's end. You can usually tell if it is on GoToWebinar's end if everybody's having the same problem. So today when everybody was joining and we couldn't hear anybody speak, I knew that that was on GoToWebinar's end because not every single person would have the same problem and in that case I would end the webinar and restart it for everybody. If it is just one person having an audio issue, that's usually on their end and that is usually on their computer and you can ask them what they're seeing, you can ask them to check the audio settings on their computer, you can ask them to check the audio settings in GoToWebinar and they would do that on the audio pane. And you can ask all these questions, sometimes they'll find the solution, sometimes they won't. Usually if I cannot find the solution for them I tell them to exit the webinar and rejoin and that almost always solves the problem for them if nothing else had. So always keep that in mind. And when dealing with a worst case scenario, a troubleshooting scenario or just the technology is not happy, that day scenario just always remember to keep calm. The world's not going to end simply because the webinar was a little bit off that day and I think that it's always best to just learn from your mistakes or learn from GoToWebinar's problems that day and it will actually make you a better presenter in the long run. So before I go into GoToWebinar, actually scheduling GoToWebinar, I do want to take a look and see if there are any questions that have come in or if anybody has any questions just in general about those best practices or if they have any comments that they want to make about that. Go ahead, type those into the chat pane and I'd be happy to talk a little bit about that. And then I do want to show you a little bit about actually scheduling a webinar and go to webinar and talk a little bit about changing presenters and things like that. I'm not seeing anything so far but again, go ahead, type anything into the chat pane when you get a chance and we'll go ahead and answer those at that time or talk about any of the comments or questions you may have. So what I'm going to go ahead and do is I have some slides for scheduling a webinar but what I want to do is actually show you the actual site. So I'm going to exit out of my slideshow and bring up GoToWebinar. So what you should be seeing right now is the back end of my GoToWebinar account. If I wanted to schedule a webinar, I would go ahead and go to the second button, saying schedule a webinar. And I'm just going to do, say, test webinar. You just put the webinar name in. The description, I always try to be pretty careful with the description because you want to make sure that what your description of the webinar is is actually what you're going to be presenting on. So always make sure that you have talked to the presenters before you create this description. But for this, I'm just going to say this is a test webinar. You can select time and date and you can select several time zones, not several, lots of time zones. If it is an international webinar, I usually try to just have it as GMT. You can offer it for it to recur and you can, you do have some audio options. Unfortunately, the long distance number option is only available for a few countries and I don't think any of the countries that are on this call are included in that. So for the most part, people will need to use their mic and speakers. And you can click edit here and specify the people who will be presenting. And by doing so here, if you put their name and email address, so if I put my name and other email address, I would get a message saying that I've been made a panelist in a webinar and it will give me a unique URL that will automatically log me in as that. I'm going to say save and continue. You can upload a logo if you would like to, but that's certainly not required. And you can put custom Elissa presenters in the waiting room, which is that initial screen that you see if nobody is sharing their screen. Let's say save. And then it will ask you for your registration questions. And one thing I did want to talk a little bit about with registration questions, and this also goes with survey questions. The tools are very, very similar and I'll show you how to add survey questions in a minute. Always make sure that the questions that you're asking is information that you really, really have a use for. If there's no reason to ask for somebody's address, then don't ask the question. And part of that is that if there are a lot of questions in the registration page, then people are going to be less likely to sign up. People tend to like pretty short forms. And so I try to make these forms as concise as possible. And also I don't want to collect data that I'm not going to use. I don't think it's a good way to have your time and it's definitely not a good use of your time and it's definitely not a good use of the attendees' time. And you can go ahead and preview the registration page if you'd like. And say okay, that looks fine. And then say save and email me the invitation. And that's it. And at that point if I scroll down the page from all my webinars, sometimes it takes, there we go, it's right here, to get the registration link, you would just press this yellow button if you don't see anything and I'll press it again. And you would copy that registration link and that would take you to the registration page. So that's a pretty quick run-through of that. If anybody has any questions about that creating a webinar, please let me know. I did want to show you that if you click on this drop-down menu, there are other options that are available. One is the survey option and if you selected that, you would get the option to enter in questions that will then pop up for the attendees when they leave a webinar. And so I could say what did you think of the webinar? And I can have it open an essay and say create, then it will be down here. And then I can save and that question will automatically pop up after the webinar. And just so you know, the only people who do see that survey are attendees and not organizers. So following this webinar, I will actually be sending you all a separate link for the survey within a day or so. So you will be able to enter in answers to a survey but it won't be automatic. I just wanted to let you all know that. So I'm going to go back to my slideshow and skip all of this. And so I want to talk a little bit about hosting a webinar the day of and actually holding the webinar. The day of the webinar, I always start out with a practice session. As long as you are on a PC, you should have two options next to every webinar. One is practice and one is start. If you hit practice, then you can go ahead and check your audio before allowing everybody into the session. And then once you decide to start the webinar, there should be a button at the top that you can say start. And I always log in and have everybody, all the panelists or all the presenters log in about 20 minutes beforehand. And that way they can go ahead and type in, check your audio, make sure everything's okay. And then I let everybody else in about five minutes before. I do always try to record the session even if I don't think we'll be giving the URL because I think it's a good thing for me to go back and look to see what I've done and what I could do better. One thing to remember is to always check the settings. And the settings are marked on the left with that red arrow. If you always make sure to say use go to meeting integrated audio, which will allow you to record everything everybody says, whether or not it's from a phone or from a computer, and then always select convert to Windows Media Player. Because if you do not do that, it will have a codec on the file that it creates, which is a WMB file, but you won't be able to put it into YouTube or anything like that. So always make sure that you select convert. And that's a little bit of a screenshot of what it looks like when you do start the session from in practice mode. And a reminder to always hit the record button. And what I did want to talk a little bit about right here is go to webinar is, and I think you've realized this now, it's a screen sharing tool. You don't download anything into the tool. You don't put the actual slide deck into go to webinar. It's you are showing your screen, so you're showing the PowerPoint from your screen. And how I usually handle that is I usually, at the beginning of each presenter section, give them control. So I wasn't sure. And if you do not want to, you don't have to. But if anybody would like me to try to give them control, so you can see what that looks like. Go ahead, type that into the chat pane if you'd like to do that. Otherwise, I can go ahead and practice doing that with Anka very quickly so you can see what that change looks like. I'm just giving it a couple seconds to see if anybody else would like to. Anka, I'm going to go. If it's okay, if you want to unmute yourself, I'm going to go ahead and give control over to you just so people see what that change looks like. Okay. I'm going to go ahead and give you control. So what is happening on Anka's end? I guess Anka, you can speak to that. What's happening on your end? So now I just had my screen muted and it is asking me, it's telling me that I've been made a presenter. And please close confidential windows. And when ready, I can choose either to show my screen or to show my screen clean, which means hide icons, backgrounds and taskbar, or to show one of all the application I have open. So if you, I can show you the screen clean. Okay. Oh, yes. So you can see the changing slides and PowerPoint. Is it okay? Yep. Is it? Yep. Yes. It looks good. Okay. I can see that it's being okay. And so should they show anything else? Like you can see that I have Firefox open as well with numbers valid for not Poland, definitely. But I can switch from one view to another within seconds. Great. Okay. And then usually what I do, because what could happen is that Anka could just give me control back. But what I usually do is I designate one person to be both the giver and the taker of control. So I'm going to go ahead and take control back. And you do that by just selecting change presenter at any time and you can select anybody who's on the list. And so now you are seeing my screen once again. And so if anybody has any questions or does want to try that later, please just let me know. And one other thing that I wanted to mention, and we are running a little short on time because of our mishaps at the beginning. But you do have the option of creating polls within the webinar. You can do that live. So if you looked at the poll pane on your control panel, you could select manage polls. And it would bring you up to the go to open our page. I'll just show you that really quick, what that looks like. And it looks just like that survey question form or the registration question form. You would just put the question that you want to ask. And then if you actually added one, you would have an additional option to launch a poll. And then people can answer those questions in real time. And that's actually really, really helpful. And of course we already have gone over the chat pane and the questions pane. And always remember that the questions from the audience are coming into that questions pane and not the chat pane. It is a little bit confusing. So just always remember that. And then after the webinar, there are a few things that I always like to do after the webinar. One thing is to of course generate that attendee report. And you would do that by going to webinar history on the left. And then selecting the webinar you want to collect data from. And then selecting the yellow button to generate the attendee report. The attendee report will be muted. The attendee report will both create reports from the registration information as well as from the survey information. And then I send that information to everybody who was involved with creating the webinar. I always find that it's really, really helpful to give everybody the pertinent information because that way they can all improve their presentations in the future. So with that, that was a very short and sweet introduction to go to webinar. Does anybody have any questions or anything they want to talk about? Because I know that it was a little bit of a bumpy start. So I would like to make sure that everybody has had their questions answered. So go ahead and type those into the chat pane if you'd like. And Anka, do you have any closing thoughts that you would like to share with us? Only that it was really fascinating to see that it can crash twice. And it's not that if it happens once it would never happen again. And there is so many things that can go wrong that it is good to have somebody's help, I think. Definitely, definitely. And I don't want people to think that this is something that happens with every webinar because most webinars you'll do go off fine. There might be one or two people who have audio problems. But there will always be that one webinar every few months that you do that things will happen like this. And so just always have a plan, always make sure that you keep calm and you salvage what you can and usually it will still work out. So I want to thank everybody for being with us today. It's been a pleasure talking with you. If you do have any questions, I'm going to put my email address into the chat pane and you can go ahead and email me there. So again, everybody, thank you for being with us today. Thank you for... Thank you, my Delina. Thank you for dealing with all the troubleshooting and everything. So I hope you all have a lovely day. Thank you.


So what we're going to ask ourselves today is What if you put something in front here?  I'd like you to look at this graph here. Now this graph here is a semicircle. It's a semicircle of radius What? It's a semicircle of radius two there is Part a asks or says write an equation which represents that there Well as an equation it would look like this Y equals if f of x is this big square root three f of x would be three times This big square root in terms of my replacements What I've really done is I've replaced y with one-third y I thought you replaced it with a three. No, no, no I replaced the y with a one-third y but Nicole a one-third right here would become what when I moved it over a three Okay What letter did we replace step? Because I asked you to what letter do we replace I'll never get tired of that joke What letter do we replace yet? We replace the y that means this is going to be a vertical something as it turns out This ends up being vertical Amanda look at the replacement We replaced y with one-third y Everything's backwards if you try and make y one-third as big It ends up being a vertical Expansion by a factor of three It ends up being a vertical expansion by a factor of three Holly what that means is all of your heights are going to become three times as high I'll show you what this would look like it says use a graphing calculator We're going to do this one by hand because I haven't handed out the graphing calculators yet Ready Amanda How high am I right there? It's a trick question. How high am I right there? Zero, you know what if I go three times as high as zero. How high am I still? What's three times zero? This is invariant Cassandra, how high am I right here trick question? And you know what a vertical expansion by a factor of three of zero is zero But Shannon here's the more interesting one How high am I right here? If I vertically expand that by a factor of three, you know how high it's going to end up That point moves to there This graph would look like this and you now know the equation for the pope's hat. It's true I thought it was a rope. No, it's an equation. By the way Want you to notice what happened to the x-intercepts? Did they move at all fancy word? Let's write that down What happened to the y-intercepts? It did expand by a factor of three.  Everything's backwards replacing y with one-third y makes it three times as high not one-third is high It's a vertical expansion by a factor of three D says Write an equation which represents y equals one-half of f of x. Well, that would look like this Y equals one-half great big square root of four minus x squared If I think about it in terms of a replacement We've replaced the y with a 2y and Then Carson we divided by two to move it over and that's where the one-half came from What did we replace y with? Everything's backwards. This is going to end up still being vertical But instead of an expansion by a factor of two it ends up being what we call a compression by a factor of One-half all Of your heights end up half as high What would that look like? Well, Nicole, how high am I right here? If I compress that by a factor of a half How high am I now? Still zero Here's the more interesting one Nicole. How high am I right here? If I compress that by a factor of half of a half or how high will I end up being? Compress it by a factor of a half Yep half as high How about this one Nicole while I'm zero high compress it by a factor of a half still zero high fancy word invariant that red graph Is the image of the black one? Compressed by a factor of a half Once again, Amanda because it was vertical, you know what happened to the x intercepts They were invariant and the y intercepts underwent a vertical compression by a factor of a half Says compared to the original the graph of this now I Don't quite like the way the workbook does it I don't like that they start out with the a right here to me It should be here and then we divide to move it over But because they're starting out with the a right here in this notation step Things are no longer backwards because we've moved a over and now it's no longer backwards So here's what it says compared to this this results in a vertical stretch About the Now think about it if you're stretching a graph vertically, which axis are you stretching it about? If you're stretching it about the y-axis, which axis is not moving at all You're stretching it about the x-axis the x-axis is sitting still and you're stretching like a big piece of rubber the graph So it turns out a vertical stretch is about the x-axis just like a vertical reflection was about the x-axis And if this number here is bigger than one for example y equals three f of x then you have an expansion and If the number sitting where the a is is between zero and one a fraction for example Ryan y equals one half f of x Then you have a Compression Cassandra replacing y with something is always vertical replace y with five y one-fifth as high It's a vertical compression by one over five Replacing y with one-fifth y five times as high all of your heights will be multiplied by what about if we replace x With bx, what if we put something in front of the x another coefficient there It says the graph of y equals f of x equals that there's our semicircle of radius two and Then there's a bit of a typo here. I think look up Everywhere in part a and b where there's a f of 4x. I'd like you to instead make it an f of 2x an f of 2x and f of 2x oh And then in C where it says describe how the number for it's actually described how the number two You'll see why I did that just saying Katie. I'm gonna argue that to turn That Into that We've replaced the x With a 2x in my equation it's all it would look like this Y equals great big square root. That's not an x. That's not an x. Oh, that's an x I'll replace the whole thing with a 2x all squared See first in our place the x with a 2x By the way, probably they would tidy this up. They would probably choose to write it this way For minus 4x squared. They'd probably go two squards for I don't like this as much This is much clearer to me. What's going on? I can see the substitution I can see Matthias that I've replaced x with 2x. You know what that does first of all x vertical or horizontal X vertical or horizontal X vertical or horizontal X vertical or horizontal It's absolutely always absolutely horizontal. So when it says state what's going on.  It's gonna be a horizontal Compression by a factor of one half Horizontal compression by a factor of one half in our notes will abbreviate this in our homework But if I gave this to you on a test as a multiple-choice question, that's how I write the phrase So I want you just to be familiar with it. So when you see it, you don't go like what the heck is that? Katie, how would I graph this? You ready? You ready? You ready? Let's start right here Katie Now horizontal now. I'm thinking x coordinates x coordinates x coordinates horizontal. What's my x coordinate right now on this point Katie? Compress that by a factor of a half instead of two to the right, you know, it's gonna end up One to the right same height though. Katie this point right here trick question What is my x coordinate right here? How far left and right am I? You know what if I can press that by a factor of a half, you know where I end up in variant But this left-hand graph here instead of negative two, you know, it's gonna become I agree totally negative one That red graph is the image of the original With a horizontal compression by factor that Replacing x trying to make it bigger. No, it's gonna get fatter to compensate. Everything's backwards. Sorry It's gonna get skinnier to compensate. Let's say it's gonna get better. It's gonna get skinnier to compensate Now you got me yawning What happened to the y intercept?  And if you stretch zero, it's still zero What happened to the x intercepts though? Did they stay where they were? No, Jessica, you know what happened to them They underwent a horizontal compression by a factor of a half now. Let's compare that With D D says write the equation which represents f of one-third x What have we replaced x with here meant to be really obvious yep, we have replaced x With one-third x Andrew is that gonna be vertical or horizontal? How do I know instantly without to think about it x? x and Everything's backwards as it turns out this is going to be a horizontal it won't be a compression You know it's gonna end up being an expansion by factor of three What does that mean? Andrew it means that all of my x coordinates are gonna be three times bigger Andrew what's my x coordinate right here right now? What's gonna become yep? What's my x coordinate right here right now? You know it's gonna become Invariant and this one's gonna become positive six that red graph image of the original Under the transformation y equals f of one-third x a horizontal expansion by factor of two How many played Super Mario's when you were a kid? Okay, when he ate the mushroom all they were doing was because remember Mario is a function It's a weird complicated one, but it's a function to make them twice as big all they did They replaced all the y's with a half y and all of the x's with a half x and that would give you a Horizontal expansion by two and a vertical expansion by two Very easy to do Is it is he twice as big or three times as big? I've never actually measured you might be three times as big in which case they've replaced y with one-third y and X with one-third x three times very simple Once again, we notice the y-intercept is invariant in Let's try that again. Mr. Duk invariant Stop yawning. Mr. Duk knows for me didn't work rats The x-intercepts those are the ones that underwent the horizontal compression by a factor of or sorry horizontal expansion by a factor of three When is it a compression when it's a fraction less than one? When is it an expansion when it's a number bigger than one? Well, you take marks off we call expansion a compression device first Probably not but on the multiple choice section of your test. I will totally use that so Compared to the graph of f of x f of bx results in a horizontal stretch and it turns out You're stretching about the y-axis This is what you're stretching about because the y-axis is standing still and you're stretching around it What's it say right there by a factor of what what's it say right there Amanda by a factor of one over b in other words? Replacing x with 2x gave you a compression factor of one over two Replacing x with one third x gave you a compression factor of one over one over three, which is just three you're taking the reciprocal Duk. Yes, Katie. How come it's one over b here? But back here it's not one over a because they've already moved it over so it's already become backwards So you don't need to take the reciprocal anymore in this case That's why I wish they'd written it the same way both times I wish they'd kind of said look it's always the reciprocal as long as the y-thing is next to the y-thing So if b is greater than one for example Y equals f of 3x That's going to be a compression by a factor of one over b one over three in this case if b is a fraction y equals f of One half x that's going to be an Expansion turn the page page 41 is kind of nice. It asks Okay, what if there's also a negative in front? What if a is less than zero well if there's a negative right here? This is a negative right here. What else happens to your graph? vertical or horizontal Vertical and what a negative do flip Skip it page 42 Now page 42 is asking. What if you have a negative right here? What did a negative do right there? Horizontal reflection good. Thank you. You're learning that Page 43 is what I want to get to So we're looking at the a being right here if a is a fraction for example Y equals one half f of x That's the same as replacing y with 2y And when you look at the replacements everything's backwards you place y with 2y it doesn't get twice as high. You know what it's a vertical Compression what was the vertical compression here factor here being the cold What would the vertical compression factor here be? It's whatever number sitting there because you've already made it backwards moving it over so it's no longer backwards And it is about the x-axis. So as an example thin graph thick graph Then graph is my original thick graph. You can see has been compressed does not go as high does not go as high greater than one like Y equals 3f of x which you may recall would have come from this Replacing y with one third y This was the format that you were more used to the parabola Yeah, I really started something with Nicole. I'm yawning now too and I'm passing everybody else is terrible This this was what you did last you at the parabola. This will be a vertical expansion By a factor of a and you're expanding about the x-axis vertical expansion. Oh last thing For what it's worth Steph if a is less than zero. That's the fancy way in math of writing if a is negative It's also gonna be a vertical flip it will be reflected in the x axis and Compressed or expanded vertically in the x-axis, so you have more than one thing going on It's gonna leave the problems down the road, but right now it'll work. It's terrible. Hey, let's look at x's if we replace f of x if we put a b there, that's a fraction for example y equals f of One-half x where we've replaced x With one half x vertical or horizontal How do I know instantly? horizontal everything's backwards Putting a one-half x would mean expansion factor by two. This will be a horizontal Expansion by a factor of What would the expansion factor here be what did I say in my example if I generalize that one over b Take the reciprocal of whatever numbers there. That's your factor and if you're stretching horizontally you're stretching about the y-axis What if b is bigger than one would of b is not a fraction for example y equals f of three x Replacing x with three x vertical horizontal Horizontal, I don't know next to the x horizontal what well Replacing x with three x everything's backwards. This is going to be a horizontal Compression this would be a compression by a factor of one-third It's always a compression by a factor of one over b and it's always about the y-axis. Oh And and and if b is also negative There's going to be a horizontal reflection It's going to be reflected in the y-axis and compressed or Expanded about the y-axis Let's try some oh No, first let's summarize page 44 Lovely summary now. Let's try some says example one write the replacement for x or y and Then write the equation of the image of y equals f of x after each transformation a horizontal expansion by a factor of six horizontal Gonna replace x with I want to expand it by a factor of six. What am I going to replace x with? one-sixth x So it would look like this y equals f of X over six or one-sixth x they're interchangeable B sorry B a vertical expansion vertical Replace y with something factor of one-fifth Everything's backwards five y in scientific notation five y equals f of x Although they would almost certainly move the five to this side And say that looks better Okay, see a reflection. Okay reflections are negatives We're reflecting in the x-axis that means Gotta think careful. We're reflecting in the x-axis. What kind of reflection is that? Reflecting in the x-axis. What kind of vertical? We're gonna replace y With negative y There's also a vertical expansion about the x-axis We're also going to replace y with we want to vertically expand by a factor of three. We want one-third y There's our vertical expansion and we'll get this negative one-third y equals f of x although I Don't think they'd leave a negative one-third on that side Cassandra They move it right to here right to here and you know our negative one-third on this side would become Got to be fussy not a three a Negative three skip D next page Yo, why is it a negative three? Because you divide by negative one the negative wouldn't cancel Right Are you asking where the negative come from in the first place or you're asking? Why is it still negative afterwards? Okay, so how would you move this over? First you divide by negative one which would give you negative there and then you times by three Which would give you a three there, but the negative would still be there Is that okay? example to We're not gonna write this down. We're just gonna do this orally How does 3 y equals f of x compare with y equals f of x how do these two graphs compare? Looks like they've replaced y with 3 y vertical or horizontal vertical vertical or horizontal for replacing y with 3 y vertical Expansion by 3 or compression by a third compression by a third All your heights are one-third as high replace x with 4x vertical or horizontal Horizontal four times as wide expansion by four or compression by a quarter everything's backwards compression by a quarter vertical or horizontal Vertical expansion by three or compression by a third expansion by three vertical or horizontal vertical compression by one-sixth Horizontal expansion by three Let's try a graph Example four It says the graph of y equals at blah blah blah. Take a look at this What do you see going on here on the right page good I see a 2 is the 2 from the y or is the 2 next to the x x vertical or horizontal horizontal That 2 there is that an expansion by 2 or a compression by a half that 2 there Expansion by 2 or compression by a half compression By a half that's probably what I wouldn't write out Horizontal compression by a factor of a half. That's probably what I would write out in my notes. Oh I see one more thing Holly negative It's the negative outside where the y is or the negative inside next to the x It's a horizontal or vertical negative outside in front of you what where the y is or is it next to the x? Horizontal or vertical horizontal next to the x horizontal This is a what does a negative do? horizontal reflection in The y-axis, but I'm not going to write that because that confuses me So Kirsten I got two things going on here compressing horizontally Reflecting horizontally you ready? We're gonna do this together you and I this point. We're gonna do the key points and connect them Don't panic. It's gonna be easier than you think What's the x-coordinate Kirsten of this point right here? You're like you're right say it louder When I said say it louder you say it same ball doesn't help at all Negative six compress that by a half. So instead instead of negative six. It's gonna be Negative three hover your pen above negative three. Don't put a dot there. Just hover there Reflect it horizontally instead of negative three. It's gonna become positive three That's where you end up Negative six negative three reflect.  Chris. Let's do the next one What's the x-coordinate of this guy right here negative? What? compress that by a half Reflect we're the first two points connected then connect them Jessica, what's the x-coordinate here? compress that by a factor of one half Still zero reflect it still zero fancy word Turns out that guy ends up being invariant underneath this transformation Andrew, what's this one? compress You'll notice. I don't even care about the wise. I'm just staying on the same height You know why I don't care about the wise Do you see anything vertical written here at all? So I'm just making sure I move sideways But keep the same height everywhere connected connect them. What about this point here? a little bit trickier Holly, what's the x-coordinate right now? Compress it by a half. Yes, it's a decimal, but what do you get? 2.5 reflected You know what I can draw negative 2.5. That's not a hideous decimal. Sure fair enough about there Connect them Cassandra. What's the x-coordinate of this last one here? compress it Reflect it Got right there Connect That red graph is the image of the black graph Skinnier and flipped. It's your homework. Try number one Number one has fractions shut up and deal with it. Number two is fairly similar to number one three, I'd like you to do a b and c But not d. Skip four Five is good All of five all of five six is good Pass on seven Very quickly look at lesson eight, which I also hand it out to you, which is a continuation of the same topic Once again a lovely summary Time I got I know I've been talking a while. How far am I going to get here? Sorry what? I'm gonna pause here for now. I'll pick up the rest of this next class. I've talked too much


Who's a developer here? Okay, who's a designer? Okay, and any project managers or bloggers or? Okay, so we have a good mix. I hope everybody will get something out of this. So don't don't worry if you're not a developer So we're gonna do a little time travel today We've all wanted to time travel. I'm sure we're gonna go back to 2016 and in 2016 I accepted a job at Boston University They have been entirely WordPress for over 10 years now and With a few exceptions some tools everything's WordPress. So They have a multi-network multi-site instance. So it's quite large There's some some quite intimidating things in there that I still didn't understand when I left, but it was always interesting And I'm gonna talk about two departments today. So one department is IS&T we'll call it information services and technology and that was the typical IT department within the university They handled the machines. They handled the infrastructure Support for students and staff and then there was a department called external affairs and everything within there was basically Everything I had to do with communications We had a department that focused on Lobbying and making sure that the people passing bills knew about what we were working on and we looked out for the best interests of the university And we interacted with IS&T very frequently on a daily basis pretty much So this was our github organization and this was a As of a few weeks ago. So there's a few new faces that I did not work with but there's also a few faces that had left as well and Within external affairs was interactive design and that was the department. I was in and that department function like an agency We did everything from wire framing to the sites to building plugins. We interacted directly with our clients The clients were the colleges schools universities special initiatives Periodical magazines that we posted online and So we did everything we did photography we did videography and The whole gamut we had people to do everything. Everybody was very talented. It was great. So that clientele In addition to that the publications and stuff they had three options They could get in line and wait for us to help them They could use a pre-built theme that we controlled and we we deployed and we only it was kind of like calm We only allowed certain themes to be on the on the platform. We also had an internal Framework that we built that worked very well and had all of our features for our different plugins Or they could work external with external agencies. We had a few relationships But then they would pay full price if they worked with us. It was subsidized by the University And the point with that was everybody could afford a best-in-class website and the university would have a solid web presence of a best-in-class web presence so within idea was me and After I got settled I sat with my supervisor and he said I'm gonna give you an assignment Just to see what you think and get a fresh eyes on what we're working on. So he said that we have this theme It's just about ready to go live a couple weeks from now I want you to just just look at it make some points and tell me what we should improve on what we should do different So I took some time and I came up with a list and basically it was much more detailed than this But they fell into three different buckets. We had code style issues We had some missing best practices or incorrect best practices and there were some performance improvements that I suggested So we we sat down and we went over the list and We talked about it and he said yes, these are all things we're aware of. I'm glad you brought them up Let's fix some of them right now if we're missing some, you know, we have security issues or anything like that Let's fix that but let's let's table this and we'll return a little bit later to that when we have some time to address it properly So fast forward about six months I had mentioned that if you went with us, you would just have to wait your turn. We had a queue At that six month time we had a two-year wait list So if there are no additions or no delays, nobody jumped the line because they were important at the university we Had two-year wait. So this this wasn't sustainable Wasn't fair to the Departments and and the schools that were waiting their turn and they just they they had to get out sooner than that So we pitched some ideas to the university. We got approved to double So we were about 26 an ID at the time. There was four or five developers So we we were gonna essentially double so at that point we brought this list back up And we said we have to fix this now because if we start scaling our department and we're not doing things consistently We're not enforcing best practices We're gonna have some serious problems down the road and we're gonna have to quadruple in order to even maintain that so We sat down. We started coming up with some plans and discussing it some more But these were more common in our code than we thought so after I did my first assignment I started to notice these and I would flag certain things to to Steve and I would say hey Here's another example of this, but let's start making a list as we work on things of areas We want to prove repositories and sites we want to fix But basically we had to solve this and prevent that long-term technical debt that we would we would build up So we sat down and we established our goal Which was we needed a structured mandatory code review process to enforce consistency improve code quality promote learning knowledge sharing in collaboration As I mentioned we do a lot of knowledge sharing with IS&T Every other week we would have a meeting with them and we would Present something we were working on talk about it. How can it utilize? How can we utilize it within the university? We wanted to do more of that But above all we didn't want it to inhibit Our our team members from getting work done. We wanted to feel natural. We wanted it to Feel effective. We wanted it to be a positive experience And we wanted the team to get better and write better quality code. So So we started making a list of our challenges We want to keep these in mind as we went through this process So our first one was you it was not in common for you to work on many things at a time so it was it was functioning like an agency as Agency owners know you have four or five projects going on at a time these could be You know wire framing stage this could be design stage or development stage So again, we didn't want to inhibit work from getting done no matter what the stage of the project was We don't just have developers that write code In interactive design there are designers There's something called a producer and they would do a lot of email campaigns and stuff like that with HTML and CSS And the department's also structured in a way where Producers or designers could switch disciplines and go more into developer or designer vice versa So again, if we have our our github organization This is interactive design within that organization These are the people that identified as designers These are producers or other people that would help out and these are developers We and again, there's two in here that are working there now since I've left and there's one in there and myself that have moved on So at any time it was three four five ish and it wasn't a constant number but You can see the difference of we have many more people of other disciplines than we do of developers So that was something to keep in mind in this process There's lots of variation of experience so We had entry-level we had more senior developers even designers. We had senior designers and junior designers So that was another thing we wanted to make sure that the junior people were not getting left behind and likewise the Senior people were not being burdened with More work This is something I ran into a lot. Some projects are very long term They take a long time to who's who are here has ever worked in higher ed Okay, so they they feel my pain. That's more than I expected But it's not uncommon for a project to take a couple years There's many stakeholders and sometimes it just takes a long time to get approval for certain things So the the issue I ran into was it was very hard for me to dig up explanations for why things were a certain way People would come and go in the university and if there was no documentation in the code, which was not uncommon unfortunately You would have a hard time figuring out why a line was a certain way. You could tell that it was very Very purposeful it was meant to be there that way But you couldn't figure out if you took it out of there what would break and sometimes that was a little fun We also looked at some technical factors. There were some technologies. We were just stuck with We were WordPress for example, we were not interested in migrating. We were very all our all our We were all in on WordPress We were also all in on github. We had all of our repositories on github One of my first tasks was to move our remaining SVN repos over we use slack we use sass And there were some design tools that we also wanted to keep using we weren't interested in switching those We also considered some human elements So we wanted this process to empower our team members to to grow to be better to help each other and It's it's a big opportunity for them to learn so in day-to-day It's hard to put aside time to learn But if you're doing work while you're you're learning that's that you make good use of your time Motivated people love to learn so this helped with retention if we're enabling our employees to learn they're gonna stay longer and Also helps people learn how things are working internally if you're newer It's gonna help you get up to speed with how things are done how people work And it will help make more informed decisions later on in future projects As I mentioned, it's also an opportunity for more knowledge sharing everybody on the team was very good at what they do and We wanted to harness that in some way where They could provide feedback like this but not be burdened again with putting that time aside and having to sit down in knowledge share Improved collaboration. So like I said, we we interacted a lot with IS&T They helped us build plugins and and different infrastructure aspects for the different projects But we wanted to work with them more. They are also very smart They knew a lot of things that we didn't know and we wanted to learn from that and it's also improved your onboarding onboarding is very expensive. It's very difficult very time-consuming So if you have a structured set of rules and guidelines, you can throw someone into the process a lot sooner than that They can learn from this process. They can read the documentation They can learn from the more senior members as they review their code new people that come in that have new skill sets We can the senior people can learn from them and we can start to use their skill sets throughout our new projects So then we had our steps. So we know what our challenges are. We know what we need to do So we need to make our rules. We're gonna create the process document it and then train this is where it gets good we We wanted to identify the tools we need So we made our rules the first one was everyone must use the same code style this just saves time across the board if I write code and then Someone else writes another line of code and they're spaced differently and they're laid out differently It I have to think about it when I switch projects, so I look at their code But if everybody lays it out the same to use the same style guides that cognitive block is gone And when you first switch into that project, so that's one aspect of that It's also You would you would have things exactly where you expected them to be so if we had guidelines about how to organize our File structure, and it made it easier for the producers to jump in and know where the email templates would be and vice versa And that that was something that was very important to us Everyone must follow the best practices. These two together are basically coding standards I've given some talks about that in the past. So I encourage you to go look at those in more detail These are the rules in place that enforce consistency and they prevent a lot of common mistakes a lot of these are in place because of lessons that have been learned by people out in the wild they contribute them back and They publish them and people learn from them and that's why they're there Everyone must use the same workflow And I'm not talking about open Photoshop save it into your folder and publish it to the to the Network drive. I'm talking about the our github flow with this. I'll talk about this more later on Everything must be properly documented As I mentioned before it was very difficult often to go into a project and understand what was happening and why We required that every poor quest was going to need to be updated documentation It also helped us ask the question. Does it need user documentation? Does it need developer documentation? These were things that we wanted to enforce as we committed code to the repos If you if you go to do documentation at the end of a project That's really a drag. Nobody likes to do that. It's time-consuming. It's much harder and it takes more time often So if you document as you go the code is fresh in your mind What's happening is fresh in your mind and it's much easier to get it in at that point And a bonus one it didn't apply to everything, but if appropriate it would be accompanied by tests So this mainly applied to our plug-in repositories and that's so much our themes So we we sat down and we started to brainstorm our process And we go back to that question. What is the correct way to get for us? So there's there's a bunch of different ways to use get IS&T was using the more traditional way We were using a flatter way and ID they a lot of people just committed right to master Our plugins would use poor quests But they use something in IS&T that was basically This is more traditional. So if you use git branching, this is more What's built in but these cat these? Branches have categories. There's features. There's hotfixes and there's releases And they they they're types. They're classified. They have a specific purpose They go into specific branches and there's specific flows to each of those This doesn't really work with github github is more flat. So we didn't want to use this. We wanted to get away from this This is the github flow So you make a branch and it goes right back into the primary branch and you just go it simplifies it It makes it easier for more people to understand git And so we we went with this because again git was our tool that was a technical limitation And we just thought that this worked best We had a few adjustments though So for example, we we had different primary branches. So on plugins We had developed as our primary branch and themes was master Again all code must go through a pull request. There's no committing directly to master You can lock this down in github. So only administrators were allowed to force push to master So if a designer accidentally committed code to master, they wouldn't be able to push it They would only they would have to recommit it to a branch and then have a PR And then if for our plugins when develop is the primary branch We would always open a code PR to master when it was ready to do a final code review and then we would version it We would use that PR to increment the version number and update the change log again We're updating documentation as we go. We're not going back later and doing it when we find out we really need it And then finally we recreate a release in github So the next question was what are our coding standards? What do we want to enforce? This was really easy wordpress already has coding standards And so we decided to use those they are maintained by the community their best practices within the community So this was easy for us to choose we wanted We wanted our team members to Become accustomed to the way wordpress has rights code so that they might be less intimidated to jump into wordpress core and contribute back They could open up core files and and it would match what our coding style was and they would be able to learn from the code And what's actually going on? There were some differences We had a a separate github repository for our coding standards and within that we We had things like PHP namespaces. They those were required in our plugins But wordpress does not have that in their coding standards because it still supports PHP 5.2 So that was the difference that we had we had several differences We wanted to have and we would document them there Continuous integration we we use Travis. We didn't have a reason to switch And we decided to just keep going with that So then we started thinking about how do we enforce our our rules? We have these rules But how do we make sure people follow them? We we looked at several different things. We ended up in implementing basic PHP linting in Grunt so anyone that was running grunt watch and editing Templates they would know if they had a fatal PHP error in their code, but it was very basic It was only PHP fatal errors basically We knew that PHP CS was the proper tool but this is really intimidating for designers and Producers we we didn't want them to have to dive into this and Figure out what's going on the there's also the barrier of having them install it all on their machine So we didn't we didn't want to do that wasn't simple enough for us We also didn't want to encourage them to use the auto code fixer the code the PHP code beautifier we wanted them to go in and fix the errors themselves so that they could learn from that and Hopefully not make those mistakes later on Many people learn from doing including myself and so we wanted to encourage that process So we looked at some tools. We decided to use code climate It's similar to scrutinizer and there's a few others out there But basically it would give you a dashboard it would analyze your code on every commit It would give you metrics it would point out issues and this included PHP CS They had several different engines built in we used the ES lent one the markdown lint for our Remi files and Sasslin in addition to the the PHP CS And we use this to catch our mundane issues that We didn't want the the pull requests reviewer to have to worry about so similar to We didn't want people when they switch projects to have to think about the code style We wanted all those things to be fixed before they hopped in to review the code So this is an example of some issues that would be listed another benefit of this is that on themes we didn't have Travis most of the time because it just wasn't necessary at the time So we needed a way to have a separate integration in github. So this allowed us to do that We also didn't want to have the Travis build fail if there were coding standards issues Because there were instances where we didn't we chose not to fix certain violations Just let them in we'll fix them later or it was something we didn't follow and we couldn't override in the in the standards So this is great. It also on on a quick view. It lets the person see Whether there's code style issues or whether there's test issues and it's it's easier to break down You can also click in here and click the link on the PR It will tell you what issues you introduced in that PR and then which ones you fixed and then after it's merged You have the line showing what was what the status is when it was merged You could also do Hook in your test coverage and it would tell you You can enforce a minimum Percentage of new code that had to be tested company by tests. That was good for our plugins And then the other benefit that was really big for us was there's something called the prepare step and you could specify The configuration files in a separate repository. So in our coding standards repo We had a folder with all of these linting configuration files So every single repo across our github install that wanted to fall we wanted to follow these we would include the same file This was great because if the rule set was updated the WordPress rule set was updated We could just make our changes or our overrides in one location And then every time the next the next time that the repository was updated it would pull it for every single repo So we had our process down. We we moved into documentation We set up a contributing file, but similar to the coding standards configurations We didn't include it in every repo and every repo had a Link to this it said here's our contributing guidelines We have them in this at this location and so again, we have a single point to update It's not a burden to update these things as we make changes and we evolve. We just linked to it And again documentation we wanted it to be updated on every single pull request. So especially in plugins. This becomes important We have a running list that we We have in an unreleased version and if you add on each pull request what you're changing when you make the release It's much easier to compile those changes Sometimes we deal with this and WordPress we have to go back and look at all the tickets and figure out what changed And highlight the make the callouts of what the major things are but with this we were just able to copy them put them into the release and You know releasing doesn't take much time because our documentation is already done So then we started training people we had face-to-face training we we did We introduced it to a few people tried it out and then we introduced it to everybody and we started Having live sessions where people would commit we would go through the process. We would test it people would ask questions We made ourselves available to anyone that was that was making changes and had questions That helped a lot. We also showed IS&T at one of our knowledge sharing meetings. What was going on and then we went into our beta testing phase and It worked, but we found a lot of new things. So let's go over the new things we found We wanted to limit the PR scope. Nobody should submit a 5,000 line code review Nobody's gonna read that nobody should have to read that. That's very difficult to review It might happen sometimes, but that should be very rare You shouldn't be creating a burden for the code reviewer The the the code should be easy to review easy to digest And you're you're more likely to introduce errors into your code base if you have larger commits larger PRs Include a URL to test whenever possible. You should have a staging environment for someone to just click it verify the code works and try to break it and Just just make sure that the PR is doing what it says it does only what it says what it does Avoid the LGT M. So this one Hmm, this one's fun sometimes PRs are very very minimal and that's okay but if your code is more than one or two lines you should really try to say something positive or Confirm that it works does it say This PR does this and this Just it helps the person know that you actually reviewed the code You actually put thought into it and you didn't just look at it and and checked it off a good way to test this is to make a PR and Describe something that the code does not do and see if you get it looks good to me if you do then you know We need to step back and we need to talk about that Or put a little small bug in there and see if it gets passed even though that shouldn't get passed Where possible you want to make suggestions, but you don't want to do the work for them again We want them to go back. We want to make changes. We want to make the improvements so that they learn by doing It's also not your responsibility as the reviewer the responsibility is the person that wrote the code and worked on the pull request That could be multiple people But we as code reviewers. It's not our job to go in and actually fix it for them In GitHub they have a new feature where you can actually make suggestions in line And the person that created the pull request can accept those changes and merge them right in so this Makes that a lot faster again. You're not actually writing it But in some situations you might need to visualize what you're describing and this could be helpful there We started enforcing a rule to delete your branches after you merged This became important because you didn't want to have thousands of branches over time project goes on for a long time However, many branches you end up using over time If you didn't delete those they would just pile up and pile up and you wouldn't be able to tell what had Been merged very easily you'd have to look at each branch in the git tree So as soon as it's done delete it it prevents people from committing new code to it They have to open a new branch and a new pull request Yeah, no no It's done once it's merged you close it no new code always start from a new branch We developed some rules that these are loose but basically use common sense have good naming Conventions on your branches. I like to use the github issue number and then a brief description When some people did fix slash when we released plugins We always prefixed it with release slash and it just again It kind of did what the other get method of get did it categorize the branches, but just do the names We had some responsibility guidelines It's the responsibility of the creator to keep it up to date prevent Merge conflicts so if there's merge conflicts you have to go back in and update it before the person reviews it and After you get the thumbs up and you get the the approval It's your job to do some final testing merge the branch and delete the branch This one we never encountered But basically what would happen if two people disagreed the reviewer and the person that opened the pull request disagreed What we did was We didn't want it to be an argument wanted it to be a discussion. So All the opinions should be documented with reasons why on the pull request and then a third party could get called in and make the final decision It's not about being right. It's not about getting your way. It's more about doing what's best for that project Which is the most future proof and which is easier to pivot from and into it into the different approach If it's not the correct way to tackle it We also Wanted to encourage good etiquette when writing about people's code Language is very important and tone is very important. We didn't want people feeling John hates me because he he always gives me bad pull request reviews And a lot of times we we lose that we lose those those little nuances in written communication where we're in slack all the time and You know, we may word something a certain way and it gets taken the wrong way Only because they can't they can't see me and they can't read my body language So we wanted to encourage people to be positive and don't add stress to the person that opened the pull request So one important one was to not review the person you want to review the code only someone worked hard on that code review and you don't want to You don't want to make the code seem like it's bad. It might be bad, but you can word it in a way That's more encouraging So this is a bad example. I couldn't find real examples, but I'm sure you could find examples like this out in the wild in open source So it's a little bit better It's it's less aggressive, but you're still attacking the person you're addressing the person the the feedback at the person clearly describe your problems and and your questions say What we need to do why ask the question is this meant to be What what would happen here is this on purpose engage the person and Void you avoid you if you say we it feels more like we're in this together and We're working together on this. It's not you need to do this. You need to do that. We should try to do this better So again, you should use output scaping here We should use output escaping here Sometimes your your reviews will be critical and that's okay but You have to you have to make sure you engage the person if you engage the person they're gonna receive that criticism much better Again in the last example we we clearly state the problem if boolean value is passed to the function It looks like it would be converted to a string. Is this intended behavior? If so, can we document it? so this is a very simple example but in pull request you'll encounter much more much more in-depth questions and Situations, but again if you're engaging the person then they're gonna they're gonna receive that feedback a lot better We also found out that there were some additional factors to this succeeding These were not so much into the process itself or in the day today But more within the entire department and the people above the people doing the code This one's very important. So If everybody's not on board, then there's going to be people disagreeing. There's going to be People doing things different ways that the That all the benefits of the pull request process are gonna disappear All because I'm not doing it the way everybody else is and it takes time. So It takes Buy-in from everybody even project managers even management This is now something that we do and we have to account for it in our projects in our weekly Time sheets everything like that. I got it. Let's get the head But this is just like wireframes now. This is part of the process We need to clearly set expectations This you're introducing a lot of tools you're introducing a lot of new things Make sure that the team members know how to interpret these this data and what to do with these tools This one was pretty common so This screen right here has a lot of information We see we have our test coverage. We have our maintainability score Which is basically how long code climate thinks it will take to fix the issues that it finds We have our graphs. We have numbers all these things, but a lot of people got hung up on the sea so We had a couple situations where people were just spending time in opening pull requests just to get this letter higher We all want to do good. We all want to get high scores It's just a part of human nature and so people wanted to have a's So we had to step back and say hey, this is that's not the goal here This is a tool to help us find potential issues But it doesn't mean it's gonna be perfect the high number is not the important part The important part is that our code gets better. We have less problems that will hurt us down the road And and so you have to take these with a grain of salt You have to know what they mean interpret them and know what to do with this information and Finally, everyone reviews code reviews code that's able to This is the most senior person to the newest person. It's not the interns responsibility to do all the code reviews everybody's learning from everybody from each other and That that that was the most important one here The other benefit of this is we have these prs these points in time and we could integrate with different tools So we had Travis, but we also We we had pull request templates so when they click new pull request a new template it would show you what information you had to put This is one from Gutenberg We also experimented with automated documentation. So this was set up on our plugin repositories where When you committed to master and you tagged This would run on Travis and it would automatically commit and push back to github pages So as long as we did our job and we included all the inline documentation that information would get Extracted into this codex and it was all done automatically after you set it up. So this was a great benefit People could refer to this without having to download the repository or jump into the code It was just available for the team members to use We looked into some accessibility scanning. This is a tool called Pali We didn't quite get this working, but we wanted to Run this on our framework where we could scan it with with code changes so we could see if we were introducing any accessibility issues They also have a dashboard where you can set up different sites You can continually scan and it can show you metrics as far as which sites have more More issues We worked on trying to automatically deploy the staging This was difficult and we decided not to do it because we had too many sources of truth We had our production site, but it wasn't uncommon to clone that site to staging Make many changes and get it ready for the next version Before moving it over to production and then it wasn't also wasn't uncommon for each team member to have their own Sandbox that they would clone into and do some work before they committed the code or before they made it on staging or production So we didn't know how we would define what site the content would come from to test against We looked at a tool called Alex which basically will run and try to catch wording issues and language issues We experimented with adding this in our commit messages So it was a pre-commit hook it would scan whatever the person wrote in as their commit message And maybe make some suggestions of ways to better word things This is also can be built into many of the code editors they have add-ons for Adam and all those And as you write it can tell you how to Be more sensitive and more inclusive With our framework or theme framework, we wanted to look into visual regression testing so we can make sure we didn't make any mistakes So this is something by Andrew Taylor and panty on they had this scrubber that you could see the differences It would it would highlight the visual differences So we would make sure that the changes were intentional if the if what was on the screen was changing We could confirm that yes, that's what we wanted to happen And then finally one thing that we added was again, we wanted to empower our team members to learn and get better So we ended up We bought a treehouse license that we found that their courses more closely aligned with our Standards and our goals and how our team worked so we had some team licenses and Interactive design was very 9 to 5 we didn't want people going home working on the weekends getting burnt out So this was a little tricky because we didn't want to say hey go home and learn new things and come back We said hey, this is available to you. You can use it if you want and what we found was Excuse me a lot of people would actually go home and say hey I was on treehouse last night and again. They wanted to learn they were motivated. They went home They learned JavaScript. They learned WordPress theming So this was a great benefit that we added and it had nothing to do with our process But it was just an add-on that we had that we made available and finally everyone makes mistakes This isn't about being perfect. This isn't about not making mistakes This makes everything succeed you every and again everybody has to buy in and have this same attitude That this I can't stress this enough. I would have five sides if I could but that wouldn't make sense So, thank you. That's an old link. I will tweet a new link Thank you so much Jonathan. Does anyone have any questions for Jonathan? I? Thank you, and so do you all ever have to work on sites that you've outsourced that have come back to you And if so like how do you handle that process now because we kind of deal with that? Yeah, so We would we would work with specific vendors that we knew worked well And with us and worked with the same standards and guidelines That that helped a lot, but we also had We encouraged those projects to be done on our framework our theme framework So all our themes were child themes of that framework and as long as they were building from that We knew that they were somewhat following the same methodologies and things like that unless there was something really advanced that Required a custom plugin or something like that So choosing who you work with is important people that value the same things and follow the same guidelines Okay, are there any more questions? Can you talk a little bit more about why you chose to manage your plugins and themes on the separate branches? Yeah, so With plugins it wasn't uncommon for us to build many make many changes before we wanted to release We didn't want to release every change. We wanted to do them in versions. So For example BU profiles was a plug-in. Maybe we wanted to Change the thumbnail size and then we wanted to change the input fields and we would do that all and we would release it as one Version so master was always our source of truth and themes and plugins that was our latest deployable code and As we made changes we wanted to test it against other environments many sites And so we would do that and develop we would have developed deployed to our staging area And if we found any errors we would fix them and then we would when we were ready We would merge that into master and then we'd have a new version that we would we would deploy themes that didn't really make sense because There was so many changes designers would make CSS changes commit it commit it and it was it was it was Inhibitive of getting the code out quickly because it didn't make sense for make one CSS change and then merge it into master And we just did it right into master How do you deal with the time management of the review process itself like if you're implementing it for the first time Especially if you're on a smaller team, you know, it's gonna bite out a large chunk of people's time So how would you go about handling that with a small team? Yeah, so at the beginning? I mentioned that we only had a couple people involved with it We tried it out with a few projects and we realized that as we added more projects So we had to have everybody on board and that's when we sat down and we trained everyone If you have a smaller team, it might be hard to justify it, but it Excuse me, and it will be worth it in the future You'll have the documentation you'll have The biggest part of about about this is you have a poor quest with all the discussion and you have a history You can refer back to so it will save you time in researching why things were a certain way later Yeah, it's tough to justify but You know, maybe it's at the beginning You're putting in four or five actual hours a week or something like that But as you scale it will be worth it to have all that hit that history there Do you have educational resources that you like for Developers who are beginning this type of process and beginning this process of managing other developers And incorporating a code culture and an organization It's a good question. I like to look at what other organizations are doing what open source projects are doing a lot of these tools I found from just doing that And then I would research them how they worked how we could implement them in our process I Mean you could read about people skills and like how to word things with people There's no real one resource because this is coming from all different aspects. There's technical There's interpersonal skills as all those things I'm happy to sit with you and give you some more. I don't have like one resource that I used I kind of just piece everything together with my teams So it's that's a hard question, but those are things that I did to find some ideas What else? It's got to be one more Thank you. Okay. Thank you so much Jonathan


Hey everybody, welcome back to Magic Brethrenoxy. My name is David and this is a Magic Review. Hey, today we're going to look at the Die Vernon seminar from Roberto Gaiobi. All right, so this, what this is, is this is a recording of a lecture that Roberto gave on Die Vernon. This lecture was done January 9th back in 2015 and it was a three hour seminar and it cost $94 American to participate. You want to learn more about the convention that it was held at, you can visit SessionConvention.com. This DVD, it's a two set DVD, two DVDs, three hours long. It's brought to you by Vanishing Incorporated and you can pick it up from one of your favorite Murphy's Magic retailers for about $45. Now, all right, so if you don't know who Die Vernon is, Die Vernon is the professor. He is the magician's magician. Rarely worked as a professional magician himself, spent a good part of his later years at the Magic Castle just entertaining people and teaching. He was a teacher and this is why he's called the professor. Die Vernon's expert slide of hand technique and extensive knowledge has given him the respect amongst fellow magicians. Die Vernon was born in 1894. He died in 2002 and he was 98 years old. He died in California. Die Vernon, again, massively important to magic, massively influential. He changed the way most magicians look at magic. Some of his best tricks that you would know, the trick that can't be explained, brain wave, he's responsible for that, slow motion ace assembly, the triumph effect. He is also credited as the man who fooled Houdini and he did that with the ambitious card. There's lots of different versions of the ambitious card out there right now. I would recommend Die Vernon's routine that is actually in his book, Stars of Magic. It's magnificent and even if you never perform it in itself the way it's written, you're going to learn a lot of techniques and concepts that you're going to be able to apply to your favorite parts of the ambitious card routine. Card college two and the chapter on the double lift part two, you're going to learn some excellent things that Roberto passes on from Die Vernon for the ambitious card trick. Vernon was able to pass on a lot of his knowledge, a lot of his teaching to some of the greatest teachers and greatest magicians that are alive today and he continues to pass on his knowledge through his books. You have Inner Card Secrets, you have the Vernon Chronicles and Revelation, which was a study on Erdnase and the expert at the card table. If you don't know who Roberto J.O.B is, he is the author behind the card college books. If you're into card magic and especially if you're just starting out or you kind of want to take your magic to the next level, I would highly recommend the card college series. It's going to give you way more information than just some of the DVDs that have come out lately. If you're really serious about card magic, wanting to take your card magic up a notch, I would highly recommend card college. Roberto, why did Roberto do a seminar on Die Vernon? Well, Roberto has studied Die Vernon's material and he is given this highly acclaimed lecture. It's only been done just a couple of times. Roberto speaks about Vernon's life, he talks about the Vernon touch, how Vernon thought through a lot of his best ideas and really honed his craft. Roberto performed some of these tricks, some of them rarely seen, some of them straight from his books and Roberto even breaks down some of Vernon's lectures.  Alright, so what are you going to see on the video? You're going to see Roberto give his three-hour lecture. It's broken in half, like an hour and a half and then a break and then another hour and a half. You're going to see pictures and photographs of a lot of his lecture notes and books. You're going to see live material of Die Vernon. There's very few video clips out there of the professor performing but you're going to see him do a lot of these tricks that Roberto teaches. You're also going to see some of the people that Die Vernon influenced perform tricks live or not live but in a video format. For the most part Roberto performs most of the effects. He explains them rather quickly. He's expecting you to go back and find the books and learn them yourself or he's expecting you to have a working knowledge of magic that you could watch the trick. He could quickly tell you the reveal and you'll figure it out. You'll piece it back together. The great thing about having the DVD is it's better than being there live. You can actually rewind, go over, watch it again and again and you know when you think about the lecture itself cost over $90. You can get the DVD for 45. That's half and plus on top of that, on top of that you take the first DVD out of your DVD player, put it in your computer and you're going to find an 80 page PDF of Vernon's life and all the tricks discussed in the lecture. So that is really cool too.  You're going to see the mental card miracle, the variations on coin and glass. You're going to see a really cool funny banana trick. It's going to make you want to run out and buy two rubber bananas. A lot of this is magic theory. More involved than just learning how the tricks are done. More involved than just going through the process. Roberto is giving you the theory behind why Vernon was a master, how he was able to put these tricks together. Theory is the working principle about which magic is based. So magic theory is just as important as learning how to do tricks and I would argue that a lot of DVDs today don't explain theory, don't explain process. So this is something very valuable, I think, and especially to learn it from Diverne and Emberto Giovi is priceless. So again, it's more than just how to, it's a lot of why. Yeah, two DVDs, three hours worth of material. You're going to get the 80 page PDF to $45 from Vanishing Incorporated. If you'd like to pick this up, you can find it on one of your favorite Murphy's Magic suppliers. Thanks.


Everybody forced here ripping 20 22 fanatics memorabilia silver box break number three random hit style Three hits inside this silver fanatics box right here Three names in the break will random at the end of We'll type in as we go random at the end to see what we got here. Good luck everybody silver box break number three Let's see Football me, I think it's a book. Okay. It's a football. Yeah, all right. Got a football It's gonna be good. This is gonna be good. All right.  I'll give you guys a hint. See where's the signatures got to be covered by that So I'm not worried about them Yelp Look at that.  I love the ball Let's show you the whole ball here Barry Sanders, that's awesome man beautiful Lions ball. I got the white and the the regular Material as well Barry Sanders big old lion stitched logo as well that is stitched on there This part is not stitched though. Yeah, that lion's logo is stitched. That's freaking awesome That is a cool Barry Sanders ball, man Oh, yeah, back to I didn't see the authentic thing on there It is in the bottom of the box usually on the ball. I must have just missed it. There's like a little holographic sticker, so Was this That's really cool Wow, dude, this is a heavy jersey because this guy's a tall person Got a basketball jersey it is a it looks like a rocket's Clyde the glide Drexler Silver ink Hall of Fame inscription right there as well Yeah, that's for sure. Rock has got that navy blue with the stripes three color stripes there Clyde the glide, baby There you go Clyde the glide man Rockets Championship winner actually got the sticker below the Hall of Fame inscription. That is nice. That is a gorgeous Jersey It's got the weight to it, too. That's an authentic. So that's pretty sick. It's not like a replica Jersey That is awesome Yeah, sticker on there and you get the little tag in the box as well And oh man, how do we go about this right? This is sick right here. You ready? Sick Nuts All right. All right, Lord. So this I don't even know what size this is. Where does it say? Say anywhere what size I don't know the size 16 by 20 16 by 20 look at this print Yeah, guys Yeah, guys. Oh my goodness What a work of art big show, baby show. Hey, oh, Tony 43 of 50 with the artist signature and then the beautiful Otani auto up top there That is beautiful 16 by 20 on the big show. I can barely even show the entire thing. No pun intended God that is nice Yep, I don't know if it says who the artist is Didn't say in the tag up there Doesn't say on that either Yeah, I'm not sure That's gorgeous though Sick. Good god, man. These you never know if you really never know what you're gonna open Man That uh, these are heat.  And this is the silver These are the silver boxes Yeah, man, that is freaking awesome Um, I know you guys know this but here's the insurance link for just everything tonight Let me move these uh Did you type it in? Yeah, just click off of the this is not showing up over here All right, three hits three names. Good luck. We're randomizing both same amount of time See who's getting what eight times on our random six and two names first One two three four five six seven and eight Michael T. Troy H or Troy W. Then Rob H at the bottom Michael T down to Troy H or Rob H I keep being mixed up Michael T down to Rob H eight times on the hits now one two three four five six seven and eight Drexler down to Barry There you go, Michael T with the Drexler jersey Troy W with the Shohei Print auto and Rob H with the Barry Sanders signed football. We'll get the results posted moving on to number four