What have you done this week? I've been out of touch, this week has been disastrous in a lot of ways ("the chaos field is turned way up".) I've finally gotten a little personal coding in, a curses clone of ratmenu. Not terribly exciting, but it's been on my todo list for months or more - it's nice having it done.

So this year, instead of focussing on output, let's focus on solving problems. Find something that you know you could fix if you only sat down and coded something, something the computer should be doing and not a person, maybe something you just don't get around to doing but would if the computer took care of the tedious part for you. Don't worry about social value, solve a problem for yourself first; once you've made yourself happy and you're in the groove of knocking off problems, broaden your scope.

Reply to this if you've got a starting project in mind. Don't worry about it being big or small - if you finish it, you can start another, if you don't, you'll at least have momentum that comes from applying some effort every day this month. If you're stuck, write a paragraph about why you're stuck and what you'll do next; it's not code, but it counts as effort. Write a test case for the thing that isn't working, even better :-)

Nevermind... Due to complicated circumstances, after posting the launch I wasn't able to do any of the drum-beating or motivational bits that would normally accompany the launch. Since anyone who'd have started without it, has done so anyway, so I'm closing down this effort for now. Will try again with more prep (and backup!) later in the year.

And we're off! Codemonth 2006 starts now, and runs into the first week in February. Same approach as last time:

Come up with a project. Something for which a month of medium-strength coding will suffice, something you can add some code to every day (or at least every weekday - this is not about weekend projects, this is bigger than that.)

Write a sentence or three about what you're going to write this month, and post it as a comment on this posting. You can change direction as the month goes on, but you need a starting point, and something to describe what you're going to *immediately* start coding on as soon as you finish posting here.

This way you've told people and have something to stick to - and something we can ask you about as it goes along. Note that this is not about shame, we're not here to embarass anyone into coding - it's about pride in an idea, in something you can run with and get cheered on for.

I also don't want anyone losing their jobs over this - especially if you find yourself thinking about this at work, step back and evaluate. Make sure you don't run afoul of your employee agreement, or impair yourself too much - work seriously, but not insanely. (On the other hand, if you can spin this as "professional development", more power to you!)

Get going! Don't let a day go by without coding. I'll try to add inspirational suggestions here. If you get stuck, and need suggestions, post about it.

(My recent projects have been smaller scale and easier to complete - most of the things I've wanted to do with conkeror.mozdev.org have taken one to three days, for example.)

Update: December is pretty sneaky too. The tentative plan is to align it approximately with MIT's Independent Activities Period -- and run it from January 3 to February 3, 2006. More details to follow.

Day 22 Getting an early start to the week... some of you plan to "catch up" over the Thanksgiving holiday in the US, I'm sure. I'm going to try an "end run" around my current project block and come at it from another angle...

Day 17 Today's find is Pragmatic Project Automation, a book that takes build-and-test automation to its logical conclusion with a tool called CruiseControl. It makes a point early on that building software is not much like writing software, and this distinction is sometimes lost; I think I'd have to say that codemonth is definitely about the latter, unless you're trying to write build-automation tools this month.

Day 16 Just came across Koders.com, a code-oriented search engine; you can pick a language, license, and keywords, and it searches (currently) 125 million lines of code from open repositories. At 100 loc/day for 10 years (the "open source era" to an arbitrarily vague approximation), that's 500 people full time. Hmm, maybe that's not actually impressive :-)

Day 10 We're about a third of the way through. Do you consider it a habit yet? When these reminders show up, are you thinking "oh, right, I should do some more of that" or "yeah, I've already made progress today"? Either way, you can write some more code...

Day 8 (late) The first full week, has gone by - roughly a 1/4 of your coding time. Do you think you'll meet your goal? Do you think you'll accomplish something interesting at your current coding rate? Have you not quite recovered from the weekend yet? :-)