In 2012, I spent a year taking a picture every day. I was cajoled, sweet-talked and tortured into this by one of my brothers. Around the web, this is commonly known as a project 365 (see mine here, but there are loads of truly stunning ones out there – including my brother’s).
In 2014, I want to do a different P-365 – programming 365. The idea is to write some code every day and make it available publicly. I’ll be committing mine to my github account. For an explanation of what github is, please click here.
The “rules” are simple:
- Write some code every day
- Make it available publicly
For the photography project I found that the project forced me to explore lots of different subjects, as well as experiment with techniques. It also really helped me master (or at least understand) the DSLR I had bought at the start of that year. I am hoping for something similar with “programming 365”.
So…. what kind of code am I going to write?
The honest answer is that I haven’t got a clue. It’s going to range from exploration (new languages, compilers, development environments, mobile/embedded, databases etc.) to techniques (TDD, BDD, pair programming). The individual days may well be completely stand-alone (“hello world in ruby”) or part of a theme (e.g. “Python” or “NoSQL databases”). I might even have a stab at a larger application. After all, a year is a long time…
What if I don’t have access to a computer?
Hopefully this won’t be too much of a problem with the amazing all-round development toolkit that is the surface. However, for days when I don’t have a computer I’m going to hand-write code (or at least pseudo-code) on paper and transfer it into machine form later on. I’ll also post the original handwritten stuff online for a laugh.
Have a go too
Part of what has made the project so much fun in the past is to do it together with other people. See what they do, comment on it and learn from it. “Enjoy the journey together” (for lack of a less cheesy phrase). If you want to have a go at this slightly weird experiment, please let me know. I’ll be starting on the 6/1/2014 and will be posting weekly updates on what I coded here (as well as the uploads over on github). Of course, you don’t need to begin at exactly the same time: Join whenever you fancy some fun programming! :o)