It's taken far too long but I'm finally making my way from the doldrums of Windows and emerging blinking into the sunlight that is Linux.
I'm no Windows fan-boy, although I'll almost certainly be accused of being one in the comments. I think it gets a bad rap but fully acknowledge there are better operating systems around (none of them made by Apple however).
I still have a problem with the open source community's habbit of pulling the ladder up after them and creating an unnecessarily high barrier to entry (or rather, conversion), its snobbery and arrogance, but with products like Ubuntu and its bundling with UMPCs, this is starting to improve.
I'm currently involved in developing a new Web project which is to run on Linux, and rather than stick with Mono, a framework I'm comfortable with (being the open source equivalent of .NET), I felt it made sense to use the right tools for the job.
I've built a very complex Windows-based solution to the same problem, which will be running in parallel to the Linux one, but which (for the moment at least) will be less involved, which gives me the ideal opportunity to cut my teeth on not just a new framework, but a completely new way of developing.
That framework is Django.
I'd delved into Ruby on Rails some time ago, of which Django is a Python-based equivalent, and although the syntax is different, the concepts are very similar, which gave me a lucky head start. The problem however has been the multiple configurations and installations needed to make a start on my first project.
As a Windows guy I'm coming at Django, and indeed Python with a severe handicap. Because I'm not used to spending most of my time inside a terminal window, my head is filled with new commands and strange directory structures. No more Program Files and Documents; now I'm dealing with /etc, /usr, /var and a whole host of others. (This isn't a criticism; this is just stuff I need to learn.)
And as if that weren't enough, I'm also learning a new database engine. Again I could have stuck with MySQL, but after taking advice from Danux I've decided to make the leap to PostgreSQL (pronounced postgress).
I should mention at this point, in the spirit of openness and transparency that I wouldn't have embarked on this without having a Linux guy sat opposite me who I can come to in tears after having broken something. Although not a programmer, his Linux nouse combined with my understanding of principles and ability to follow instructions should make this a lot easier.
So as we speak I've installed Django on my dual-booting Ubuntu/Windows development machine and our Ubuntu Web server, and am now ready to start running through the tutorials on the Django site.
So far it's proving relatively painless. So far.
