Good afternoon everyone. Thanks so much for coming and I'm going to start by doing just a quick audience poll And I can really only see the front row Super well because these lights are actually brighter than they appear So can I just get a quick show of hands? How many people are mostly here to hackle me? Which is I know it's the front row so fast up Okay, and how many people here have been working from the command line for a while and are looking for Like more sort of expert tips or more information You are going to be disappointed my friends. This is a very beginner session. So if you sneak out I see you're sitting at the edges. I will not be offended at all How many people are here because they are still checking email after the last session Okay, no I see no hands because you're currently paying attention to email no problem And how many people are actually at a beginner level and every time they've tried to use the command line They either turn to the whiskey bottle or wanted to breathe into a paper bag or you are my people Okay, welcome So and how many people just don't put up their hand when asked because they think it's a stupid thing Great the same hecklers and how many people can't understand my accent Fantastic excellent Well done everyone. Okay. So today's um, hi, my name is Emma. I'll be your host for today and I've been playing with Drupal for About a decade I think and I've been Working with Linux as my primary operating system with the exception of this computer for about a decade I'm I don't love living at the command line, but I have definitely made it my home and I have Learned to feel very comfortable there by implementing a few sort of tips or ticks tricks or techniques or those kinds of things And that's what I want to share with you today is basically how I made myself comfortable at the command line Even though I don't really feel like I belong there sometimes The presentation is divided into approximately four parts. They are not equal length But we'll start by taking a look at why I think it's so difficult to Have fun at the command line and really feel like you belong then we will Talk more specifically about some of the benefits of being at the command line I will give you the advice to group functionality and map it to things, you know, we will use some front-end Automation tools as our examples and we'll sort of map them on to with one Exception map them on to real-world examples so I can show you how you can do that kind of work and then we'll talk about playing the pre game and Learning the moves before you actually get into the real game where you can die there I don't play video games at all, but I'm going to pretend to do video game analogies It's going to be hilarious for those of you who do play video games And then finally I'll talk about how to not want to throw things at your computer Even though on a fairly regular basis One of my recommendations is going to be to not get a MacBook Air because they're really portable and they're kind of like frisbee shaped sometimes So we'll go over some of the techniques on how to troubleshoot and just generally how to not panic when you're at the command line So if you didn't actually listen because that was too long of an explanation The really big takeaway for today is that the command line is difficult because there aren't any pictures And you will need to make your own now for those of you who are saying yes captain obvious There are no pictures at the command line It's It is an obvious statement to make but I think it's one that is The true hurdle to feeling comfortable at the command line as soon as you come to grips with the fact that the command line is Never going to provide you with a picture and that is your Responsibility to sketch out in other words like get out a piece of paper and a pencil and start drawing Out and start doodling and start creating a visual map of how the command line works until you step beyond that hurdle It will remain a completely impenetrable place The big reason for that is because of the way Most people think so if you take a look at either sort of the top two or the bottom two Generally people work with pictures now. I'm sort of one of those Bizarre folks that like when I close my eyes and picture something I don't see pictures and I don't see words. I hear since you know, I hear things I hate have an audio input. I might have music that I hear those kinds of things But but when I when I close my eyes, I don't I don't see things. It's just kind of dark in there so if you have When you close your eyes and you actually have an imagination and you can see sort of worlds inside your mind You may think that working at the command line is kind of like and again for those of you who do video games my like most sincere apology for all of these really bad analogies that don't quite fit but it is a Fog of war experience. I learned that term last night. I was pretty excited So fog of war is when you're playing a game and the edges of the map aren't defined until you go exploring them And that's very much what the command line can feel like You don't really know what's gonna happen until you start typing in the commands And you don't really want to type in the commands because you're not really sure what's going to happen and yet Once you've typed those commands, you're still left with pretty much bupkis so What you need to start doing is figuring out how to create that map for yourself And I don't I don't mean to trivialize it But it really can be that straightforward and for me that means going back and looking at things from a very very high level overview and the way that we tend to teach People at the command line is sort of a just-in-time learning and what I mean by that is oh Okay, so you want to do this thing run this command and we don't stop and say to someone When we're working in front-end development one of our goals is Automation and one of the goals is automation because we want to be able to and I'll go into this a little bit more in in a few slides, but Creating that 10,000 foot view is what makes for me working at the command line possible and getting away from just-in-time learning so I'm going to In some ways teach you how to ask so what and Kind of reveal your inner four-year-old a little bit more and be really insistent that people explain to you what the benefits are and what The reasons are behind running those commands and why you should be doing things at the command line and it It also kind of in some ways makes our reptilian brain kick in when we're presented with This to look at and it becomes almost this like rage inducing I don't know what I'm doing here And if I type something the world might implode on me because I'm not really sure what I'm doing so the next sort of Tip shall we say relies on that the person who was in that slide where I gave you the Breakdown of the percentage of people who like to look in pictures or or think rather in pictures versus think in words Did anyone recognize the character? Who was on I think it was two or three slides previous? This is one of those exercises where you're going to start practicing what it's like working at the command line Did anyone recognize the character from Sherlock? Does anyone watch Sherlock? Okay, so if I go back Does anyone now remember who this character is those of you who watch Sherlock? so this character and Is who's name? It's um, I'm horrible with names. I'm going to try and remember but what he does is he blackmails people and he oh spoiler alert Okay, so for those of you who don't watch Sherlock This is about to get really awkward and you may want to just like mentally tune out for a second And I'm sorry if you're watching the video skip ahead Awkward so this guy this guy creates a mental palace to store all of the information for which he blackmails people with But he suggests that he has the files and the information so when people Are talking to you about the command line and how amazing it is to use and how it's super easy to remember where everything is They are probably working within their own mental palace And I believe this is a term that dates back to sort of Greek philosophy whereby you you map out an environment in your brain I would suggest you do it on paper because again, I don't think in pictures that therefore I can't imagine how other people do this So if you can create that space and as you walk into the individual rooms You you map on how that information works now I'm not going to suggest that your mental palace should necessarily look like a palace But if you can start to make the connections of where this information fits in that 10,000 foot view I think it'll start to Sort of shift the tide as opposed to the just-in-time learning of like I'm taking this command And I don't really know why again take that 10,000 foot view backwards And then looking into where the individual room is that you're typing the command starts to make sense So the first thing that we need to start doing on all of this is Having you understand why you would even want to be at the command line in the first place How many people are a little bit resentful every time they have to open a terminal window be honest The rest of you are lying It's actually not a fun place at the terminal And it only becomes a fun place at the terminal when you start to see some of the benefits of Being there and I would say Well again if we go back to our sort of four-year-old self and we start saying why all the time my four-year-old self I have no memory of this I promise But apparently what I used to say to my mom was what's the bribe? So whenever she wanted me to do something I'd be like, eh, what's the bribe?  Is there is it called? What's the payload is that a thing? No, okay bad analogy moving on But but think of whatever your personal so what is and I would say that the big goal to be at the command line These days is to gain Consistency and now you should say whatever your inner four-year-old normally says for the so what scenario? How does that benefit me so what well the so what in this case? Is that we can now get copy pasteable commands and I would say There's there's more it's like all of a sudden one of those like infomercials wait There's more but the first thing that I really love about teaching people Version control specifically on the command line is that I'm not having to say okay navigate to the third menu click that Down two items. Oh unless you have a previous version installed in which case it's only or you have to go down three items And then a new dialogue window is going to appear I have to describe in words a visual experience And if the visual experience changes slightly then all of my instructions become wrong Whereas at the command line if I want to Replicate a series of Instructions I can very easily say here's the sequence of things that I want you to type in and For me if something goes wrong huge benefit in terms of that copy paste I can copy the error message and paste it into Google and stack overflow will tell me what went wrong Love that, but if you're working in a GUI that becomes a lot more difficult So for me the first so what benefit in terms of consistency is that copy pasteable part So what's the advantage the next advantage of it being copy pasteable? Anything that you can type in words Kind of I lie a lot as the other thing you have to watch out for this Anything that you can type into words is something that you can convert into a script at the command line and Again, I'm kind of lying But if you can issue a command generally speaking you can convert that command into a script which gets run Now again your inner four-year-old should be saying so what why does that matter to me? Because scripts can be automated so as soon as we can start typing out the commands We can start creating scripts. We can run the scripts, which means we're making fewer mistakes and We can also start looking at automation Now for folks who are working on really tiny websites without huge sort of staging and Production environments without the cloud where they have to replicate things times a million servers because they've got Whatever thing happening and a million people visiting all at once like when I say a million people coming to a website all at once How many people are like yeah, I built that Yeah, there's like three point, you know as far as you know for the recording about three people put up their hand Yeah, yeah, no, I'm not sure. I haven't looked at the logs yet. Whatevs Okay, how many people like I got a hundred last week. Yeah Okay, a thousand last week a thousand in a day a Thousand in a minute So as you start to grow in size this idea of being able to automate the pieces Becomes far more critical. So I for myself. Anyways, I have generally worked on Fairly low volume sites if I make a mistake oops Maybe my mom will notice because I told her that I you know made a new web page for her But generally speaking I'm not doing stuff. That's super important as soon as you start and also I don't do a lot of development anymore I'm mostly on the training side and mostly on the project management side So as a developer as you start to build out these systems Which get more and more traffic which require more and more infrastructure This idea of automation becomes more and more important to you There's no way if you needed to spin up ten servers You would want to be in there app to get installing every single Linux package to do every single server by hand You'd need to put those automation pieces in place. You need to have the Scriptable commands you need to be able to type the commands out which means you need to be at the command line So hopefully I've explained to your four-year-old self some of the benefits of being there The next trick I would say is okay fine You've convinced me that we need to be at the command line now I would say your next task is to start grouping the the things that you need to do at the command line and map them on to Activities that you already know about So that statement may not quite make a lot of sense yet. So let me show you what I mean I'm going to group our Examples into three separate categories. I'm going to talk about task runners scaffolding and package managers. Are there any of those terms right now? Sorry any of these terms without me explaining them that maybe you've heard before either in a computer sense of the word or in a Everyday life sense of the word. Hopefully at least one of them sounds a little bit familiar Anyone do any of these terms look a little bit familiar? Shout out, which is the one that sounds familiar or looks familiar to you Packaging. Yep. What else? All three sound familiar Scaffolding the outside of a building the thing that you try not to walk into when there's construction happening on the outside Okay, so these words and where it gets I think a little bit tricky is that we use these terms and yet I don't always think that we're using the best English mapping even though when you get into the technical definition It completely makes sense So let's take a look at the first one the task runner And I've picked this one first because I think it's got a nice mapping on to Onto a real world sort of like okay, what does this look like if we play out this scenario with human beings? So our task runner in the computer definition of it is a set of tools to make build Operations consistent clean and well documented They provide helpers to manage operations on the project file system via the command line. What? so Task runner I think of as the ball runner in a tennis game So the ball runner whenever things sort of need to be Set back up again, they'll go and get the balls that we can start playing the game again, so in In the sense of computer languages a Front-end task runner would be a grunt or gulp broccoli brunch Those words all cluster together They're all going to be doing the same kinds of things and if I think about this in terms of a Linux sense although I'm like I'm probably the only one in the room who's ever gonna map things onto the Linux sense of the word It's a make file for building programs So now I'm gonna work with the next group I'm gonna go through these quickly because I have a comparison chart at the end So the next one is scaffolding and scaffolding Design time scaffolding produces files of code that can later be modified by the programmer to Customize the way the application database is used and I think this one if I give you enough clues You'll be able to think of a real-world example so if you have a Bunch of files that you know you want to customize if you have a Box of Legos that you know you want to customize This is like Scaffolding is like getting a kit So you get your kit in the mail and you can or however you buy your kits of Lego these days and you can make the Darth Vader's TIE fighter or you could like Decide your inner four-year-old says I want to make something completely different You absolutely are welcome to do that. There's no kit police out there who says you have to build the TIE fighter So when we're working with scaffolding, we're getting a series of things that we intend on Immediately not looking like a pile of Lego Examples of scaffolding so in terms of my tangibles my Lego kit is a real-world example of scaffolding I don't I'm not going to leave it as pieces. I'm going to start working with it Front-end development. We've got yeoman in Drupal. How many people have done front-end theming stuff? And you've worked with a base theme You rarely leave it as a base theme or rather you copy the starter kit out of the base theme And you immediately start working with it. That's your scaffolding Again in Linux make kind of similar here So if we start taking those concepts and we start sort of mapping them on to commands We've got the idea of creating an empty shell site or creating a new scaffolding site So with compass you build out all of the template files With yeoman you build out your web app But it's that idea of what are the building blocks that I'm going to start with The third group package managers Package management system also called a package manager is a collection of software tools to automate the process of installing upgrading configuring and Removing software packages for a computer's operating system Computers I can't even read this stuff Operating system operating system in a consistent manner now. I gotta tell you I couldn't come up with a real world analogy for this one And I think it's probably because I've spent too much time at the command line and I kind of go Yeah, I know what a package manager is totes. No problem So can you fill in my blank on this one? Can you think of what the best I could come up with it was like construction site diggers? But that didn't seem very much like install update and remove Can you think of what might be a real-world example of those three things? Install update and remove what does that in the real world? Nice so refrigerator installer. They bring you a new refrigerator They plug it in for you and they take your old one away. I like that one Can anyone else is there anyone that's got something that they can think of for a package manager? So again, these are the techniques that I want you to start using when you're working at the command line of like What other concept is this closely map on to that? I can use in my mental palace for the command line so that whenever I think about this thing I can be like, ah, this isn't that hard. This is just the refrigerator thing. No big deal. I can handle this. Yes nice Yeah Okay, so I'm just gonna repeat back in for the recording It's more like the appliance store because I need to be able to choose my appliance from the selection of appliances And then I need to have like I and then I'll go through the the actual process of doing the installation and having the old One taken away so going one step bigger and again the more you can talk about these mental images The more you can sort of shape it and say why doesn't this analogy work? The more you're teaching yourself about what the tool actually does at the command line And you don't you don't need to stick with an analogy But the more you can start to make those mappings you teach yourself. What's what the commands can actually do So my examples of package managers Perhaps the easiest one for those of you who are working on a Mac is the idea of the app store and the app store is going To allow you to do all of the things that the refrigerator or the the appliance store could also let you do and At the command line on the Mac if you haven't already installed brew love brew get that on Linux again, so I know yeah because nerd so There's package managers on Linux, and I really like them. I prefer the Leah Debian one rather than the red hat one Okay, moving on Sorry Did I mention I'm Canadian? That was the apology thing and then finally under the front-end development We've got the node package manager Bauer and Ruby gems So some common package manager tasks Locate the software install the software check if Excuse me check if updates are available and also get the latest version of a particular piece of software And these same concepts are going to be repeatable for other package managers Of course the syntax will be a little bit different. Sometimes you'll have some double dashes thrown in there for fun Turns out they're important if you need them But these concepts are going to be ones that once you get to the command line if you've got that map for them Oh, I'm just installing my refrigerator. It doesn't need to be that complicated So now I I'm not going to leave time for you to do this But if you were to create your mental palace Then you would go ahead and take whatever the generic definition was for each of those three groups of software I happen to give you tennis as the the ball runner in the very first example if you followed that one through You might have had the scaffolding of The person who sets up the tennis net Or the person who retrieves the ball during the game or and then you'll find ways that your analogy doesn't quite work And then it will get a little bit frustrating while you adjust your The way you think about it or your mental palace to make things fit a little better But making those connections Diagramming things out actually yes sketching things and writing the words down doodling that the reason why I keep coming back to writing instead of using a computer application is that the the process of drawing will Canate will make a kinetic connection to the information. So even if you're not Saving that diagram that the process of actually moving your hands around the process of actually Manipulating the information write it on post-it notes moving those post-it notes around Helps to build the neural connections that you need when thinking about that information All right, so we've got we started out with what the benefits are your four-year-old saying so what then we grouped the information so we didn't try and learn All of the commands we started by saying well, how do those commands? Well, how does that program map on to something? I already know the next step is to learn what I'll refer to again really bad video analogies that won't actually work We will go on to that the pre game to learn the moves. So I Recently downloaded I believe it's called revolution 60 It's an iOS game and has all female characters and I actually ended up having a lot of fun playing it great Great surprise to me and delighted to no extent my husband who was like, what are you doing playing a video game?  I'm trying to like fight things and stuff So it ended up being a lot of fun But there's this little thing at the very beginning of the game where you don't die if you do things incorrectly And you like learn how to explore the environment in a totally safe way and you fight a monster and you learn how to Like spin and stuff. I don't really it was cool though So I'll refer to this as the the pre game part of the show and the first thing that I want to tell you about is What I think makes a really good command line utility because I think there's some really really horrible ones out there So I would say for the most part a command line utility that makes me feel smart is a good to command line utility It's like disclaimer alert get does not make me feel smart so Just putting that out there, but I've you know, I learned how to use it. I use it on a daily basis I'm writing a book about it and I I like what I can get out of it So I'm willing to put up with it So the first thing that I look for is the help command and I want to see that it includes a functional list of The sub commands that I can run not an alphabetical list So I wanted to be giving me some tips right off the bat and if it doesn't do that I can immediately start to blame the developer of the application instead of myself Because they've not given anything to me in terms of a few tips to get me started So I can immediately start to sort of like absolve myself of blame when things don't work right away The next thing I really like a command line Application to do is give me output if I'm going to go to the hassle of typing something I want it to give me something back and some applications at the command line you type something in and By design it doesn't say anything back at you. It doesn't say well done you or You've done it wrong again or anything. It just kind of like silently Succeeds fails. I don't know so I like a command line to give me information back And then the next thing that I really like a command line to do and git is actually really good at this one Is I like it to tell me what to do next so when I've Performed an action. I like it to make suggestions on what I might want to do as a follow-up So some quick tips for navigating at the command line this is Sort of moving around your environment Arrow keys up and down allow you to navigate through your history of commands typing the word history and pressing enter and I should clarify this is at the at a bash or a One of the other variants. This is not necessarily in Windows I'm going to have a slide for what you should do if you're at Windows a little bit later on So typing the word history will give you for that particular Environment that you've got opened currently a list of everything that you've typed previously super super helpful If you want it to Retype one of those commands and you don't feel like arrowing up 50 things You can type the exclamation mark the number from the line in the history thing That's just been output press enter and it will retype that command for you super helpful The other thing that I really like is control R and control R allows me to search through the history in a reverse fashion So three just like little pre-game things for you Then we thought within the actual command that you're typing out again sort of navigation tips When you're typing start hitting tab what tab will do is either complete the command complete the file name and If it knows more things and can make guesses Pressing tab will start hinting at what might be available to you If you want to delete a word control W jump to the beginning of the line control a jump to the end of the line Control E these are really handy if you have a super long line that you need to make some adjustments to If you're working on a Mac like I am and you can't get your little pinky over to control very easily You can remap it on to the shift locks key or caps lock key rather Which none of us should be using any ways in this modern age of not yelling on the internet unless you're working in the issue queue No, I'm just kidding Just checking to see you still paying attention. All right, so finding the command line We've got our navigation tips and tricks here In theory all command lines should be created equal in reality. They're not I Highly recommend using vagrant if you're on Windows. Is Erica here? Erica's not here Erica has written a really fantastic book on how to use vagrant and I also have some videos up on Drupalize me Some of them are free some of them are not Vagrant allows you to create an instance of a Linux server on Whatever your current system is so if you are on a Mac or if you're on Windows or even if you're on Linux it ties in with the Oracle virtual box it also works with VMWare now so you can put it another instance of a machine I generally I Again because I like working inside Linux the other thing I like about this is it kind of feels more secure So you can sort of play with things and then destroy the machine if you decide that you don't want it anymore And I have to say destroying machines and vagrant is kind of cathartic So back at the command line again Hopefully not as rage inducing now that we've got some ideas of where we're going to be heading But we need to figure out what the inputs are going to be and again if I come back to the ideas of games I've got this idea of a prompt that I'm starting with and the prompt is asking me to to move or to take action So if we were working with the old Logo turtle thing that is anyone old enough to remember these like horrible computer games that we were supposed to be really excited about as Ten-year-olds. Okay. I'm seeing a few giggles, but not many so Like the turtle walked around the screen really slowly. It wasn't that exciting kind of like the command line If you have done text-based adventure games, you open the mailbox. These are things you do at the prompt We type in commands. This can be either thought of as a verb or a noun Commands might be one word actions like sing or jump or look at the actual command line I might say help if I want to get the heck out of there I tape exit it will close the command line or history Which is one of the ones that I mentioned earlier to give you a list of everything that's happened in Terms of the next step in our evolution. I Initially just had take read open to that. I've added a parameter so I can take my book I can read my pamphlet or I can open my window on the Actual command line side of things I can change directories into a specific directory I can read the manual page for whatever the command is or I can move this one's tricky degree of difficulty just increased I can move One parameter and then there's a second one in there So I can move one file name to another file name or move it in location. I Can also add in modifiers and this is where we often start seeing dashes, but they're not always dashes Flags will have a double dash. So when we start adding in This is going to represent a collection of sorry. Let me start that sentence again with a Parameter we've just got in the whole concept With the modifier we're going to be telling you something about the very next word so in my exam my first example of Make directory I'm saying and it's sub directories with that minus p flag When I've got my tar, I'm going to be assembling files or in this case Extracting files with the x and the the file that I'm going to extract is then provided So we've got a couple of different layers that can be provided at the command or within the command itself ten commands that That I use fairly frequently when I first started working at the command line I actually had a help file that had the things that I did on a fairly regular basis and it was All in capitals called help dot txt And it lived in my home directory and I referred to it all the time and whenever I Because in those days I would like email one of my friends me like hi I don't know how to do this thing and they would email me back this like Amazing command that had words like said and awk in it And I would like paste the email and I would put it into my help file. So I recommend this to you create your own Mental palace or just text help file You want a list of all commands? one of the things that I Found when doing research for the very first version of this talk a few years ago was a command line foo.com Slash command slash browse It's not only a list of all the commands that you can type, but it has a rating function It's pretty amazing actually And or just doing an image search on Google for commands and finding a cheat sheet That you can print out or you can have as your desktop wrap or your desktop background for a while Those kinds of things will help to expose you to the different kinds of commands But it's very much a just-in-time learning So it's not helping you to create the map of the relationship between what you need to accomplish and the things That you need to type in oh Finally here, it'll be okay. You don't need to panic when things happen at the command line and Output is presented. Hopefully output is presented my big tip here is to read that output in both directions and I know that sounds like kind of a Strange suggestion to make but it's kind of like look both ways before you cross the street So the reptile brain when presented with the output from git Freaks out because it says detached head and I got to say detached heads are pretty frigging scary So if I read this for as if it were a sort of normal command output The way that I've trained my brain to read at the command line is to look I guess oh no wait. I've got a fancy laser pointer you guys check this out. Okay So my normal reptile brain goes to the very closest thing to My input and I've clipped it out on this picture unfortunately, but the you know The next thing would be the prompt at the bottom So the I go backwards in time and read head is now at something Something I don't really know what's going on here. Okay. I'm gonna go up one more. Okay. I'm supposed to do a git checkout I don't know what's going on. I'm gonna go up one more and I read backwards through the information Git is actually as I mentioned before Really fantastic about telling you what to do next so in the case of git you actually want to read top to bottom And it will give you clues on what to do next But if you're reading the output of a command you actually or the the build information if a if a Task runner has gone through and completed a bunch of steps for you All it's been doing is sort of spitting out to the screen what it's been up to as Opposed to presenting you with instructions. So in the case of I was doing some things and then it broke and That case you're gonna start at the broken bit and look at what it did just before it broke So I present you with this slide in the middle. It says read outputs in both directions So now you can either choose to go backwards or you can choose to go forwards And when you're working at the command line, you've got that same kind of decision that you need to make You're presented with some output Read it from the top and if it's like Thousands of lines of scroll that's gone past probably just start reading from the bottom and see what it said last But do check from both directions I've gone through sort of a bunch of different ways of looking at the command line and Gave you some examples of how commands get structured. I gave you some Groupings for front-end development tools and how you may want to map them on to Specific places and this for some of you will be a little bit of a frustrating Presentation because I've not actually shown you how to do anything at the command line And now this is this is gonna be awesome for me because I didn't tell them ahead of time So in the front row, we've got self-identified hecklers who actually know how to use the command line I see at least four of them who are now all like hanging their heads and like crying a little bit So what I'm gonna do? I think we've got like 15 or 20 minutes left is I'm going to Suggest that perhaps my friends who came to heckle might be willing to help us out a little bit And for those of you I've got a summary slide that I'll do here in a minute I just want to tell you where we're going with this It always is actually but you have to know what to put into Google so So what I'm gonna do is I'm going to say for those of you who want an actual hands-on part You probably have different things that you want to learn about I'm not gonna put it into the recording But we'll group you into like are you a front-end person? Are you a developer? Are you a project manager who's just like trying to figure out what's going on? Are you a designer who's really kind of angry at the world right now or maybe you're really excited and it's Awesome because you're in Amsterdam. We're gonna and I hope they'll agree to do this I want to show you some of this stuff in practice And answer some of your questions in a more like intimate fashion in the sense of not having it recorded So that you don't have to worry about someone hearing your question later So we went through four different parts and I think they're gonna be game for this so that's good I started you by by saying I started off by saying figure out how this is going to be of benefit for you Nurture your inner four-year-old and start asking so what and why until you can get to the point where you actually Want to be at the command line The next thing I recommended was to group functionality and map it on to things that you already know about Get out those sketchbooks doodle create the neural pathways make actual physical actions So that you don't feel trapped inside the command line your reptilian brain at least maybe I'm projecting My reptilian brain takes over when I can't figure out what to do next And so the more that I can take a step back away from the information and talk myself through the 10,000-foot view of what I'm trying to accomplish. I can come back into the command line unlike those war of fog Situations just because you've exposed something on the command line doesn't mean it's going to continue doing that horrible thing Until you come back and fix it. You can just leave it there. You can put it in time out Come back Understand what you're doing draw the picture of what you're trying to accomplish the command line will be there for you when you get back Learn the the pregame moves shall we say so figure out, you know, whether it's how to navigate or Generally what the commands are that are available to you whatever a pregame means for you Figure out some of that stuff before you get into a mission critical like oh, I really have to do this now not really sure how to navigate on the command line and finally It will be okay You don't need to panic the more that you can turn off that reptilian brain and the more that you can ask Questions and put things into Google and have people available to you to answer those questions suckers I mean, thank you my helpful friends The more that the command line will be just another tool that you're using so thank you very much hopefully I've given you if not some information to get you going hopefully I've shown you that it's okay to be stubborn and Insist that it be explained to you in a way that makes sense. So yes, please go fill out the evaluation But I'm also going to sort of break us up now a little bit and Get your actual questions answered. Thank you very much


When her baby started acting strange, this mom set up a hidden camera to find out why. Leaving a child in the hands of a perfect stranger is one of the most difficult things a parent must do. Just ask Whitney Matney and her husband Chris from Springdale, Arkansas. They had no choice but to leave their 11-month-old baby Rayleigh in the hands of a nanny. But when the baby's behavior changed, the couple set up a nanny cam to further investigate. And what they discovered left them completely horrified. Everyone knows that children act up, especially when they're young. But Whitney and Chris Matney started noticing that their 11-month-old daughter, Rayleigh, was acting really strange. Matney couldn't help but imagine every possible scenario that would explain why her baby was so distraught.  But sadly, she was very much mistaken. The Matneys jumped for joy when they first brought their daughter home from the hospital. She was healthy, lively, and most importantly, happy. However, like most children, she took up a lot of her parents' time, and this was an issue that would set their daughter on a course towards serious trouble. At first, the couple didn't mind waking up at odd hours of the night to feed her, burp her and change her. But the Matneys had other responsibilities that made watching over Rayleigh a real challenge, especially for the little girl's mother, who was in law school. Matney was in law school, which meant she had to sift through endless books, documents and cases. She had to focus solely on her studies in order to pass the bar exam, but she had a child now and her husband could only do so much to help her. What was she going to do? Rayleigh was only a month away from her first birthday, and she was a handful. But Matney had a lot on her plate and her husband was a pretty busy guy, too. So, the two of them made a decision that would have horrible repercussions for their family. In fact, Matney later told ABC News 2020, You see these horror stories on TV, and it's like a surreal feeling when it happens to you. In October 2012, the couple decided that they needed a nanny. Matney posted her request on Facebook, and someone answered her call right away. It wasn't a stranger either, which seemed like a blessing at the time, but Matney eventually realized she couldn't have been more wrong. The woman who responded was Melissa Medema. She was one of Matney's old high school classmates. She responded, I'm very interested. Do you mind if I meet with you? A distraught Matney told ABC News.  Matney found some comfort in the fact that Medema was an old acquaintance of hers, but she wanted to make sure that she didn't have a criminal record. So, she ran a background check and had a chat with one of her references. Everything checked out, but that didn't mean there weren't any issues. Matney had no reason to doubt Medema's intentions, so she set up a meeting with Rayleigh and the two of them hit it off right away. Medema talked to the baby and played with her, so Matney decided to hire her friend. But, it wasn't long before strange things started happening. Rayleigh's behavior changed from the first day that Medema started working as the family's nanny. The day Melissa started working there, when I crossed the threshold into her bedroom she just started screaming.  But something more sinister was happening that Matney was completely unaware of. There were other warning signs that made Matney very suspicious. Medema claimed that Rayleigh napped for four hours straight when she was caring for her, but Matney knew that was virtually impossible. She would sleep an hour, hour and a half, never four hours, she told told ABC News. Then a frightening thought popped into her head. What if her nanny was giving her baby medicine to make her sleep? Matney feared that Medema was giving Rayleigh Benadryl to knock her out, but then she thought she was just being a paranoid first-time mom, so she pushed the feeling away. But, she couldn't help but notice that her baby would run and grab onto her or her father whenever Medema arrived. So, in a panic, Matney turned to a higher power for guidance. A doctor told Matney that Rayleigh's behavior was the result of separation anxiety. But that wasn't the only thing that was raising red flags. Whenever Medema would babysit, she would leave the house spotless, which Matney knew from experience was really difficult to do while taking care of Rayleigh. So about six weeks later, she decided to take more aggressive actions. This time, she'd do anything in her power to find out what was going on. Matney bought a clock radio nanny cam and placed it in the living room.  But when she got home, she saw that the camera was facing the wall. Luckily for this mom, there was still some footage that had been captured. But after Matney started reviewing the tape, she was left horrified. As Matney started watching the footage, she realized that her nanny had left Rayleigh in her bouncer for two hours. But her heart sank when she saw Medema spanking her baby and shaking her violently. Her maternal instincts immediately kicked in. Pretty soon, the nanny would be the one crying and screaming.  She called the police immediately after watching the footage. Then, she took Rayleigh to the emergency room. Fortunately, she was okay. Now, it was time for Medema to pay for what she had done. Two days later, Medema arrived at their house and was ready for work, and the police were there to apprehend her right away. But Matney was still overwhelmed with feelings of guilt for introducing her daughter to such a terrible threat.  Deep down inside, she knew it was always a possibility, but she never imagined that something so horrible could happen to her family until she saw the footage. But would Medema get punished by a court of law or would she be able to get away with her actions? Rayleigh didn't sustain any physical injuries, so Medema pleaded guilty to endangering the welfare of a minor. It was a Class D felony, which meant that the nanny got only 90 days in jail and three years of probation. But, she refused to tell her side of the story. When ABC News tracked Medema down outside of her apartment complex in Springdale, Arkansas, they gave her the opportunity to explain her actions. Unfortunately, she refused to make any comments. Did the justice system go too easy on her? Matney believed that Medema didn't get what she deserved. To make things worse, the nanny had Arkansas Act 346 at her disposal. It's also known as the First Offender Act, which allows a first-time offender who pleaded guilty to get their record expunged once they complete their probation. Matney realized that this put other families in danger. Matney did some research and learned that since Medema had her criminal record expunged, she could pretty much become a nanny again and the next family who hires her would have no idea that she was ever convicted for what she did to Rayleigh. But there's no way she was about to let that happen. I'm trying to keep other people from being subjected to, well, Melissa, and other people who have done this type of thing and had their record expunged. I think that their faces need to be out there, at least for parents, Matney told ABC News. So that's exactly what she did. In 2015, she worked with Arkansas lawmakers, Senator John Woods and Representative Greg Ledding to create a child abuse registry. The child maltreatment registry went into effect to ensure that offenders don't land a job working with kids. And Matney is hoping that all of the states across the nation will adopt a similar philosophy to keep everyone's children safe. While some children experience side effects as a result of abuse, Rayleigh has grown into an amazing little lady, only, she's not so little anymore. In fact, she's doing great and she's all smiles because she has a happy home, lots of love, and will never have to be near Medema again.