So I am going to set myself out a hopefully fun little challenge: 100 lines of code in 100 coding days. It's my challenge (and if this catches on, my meme ;-)), so I get to define my groundrules. Of course, someone else who wants to quibble with these is free to come up with their own groundrules for their own challenge, publish them, and see how they do on their own ground rules. Point of this, however, isn't to have a flame war on the ground rules. It's to write code, have fun, and see where doing something this regimented leads.
There will be 100 coding days. I am going to exclude certain days from the 100 day count like:
For each of the 100 coding days, either:
Lines of code are counted as any non-comment, non-blank code that has any alphanumeric symbol, constant, value, etc. Here are some things I will or wll not count as a line of code:
I have a whole pile of interesting hobby projects that have been sitting around, not getting very far. There is some tangential work application to some of them, but some of them are just brain stretchers: play with something new, learn it, figure out some paradigms and programming models. I am tired of not forcing myself past roadblocks in these hobby projects and letting them just languish. So this is a way to force myself to work on finishing at least one of them up. It is also an experiment in writing things that are just good enough. By pushing to finish them, I am hoping I won't get into bouts of perfectionism of making sure every single artifact in my code utilizes the cleanest, most elegant paradigm in the toolkit I'm working on, since a major part of the goal of this is intellectual mastery of the subject matter. Going back to refactor, I may clean things up and make them more elegant. But this may force me to _get things done_ instead of _polish them to perfection_. If I want to clean something up, I'll go back and do it after I'm done with a first cut.
I have been playing with a Google App Engine application since right after their initial limited beta got expanded the first time and I got my invite. The app has been sitting stuck on a particular error for over 6 months now. So I am going to finish the application. One goal with the app, besides learning Google App Engine, is to build myself a modern, ajax-y web application using new shiny toolkits on the server and browser. As of right now I am using Google App Engine on the back end, and YUI for the DHTML/Ajax stuff. I may post more about the actual experiences with the toolkits as additional posts when there is a longer topic. DHTML toolkits is a very possible start. YUI is definitely an "accomodation" choice: there are reasons I'm using it here that are very specific to this project's situation that I'd like to explore.
Another goal is to play with "cloud"-type apps. That was the interest in Google App Engine when it came out. Given that, if I actually finish the Google App Engine app, some other things I'd like to attack would be to see what challenges I face trying to port the app to different platforms, for example: