New Years Resolutions
Inspired by a friend I am going to create list of new years resolutions:
- Learn a functional programming language. Any suggestions on which one to try out first?
- Make fewer mockups and write more code. Web frameworks these days allow for such quick development that I think I would be more productive if I just skipped the Omnigraffle/Photoshop step.
- Learn how to engage in effective Test Driven Development. I have heard of the benefits, but I have never seen a good tutorial on how to do this effectively. Maybe I just need to look a bit harder.
- Don’t think about work while I am playing and don’t think about playing when I am working. Focus is always good. I am sure at least one person will be happy with this resolution.
- Make a daily to do list with no more than three items. This was suggested by some lifehacker post and it seems like a great idea.
- Recycle more at home. I recycle consistently at work because we have containers for different type of containers, but since I do not at home, I get lazy more often.
- Contribute more back to the open source community. I have written a bunch of code recently that I haven’t yet checked in to a public repository. I have to make contributing back a higher priority.




“Make a daily to do list with no more than three items.” – love this idea. Embrace constraints!
Programming language: Erlang?
As far as contributing back to open source I just made a GitHub account. I think it’s a really fantastic idea. Gives you your own scratch pad that other people can benefit from.
@Randall: Rob Marianski also suggested Erlang so I might give that a shot.
I have an account on GitHub as well: http://github.com/anil
I think my problem is that I don’t start pushing to github until my projects are a bit more mature, but I guess there is really no reason I shouldn’t push projects there starting from the first commit.
All my programming language aficionado friends choose to hack in Haskell.
Functional programming: I realize this is terribly old-school, but on
some of my morning commutes I’ve been working through The Little
Schemer and really enjoying it. It’s a lot more entertaining than most
programming books. I’ve yet to do anything actually useful with Scheme
though.
Test-driven programming: It’s more a mindset than anything. I think it’s useful to try at least for the experience of doing it and what it teaches you about your own work habits. It’s no silver bullet though… see for example
http://theruntime.com/blogs/jacob/archive/2008/01/22/tdd-proven-effective-or-is-it.aspx
The wikipedia article is a good jumping off point: http://en.wikipedia.org/wiki/Test-driven_development
@slinkp: Thanks for the recommendation on “The Little Schemer”, I’ll make sure to check it out. I am not necessarily looking forward to doing anything useful with the functional language. I am just trying to expand the ways in which I look at problems.
Another consideration might be Scala. There seems to be some buzz around it.
As far as functional languages, I think haskell, erlang, and lisp are all good choices. IMHO, they each have their own particular mindset, but they will all change the way you see things.
There’s a good lisp book that you can read online: http://www.gigamonkeys.com/book/
@Rob: That book is definitely going on my reading list. Thanks for the link.