Stepping into 2011
It's January 2011 and the start of a new year. Time to turn over new leaves, set personal goals and reflect on the year gone by. So far this year has been anything but normal. Rather than England it kicked off in Japan at Narita Shrine 9 hours before it normally would. Indeed it was the first time I have been in a foreign country to see in the new year. What an interesting experience.
I've recently released Phurb into the wild. Over the years of my developing sites with PHP I've come to learn a few things and have incorporated them in a framework I've been using for some years. Phurb is a culmination of that knowledge rewritten and polished to the highest of my abilities. The current release is a little experimental due to such a large rewrite of some of the fundamental code but I hope to smooth it out over the coming months as I use it on some future projects. I release the code on GitHub in the hope that someone might find it useful.
I've been a PHP developer for over eight years now. I've learnt quite a lot in that time. PHP was the language I cut my teeth on, not the first language I used but certainly the first I became very comfortable with. It taught me a lot of bad lessons by letting me write terrible code and it's taken me a while to correct my errs but as I do so I beginning to feel an unease with the language. Problems with inconsistencies, awkwardness with syntax. It's difficult to put my finger on but I can't help feeling that I should be moving on to pastures new and expanding my knowledge.
After shopping around to see what was on offer I decided it was to be either Python or Ruby. Two languages I've heard much about and had some minor dealings in. Both have very mature frameworks for writing web applications. Django for Python and Ruby on Rails for Ruby. I really want to give one of these a go and see if I can learn any new tricks and how it will affect my development.
Let's get started by axing my old blog Summer-Daze.co.uk that's been running since 25-Mar-2005. It was a custom coded solution that I no longer care to maintain so away it goes (never did like that domain name)! Am I going to bother to port the posts? Maybe one or two but most were not worth porting! So, new blog, new software, new look.
After much deliberation I've decided not to run a any kind of CMS or blogging software for my blog. The entire thing runs on HTML. Yep, it's all flat pages and this very post is being written in TextMate. However, there is some kind of software involved. It's called nanoc and its rather clever. You write your articles and pages in your favourite editor. Do you know how nice it is to be able to edit files in your favourite editor?!
Setup a few templates run a rake file and everything get uploaded to the server in simple HTML. The compiling happens on my computer not the web server making my blog as fast as possible. I opted to use the nanoc3 blog starter kit as it gets you up and blogging as quickly as possible. Am I missing Drupal, WordPress etc? No no and no! I was fed up of waiting for those bloated behemoths to load just so I can edit a single typo. I now have instant access to my files and updating my site is a single command away. What's more is that Nanoc is written in Ruby, the language I said I was going to pay more attention to so I'm hoping that as my need to tinker with Nanoc increases so will my knowledge of Ruby.
New Language... again
My next language to learn for 2011 is Japanese. Yes Ruby is Japanese but I'm not talking about a programming here but an actual spoken language. Although I have been self-studying it for some time I've never put the needed effort it. With a future trip to Japan in the cards I really need to stay on top of this one. Japanese is very interesting, it's syntax (can you call it that?) is often sensible but I lack motivation to learn it. Learning a programming language is easy. It appeals to creative types, people who want to built something and see the progress they are making. With languages there is of course nothing to build and most of the time its hard to see any progress. In fact I find it very unrewarding. I should imagine there must come an "ah ha!" moment when all of your hard work starts to pay off but I certainly haven't reached that stage yet.
I've been a fan of TextMate for some time now. It's a powerful editor but its age is showing and waiting for TextMate 2 is like watching paint dry. So much paint that you're not even sure if it will ever dry! So I've been looking at the alternatives and there isn't a lot better than TextMate for Mac OS X. If you're a more visual mouse loving sort you could take a look at Coda or Espresso but these tools lack some of the power and customisation that TextMate has. So what else is there? There's VIM and Emacs and if the home pages of either of these sites makes you think you've stepped back into the eighties you'd be forgiven for thinking so. Despite that the editors are very powerful (you'd hope so after having been in development for decades!). I've opted for VIM as I like the modal editor paradigm. VIM, like Emacs has quite a steep learning curve and time and time again I'm finding myself running back to TextMate but I'm persisting and learning some cool little features and my file editing skills over SSH have improved ten fold.
So there you have it, a few personal goals and new leaves to be turned over. I plan to do a mid year review of progress in each of these fields and see how things are going. Do you have any new goals for 2011?