Back at the end of 2012, I wrote about my first edX learning experience taking the Software as a Service course. Over the course of 2013, I participated in several other free online courses and I am a firm believer that constantly learning is well worth it and helps keep you sharp.
This time last year I posted my hardware line-up for 2011. Now we're here again at the start of 2012 I thought I'd do the same thing again. In many respects, things are not very different. However there are some changes and additions which are worth mentioning.
I'm the first one to say that I think new year's resolutions are a waste of time, but at the same time I think its always important to be striving to learn new things, improving your skills and generally bringing as much awesome as you can. Since we're saying hello to a new year shortly, I thought I'd take the opportunity to note a brief list of goals to achieve in the coming year.
The use of tagging on websites seems to be something which has gradually become mainstream in recent years, particularly since the advent of 'web 2.0', where it became very widely used. I thought I'd explore this phenomenon, as well as discussing the implications, advantages and disadvantages of tagging and tag clouds and exploring how various different sites have approached it.
Document databases are quite a hot topic at the moment, what with the release of RavenDB and continued presence and interest surrounding MongoDB and CouchDB. However, I've pretty much settled on MongoDB as my document database of choice, despite the promise (and actual goodness) of RavenDB.
Earlier I found myself wanting to develop a little GUI tool for myself to use on OS X (and perhaps other platforms), so put a tweet out asking people what they would recommend for the job. However, the results so far don't seem too good. Is it really this hard?
My blog is not based on Wordpress or Subtext or any of the others. Its something custom which I put together and occasionally add to or modify to suit my needs as they change. However, its written in PHP and as much as I like PHP for inspiring me to get into web development, in my opinion it has gotten a little tired. I intend to patch a few missing-but-essential features into the current version whilst I rewrite it completely based on Rails 3.
However, some would say I'm foolish for taking this route.
Last night I was given a sharp reminder that having a backup strategy for any content you value is important. I know it has been said many times before and will continue to be said many more times in the future but even if you don't read any further, just do yourself one favour: make sure your backup strategy is in place and is working.
Like many other developers from around the UK, I was at Microsoft's Reading campus on Saturday for DDD8. I have already had the chance to read several blog posts reflecting on the day and I echo the sentiments - it was (as always) a positive experience with interesting talks and the chance to meet people in real life and put a face to a (twitter) name.
Recently I've been researching various XML-based standards and formats for storing a CV. It seems that various different people and organisations have taken a bash at solving the problem, but there is no clear winner or format of choice. It seems to me there is a lot of confusion and quite a few half-baked solutions aimed at the problem - it is clearly something people other than myself have looked at, but that's about all I can say.
A question I've wondered about for a while now and not yet come to a conclusion on is where to put the administration for a web-based application. Take a store for example, or a blog. Should the functions for managing items or posts and so on be separated out into a designated 'admin' area or distributed throughout the site, visible to those with appropriate permissions.
Recently at work, my colleague Jeremy and I made the switch from using the task list in Outlook to Redmine for handling our list of tasks and features to be added to our internal software projects. At the outset, this seemed like a great idea and quite a step forward - I mean, Outlook? Its hardly designed with our job in mind is it. The list of personal annoyances associated with Outlook is quite extensive, but suffice it to say I find it clunky and restrictive and it gets in the way. Imaging running a marathon and having to open a door every 6 minutes in order to continue. That's what using Outlook feels like to me. Because of this, I spent the best part of a day sorting out a nice VM, installing Windows, then Ubuntu and configuring Apache, Passenger and Ruby all to get Redmine running, and was quite pleased with myself and our shiny new issue tracker by the end of it all.
It has now been a while using it instead of Outlook and while it has solved several of the problems I have with Outlook (not to mention it looks better and has a more intuitive UI in most places), it did not solve the problem as efficiently as we would have liked.
Up until recently, Subversion has been my SCM tool of choice and I have used it on almost all projects. However like many other people, I have been drawn to using Git. There are plenty of good articles available describing the benefits Git can bring (Nick Quaranto provides a nice summary of Git tutorials and articles) and as such I will not repeat them all here. However in my case, the move to Git has bought up a question relating to version numbering of applications.
I have been meaning to start a blog for myself for a significant period of time now, but for one reason or another have never got around to creating it. However, I have finally done it. I will use this blog to write about various technical issues and solutions I come across, and hope that some of it helps others facing similar problems.
If you encounter any problems or have any suggestions for the blog, please either leave a comment here or use the contact page to let me know.