A new experiment - Live Coding

First, before I dive into this experiment, I want to explain what I’ve been up to. I call them 30 minute projects.

30 Minute Projects

A while ago I read this post by John Resig - Write Code Every Day, it reminded me of another tip I'd heard about writing from Jerry Seinfeld (yes, that Jerry Seinfeld) - Don't Break The Chain. I kinda took these two ideas and mashed them up together and created a Code Chain that I’ve been doing off and on. I took a break these last few months, but now I’m ready to dive back in!

My rules:

  • Code for at least 30 minutes a day
  • Doesn't have to be open-source (but it sure helps build up your Github cred if it is)
  • Can also include detailed next steps on what you're working on (for me)

That's it! You'd be amazed and how much forward momentum you can get just by working on something 30 minutes a day, I certainly was! Doing this has helped me get one of my projects to an alpha stage where I can actually start using it.

If you're going to be doing a little side-project (I highly recommend doing it as it stretches your programming muscles) take a gander at this post on the subject Side Projects Should Be Stupid. It's a great read and I highly recommend it.

With each side project I do I try and follow these criteria:

  • What am I trying to learn? New framework? Language? Technique?
  • Or am I trying to get better at something? Front-end? UX? Testing?
  • Or is it just something I want to build? If so, then I try and build it with at least one new technology/framework that I have been wanting to learn so that I stretch myself a bit

Live Coding

What is this live coding you’re talking about? Now that I’m diving back in I thought I’d do something a bit different. I’m going to share my daily notes for my project I’m working on to this blog. I wanted to do a few things with this:

  • show my thought process as I go through designing this app
  • be accountable
  • perhaps get some of you interested in doing your own project or tell me where I’m going down a wrong path

At least early on I probably won’t be pushing code to github, but it will all be viewable and I’ll link up the commit or repo in each day’s notes as I commit work.

All of my notes will be tagged so that it’s easy to go back through and see the progress from start to finish.

Goals of this project

  • Skeleton Node.js api app that I can use for future projects
  • Skeleton Node.js web/Angular app that I can use for future projects
  • Learn Gulp a lot better
  • Start diving into Docker to see how to use it to deploy apps locally, for testing (most likely through Jenkins) and ultimately for orchestrating a production app on AWS
  • Learn Go