I make videos for a living and I swear: each one is an adventure. You would think I would have a system down by now but, as it turns out, each video is a unique thing that demands it's own type of story telling. For instance: here's the latest video I did for the VS Code team. It's on Remote Development with VS Code, which is wild stuff! Many call it the "killer feature", but that brings up an interesting problem: how do you make a video about an 'interesting feature'? We discussed this internally (I work at Microsoft supporting VS Code). My initial thought was that I would show how you could set up and configure Ghost (the blogging platform) on a remote machine. I did a few takes on that idea but it turned out to be a video about Ghost, not VS Code Remote Development. That wouldn't do. We needed something a bit more direct and engaging. The Tension ScriptThis video was for YouTube, and there is a particular structure that many YouTubers favor, and it goes something like this:
If I used this script for the VS Code Remote video, I might do something like this: Opening scene with a montage of Rob yelling at Vim, not being able to quit or maybe wandering around completely lost in a terminal session on the server. Rob starts a remote connection with VS Code, muttering "thank god..." and then winking at the camera: "stick around to the end and I'll share 5 tips that will save you hours when getting started. Don't forget to like a subscribe". 🤮 Yeah, I know. But if you want eyeballs and watch hours, you gotta play the game. Which is more about you as the presenter, less about your audience. Ew. Tutorials vs. StoriesWith my original VS Code Remote script, I was trying to create a story that viewers could relate to. This can work, but it's really tough to tell a story and create a tutorial at the same time. I took this to a whole new level with A Curious Moon. I really enjoyed writing it, but I kept wondering if I was doing it more for me, or for my reader. This is where things get interesting. Tutorials have a "standard" structure:
I think this is a logical structure and it makes sense to the presenter. The problem is that tutorials that are structured like this are boring and bored viewers don't retain things. Stories, on the other hand, can be told with a variety of techniques, including Campbell's "The Hero's Journey", which is every action or adventure movie you've ever seen. Star Wars, Lord of the Rings, The Barbie Movie...
Working this into a tutorial video would be tricky, but probably fun: Opening scene: Rob is eating a sandwich on his lunch break and gets an email from his boss, Burke Holland. Burke tells him the group needs a new blog, ASAP, and it has to be ready in two hours. Rob drops his sandwich and uses his last Azure credit to create a Linux VM. He doesn't know what platform to go with, but just then he sees a tweet from John O'Nolan, the cofounder of Ghost. He asks John for some help, and they get on a Zoom call together. They use VS Code's Remote feature to run the install scripts, update settings, and tweak the theme. Things are going well until... John has to leave so Rob continues the installation but soon notices that things are starting to slow down to unusable levels. He realizes at the last second that he picked the wrong SKU! Everything he's done has been for nothing! "Use the elastic scaler, Rob..." It's the familiar voice of Scott Hanselman, who has somehow appeared from nowhere. He hands Rob a magical slider bar which scales the server up a SKU or two, and then restarts it just in time... I admit, it would be fun to make this video but, again, I think it would be more about me and less about you. In Medias ResThat's a Latin term that means "in the middle of things" or, if you're a writer, "starting in the middle". It's effective because it adds a layer of mystery to your story. You're probably familiar with this plot device with title's like The Bourne Ultimatum, Forrest Gump, The Fugitive, or any detective story. You come in at the peak of tension and have to figure out how you got there, discovering more about the main character and what's happening as time goes on. Here is an outstanding video I found on YouTube, where the author restructures Passengers (Chris Pratt, Jennifer Lawrence) to start in the middle. It's told from Jennifer's point of view instead of Chris's, and turns into a tension-filled horror story! I think it's fantasic. It would be fun to do this in a tutorial video. The opening scene could be Slack going off with downtime alarms: Rob stumbles into his home office at 3am and everything is down. The server appears to be up but no services are running. Is it a disk space issue? DNS? Did we get hacked? Rob opens up VS Code to see if he can get the site running locally using port forwarding. Nope, nothing. He starts the debugger to see where the error is and notices that his cache server isn't responding... This would be entertaining, but would you actually learn something? Interesting dilemma. Top DownThis is a standard way to structure a course or tutorial and is what I use most often. You start in a general way, then drill down into each topic. In today's video you're going to learn about Remote Development with VS Code. This is incredibly useful if you can't work on your local machine, or if you prefer a more visual way to work on your server. You can run external code as if it were local, and you can even debug! Let's see how. Tell people what they're going to get, then give it to them. This is how universities might structure a Computer Science degree program. For instance:
I have a degree in Geology. At first, the classes I took seemed random and disconnected but as the years passed by, everything started to mesh and I got excited. I remember taking a Structural Geology class (mountains, faults, big stuff) and Advanced Mineralogy and having one of those "epiphany moments", where you could see how the chemistry and molecular structure of a dominant mineral could change the way a mountain was shaped. Melting limestone peaks and rounded granite domes look the way they do because of how they're made. It's that moment, that connecting of the dots, that remains with you forever and fires you up! Missing CS Degree Outline IdeasI mentioned in the last email that I was considering creating a course called The Missing CS Degree and an overwhelming amount of you thought it was a darn fine idea. But how do I structure such a thing? I have a few thoughts, but I decided to go with a typical curriculum structure (top down) but I'm not all that sure how it translates to an online course. I really could use your help. So far, I have these modules:
I'll admit: this seems ambitious so please don't hold me to it! I want to start general and move into more specific things as we go along. There is a ton of overlap, especially with data structures and algorithms. What do you think? Add more? Maybe take a few things out? I'm iffy on the Networking module but it's so useful to know. I had an Operating Systems and Compilers module in there but how often do we need to know that? Thanks for wandering through story time with me! Grateful for each of you... Rob |
I taught myself to code in 1998 and within 7 years had a client list that included Google, Microsoft, Starbucks, Ameritech, KLA-Tencor, PayPal, and Visa. In 2014 I decided that I really needed to understand core Computer Science concepts, so I dove in, using the free resources from MIT and Stanford. In 2016 I shared what I learned with The Imposter's Handbook.
I learned to play ice hockey when I was 11 and, as a kid from Southern California, it wasn't easy. I learned how to skate and how to play the game at the same time, all while going through a massive growth spurt. My sister once called me a "baby giraffe on a frozen lake". Nice. One of the hardest things to learn when it comes to skating is the "hockey turn", which looks something like this: Photo Credit: Tim Bates/OJHL Images This is hard. Very hard. If you master it, you can change direction...
I was talking with a coworker the other day about one of the new AI offerings and how well it simulated human interaction. I was asking it to summarize some notes I had taken on a book, and it did a fantastic job - but I then mentioned something I truly believe: AI is mediocre, at best It has to be, by definition. It's just repeating back to us the most common and probable things that we have said to it. Or, as Scott Hanselman describes it: "AI is a sock puppet on your own hand":...
I was at a local clothing store with my youngest, looking at clothes over the summer. She was trying to find a good pair of jeans, so we ended up at the Levis store, which isn't cheap. She found a very nice pair that were $95, which seemed a bit high but she's in college now and I suppose that's when you start thinking about buying nicer things. She's extremely thrifty, unlike me, so she suggested: Dad we should drive up to Nordstrom and look there. They have a great selection and it's...