The system I develop as part of my day job is an Apache/mod_perl system that, in production, runs on FreeBSD and Solaris servers. Because of this it is easiest to develop in an environment close to the environment where the code will be used. So I have FreeBSD, Solaris and Linux machines where I do my development.
But there is another side to my day job. I also have to communicate with people who work in the main office. As like many other companies these people exclusively use Microsoft. So I need to be able to read and write MS file formats.
Many Open Source advocates will probably respond with "There are plenty Open Source tools that can do that" and they would be right. However, although they can import and export the MS file formats there are still some issues. There are times when a document may be exchanged back and forth many times, making changes each time. This is where the Open Source tools fall down for me as they are not able to preserve everything during the import/edit/export process.
To overcome this problem I have a laptop which runs Windows 2000. But that makes for a difficult environment to work in as I have to keep switching between machines. Also when I travel, I am restricted what I can do while traveling as I don't have the laptop setup as dual boot, nor do I want to.
Using an iBook with Mac OS X, this problem is solved. As Mac OS X is UNIX based, I have been able to reproduce the development environment that I have on my other machines, as it comes with Perl and Apache/mod_perl already installed. Mac OS X also runs MS applications, which allows me to communicate with the people I work with with much more ease. And now when I travel I can be much more productive as I can test any code that I may write.
For me an iBook running Mac OS X really has turned out to be the best of both worlds, so I can have my cake and eat it. But I feel I have only scratched the surface of using Mac OS X and that there are many more things for me to discover.