The Occasionally Enthusiastic Student
work family travel December 7, 2019
New Zealand is pretty far from Chicago. It takes a little over 17 hours to fly non-stop. So when we come down here to visit family, we spend at least a month on this side of the world. That's fairly easy for us to do because my wife's job has a generous vacation policy, my job is nomad-friendly, and our son is not in school yet. But for my older son, who is in junior high and lives with his mom in rural Illinois, it's not quite so simple. At a minimum, he has to miss two weeks of school to make the trip. Fortunately his school was very happy to work with us this year to ensure that his absence is excused and that he doesn't fall behind. The one thing his principal insisted on was that we come up with a way for Daniel to share what he's learning over here with his class back home. We landed on a blog. His teachers gave me a list of topics they want covered and questions they want answered and left it to me to help him get that content online for his classmates to see.
Doubling The Learning
Daniel is a smart and curious kid. He's been asking me for years to teach him how to code. We've taken occasional cracks at it. A couple hours here and there in the console. Half hearted explorations of coding for kids programs. But in the end we never get any momentum. I only get a couple weekends a month with him during the school year and summers are always filled with travel and outdoor activities. But suddenly I have a month of uninterrupted time with him and an actual project to sink our teeth into. After shaking off the lazy urge to throw up a Wordpress site or make him a Medium account, I reached for a teachable framework and registered a domain.
The Framework: Tighten Jigsaw
The Repo: https://github.com/danielgrosvenor/me (His Own Account)
The Domain: https://danielgrosvenor.me
The IDE: GitPod (Daniel uses a Chromebook for school so wanted something in the cloud)
GitPod has a pretty intuitive Github workflow built in. It magically checks out branches that correspond with issues. I've taken the requirements from Daniel's teachers and split them up into issues. When Daniel goes to write an article, he'll just prepend https://gitpod.io/ to the URL of the issue in his browser's address bar. The new branch will be created and the IDE will load the the project. When he's done with the article, he'll create a pull request, I'll help him get it publication-ready, and we'll merge it to master. Netlify's CI means the actual publication of the article happens quietly in the background.
This is a vacation, so I'm not going to keep him at the computer for hours every day. But by the time he goes home he should have the basic skills he needs to keep posting (though I suspect his future posts will mostly be about cars rather than earthquakes). The goal is to get him some momentum in the following:
Markdown: Jigsaw's blog template uses Markdown files for posts
Conversational Git: Not the fancy command line stuff, but enough to ask for help with a conflict
Tailwind.css: Enough exposure to CSS to know what it is and an intro to a professional framework
IDE Basics: How to create, delete, rename, and edit files a little bit
Development Workflow: Probably not one he'll encounter in real life, but a workflow nonetheless
Jigsaw: He'll get familiar with his first framework so his second one won't be so intimidating
Review and Editing: The soft skill of taking constructive criticism well
Basic Photography: Taking pictures that complement the story well and getting them online
Open Source: He'll be handling issues and pull requests, even if just from his dad (and maybe his dad's friends)
Daniel and my parents are getting on a plane in Chicago in a few hours and will land at 7:00 tomorrow morning. He'll spend a day or so recovering from the flight and then we'll get to work. I'll be writing about the experience of teaching him this stuff here on my own brand new Tighten Jigsaw blog and probably tweeting a little about it as well. Feel free to keep an eye on his progress and, if you are so inclined, give him a hard time in the comments of a pull request. 😈