January 2018

S M T W T F S
  123456
78910111213
14151617181920
21222324252627
28293031   

Style Credit

Expand Cut Tags

No cut tags
Monday, November 1st, 2010 01:41 pm
As seems inevitable these days, a load of my friends are doing National¹ Novel Writing Month this year. I won't be joining them: I have no particular ambition to become a novelist. However, I do want to become a better programmer.

To that end, I shall be participating in my own Personal Code Writing Month, the rules of which are
  1. Write some non-work code every day.
  2. Make what I write available, if only on GitHub.
  3. Wherever possible, make something that can be used over the Web, and get it hosted somewhere so people can use it.
I'm deliberately not setting myself a more concrete project or Grand Lofty Goal, for fear of scaring myself off: the idea is just to work on whatever attracts me on any given day. Nor am I setting myself any targets as to how much code I must write on any given day, or how long I should spend on it. To start with, though, I was thinking I might do something about the poor Factor coverage in the Programming Languages Examples Alike Cookbook, and I've just subscribed to the PLEAC mailing list.

I'll be posting regularly about this: if you don't want to hear about it, please let me know so I can set up a filter or something.

Edit: I've uploaded today's hack - a partial fix to the irritating "light goes off when you rotate the phone" bug on my LED flashlight. It's not a complete fix, because the light still blinks out for half a second before coming on again. I'm sure the world doesn't need Yet Another Flashlight App, but I'll sort out Android Market access and upload it there anyway. Meanwhile, you should be able to sideload it from here.

¹ By the way: why "national"? I see from Wikipedia that the first year (1999) was San Francisco-only, but from 2000 onwards it's been an international event.
Monday, November 1st, 2010 03:06 pm (UTC)
Pecowrimo sounds like a delicious and unusual Italian dish...
Monday, November 1st, 2010 03:29 pm (UTC)
So it does! That hadn't occurred to me.
Monday, November 1st, 2010 11:17 pm (UTC)
That's a fantastic goal! Good luck to you!

I did this as a New Year's Resolution in 2009. I ended up giving a lightning talk about it at MountainWest RubyConf if you're interested. It's here: http://mwrc2010.confreaks.com/2010-03-11-17-00-various-presenters-lightning-talks.html

The lightning talks go for like an hour, but I happen to be the first speaker, so that makes it easy to find. :-)

Keep us posted, and good luck!
Tuesday, November 2nd, 2010 02:40 pm (UTC)
Great talk!

My big problems as a coder are probably analysis paralysis and perfectionism (two sides of the same coin, of course). So I really need to develop the ability to just ship some goddamn code. I'll take what you said about small epsilons to heart :-)
Tuesday, November 2nd, 2010 04:35 pm (UTC)
Thank you!

Yes, I am very familiar with both of those problems. :-) One thing that helped me (and I don't know if it will help you, read on) was that I had been trying to do TDD (Test-Driven Development) for about a year before starting this experiment, and this exercise finally made it "click" for me. TDD is all about "write a test, make it pass"... which is sort of the definition of "lowering your epsilon".

I am not kidding--there were days when I shipped ONE LINE of code. But that's because that one line actually added a complete feature to my project. (Actually, if you read through some of the files in http://github.com/dbrady/bin, you'll find programs that ARE just one line of code. :-)

Good luck!
(Anonymous)
Tuesday, November 2nd, 2010 04:37 pm (UTC)
Oh, I left a thought incomplete in there. The reason I think it might not necessarily work for you is that if you are not familiar with TDD, trying to learn it this month will PROBABLY help you but I don't know. It's hard to focus on two big things at once. I recommend trying it all the same, for a number of reasons beyond daily ships, but pay attention to your mileage because YMMV for "almost certain" values of "may".
Wednesday, November 3rd, 2010 07:26 pm (UTC)
I'm much less familiar with TDD than I'd like to be - in particular, I have no idea how I should develop things like my Android flashlight app in a test-driven manner! I'll certainly try to do as much testing as I can.