All in all for the last 5 years I've worked exclusively from home, and prior to that it was on and off depending on circumstances, and so on. During this time I've often been asked the same sort of questions over and over again;
"Is it lonely?"
"How hard is it to motivate yourself? I don't think I could get stuff done!"
The first question I can understand. Sometimes you do need to see someone else, physically there in front of you, but to be frank, I've never been a great social animal, which probably helps massively. Second I speak with the other guys that I work with quite a lot during the day (unless I've got my head stuck in a particularly complex project or issue). We use Skype, our VoIP phone system and an internal IRC server to communicate. We joke, we talk movies, share stupid links occasionally, everything you'd get in a normal office - just with a bit of geographical distance. Often people find this quite hard to grasp when I explain this.
To a certain extent I can understand the view point of the second question; It can be hard sometimes. However (and this is the big secret to working at home) if you love your job, to the point that you'd probably be doing the same sort of things if you were unemployed, then working from home shouldn't be any harder for you than working in an office. If you're not in the same boat as me, which is loving your job, then you're right getting motivated would be frakking hard work.
However, there is a bit of a downside with working from home, and that is simply balancing work and home life. I won't pretend that I have the answers to this one, because honestly I don't. I'm very bad at separating what I'm told should be 2 different ways of life. However, part of the problem is that I do have to do a reasonable amount of stuff outside of the normal 9-5 hours. Sometimes it's hard to perform maintenance on systems when the customers you're working for don't always have the financial, or other, capacity to build highly available systems.
So why the post? Partially I felt that I didn't really have anything interesting to write about from work. There's some stuff about the "new" IBM IMM (Integrated Management Module) that I've only just had the opportunity to play with, since we've not put any new servers in for sometime. At the end of the day by standard IMM is nice, but you really need the Virtual Media Key to make the most of it (which provides remote presence, and remote media features) - which for about £200 is totally worth it and necessary if you've used other fully featured remote management/lights out cards in the past.
The other reason is that I was reading an old copy of .NET magazine that I've half-inched from Chris where the 37Signals partner David Heinemeier Hansson has a page (once you remove the images) article about the worth ethic being 37Signals. One of which is that he believes workaholics should be fired, and he explains why. Great article and interesting to see how creative companies work. I just struggle to see many people in my line of work, and similar ones, that aren't workaholics, simply because they really love what they do. But does that make us workaholics?
Mark Baggett over at PauldotCom put together an interesting article on running a command on every machine in your domain from the command line. I genuinely hadn't considered tying dsquery and wmi together in this way. The best thing is that with a little tweaking you can easily run the same command against a subset of your domain. For instance, say you had X terminal/web/sql servers that all lived in the same OU - just dsquery against that and you're laughing.
If you're looking after any more than a handful of servers, without something like SMS/MOM/something you've rolled yourself, then this is a real time saver.
Licensing is a pain in my arse. There are whole companies full of people who can tell you that you're doing it wrong. Personally I cannot stand licensing, and the only thing that I find more annoying (in this field) than the proliferation of Open Source and Free Software licenses (and figuring out what I'm allowed and not allowed to do and what is an "arms length" exactly - but thats another rant for another time), is the software licensing by Microsoft and other vendors who shall remain nameless for this article.
To try and make things easier at work two and a half years ago I put together a very small document/cheatsheet describing the licensing terms for various Microsoft products and virtualisation. Yesterday Microsoft released an updated document for Windows Server 2008 R2, and interestingly not much has changed for Window Server, with the exception of a few new products. The table below should help out a bit if you're confused 1.
I decided to check the licensing for other products, just incase I'd missed any changes. It doesn't look like it, so here the run down (as I understand it).
As a general rule, for anything per processor licensed, if you're running it in a virtual environment it will simply count the number of virtual processors you assign it.
It gets a bit complicated with SQL 2005 and newer. To quote Microsoft:
When licensed per Server or CAL Workgroup and Standard editions allow you to run any number of instances of the server software in one physical or virtual operating system environment on the licensed server at a time. Previously, only the Enterprise edition of the Server license allowed multi-instancing. When licensed per Processor Workgroup, Web, and Standard editions for each server you have assigned the required number of per processor licenses, you may run, at any one time, any number of instances of the server software in physical and virtual operating system environments on the licensed server. However, the total number of physical and virtual processors used by those operating system environments cannot exceed the number of software licenses assigned to that server. For Enterprise if all physical processors in a machine have been licensed, then you may run unlimited instances of SQL server 2008 in one physical and an unlimited number of virtual operating environments on that same machine.
As far as I'm aware anything else licensed per server doesn't currently have any special rules regarding virtualisation; so this includes Exchange, Sharepoint, and so on.
It should be noted that I've only gone so far back as Windows Server 2003 for this table. I suspect that there are no particular dos or don'ts for anything older and you should probably just treat any virtualised instances as you would physical machines. If you know any different I'd love to hear it. ↩
You can, of course, use the licence in a purely virtual environment. ↩
Whilst I totally support the goals of the FSF I'm not sure that I can totally endorse their militant wing; Defective By Design.
Now don't get me wrong, I'm not opposed to DBD as a concept. I totally support what they intend to achieve. It's just a shame that their methods and actions are perceived as being completely mental by real people, in the outside world, and it's starting to show that these perceptions are beginning to be applied to anyone who supports Free or Open software.