Why on earth do you need so much storage and disk space?
I use a lot of
virtual machines that
I absolutely rely on, several of the internal servers are completely virtualized even. These VM's take up a lot
of storage space, anywhere from 5GB up to more than 60GB per VM. Imagine having dozens of those and then also
having a backup of all of them. That requires a lot of storage, a lot of fast storage, and a relatively high
network speed. The VM's are test targets, a compiler farm, several team development services, bug tracking, etc.
and that's just the tip of the iceberg.
Why so many monitor screens?
I don't like to move around windows when they overlap. I like to be able to have a lot of information present
without having to dig through menus and windows, especially when debugging a piece of software and code that
itself spawns many windows and information. I find it more efficient to move my eyes and head around than moving
the mouse around to minimize and maximize and move windows.
Do all those screens run on a single computer?
Not specifically but they can be made to operate all from any single computer on the network. I can control all
systems via a single system's keyboard and mouse and I can drag windows from any window onto any other even
while they are connected to physically different systems. I can also expand any single application onto four
screens at once (which looks impressively cool when using
Google Earth,
let me tell you).
What kind of software do you use to drive all those screens, any special graphics cards?
Why aren't you using a KVM switch and have all those keyboards around?
There are no special graphics cards involved, though all cards are dual-headed and support two-screens on a
single system. I can set any system to use two screens by either using
MaxiVista or switching the input controls on the five
screens that support and are hooked up using dual-inputs. Other than that I use a software/network based
keyboard and mouse switch that allows me to seamlessly control all systems on all screens from a single system,
it's called
Synergy
(and it's open source).I've used KVM switches in the past but eventually none worked as efficient as the combination of Synergy and MaxiVista.
As for all the Dinovo's and keyboards, that's simple. I normally use just one unless the machine it's on is rebooting or undergoing
maintenance, then I just grab another. Otherwise in the meantime the keyboards are there to keep dust off the desks. It's an easy process
of throwing out the dusty keyboard and getting a replacement that's fresh and new. (It amazes me how many dense people actually take it seriously when I joke about that) :-)
Do you produce graphics and 3D animation?
Not anymore. I started out doing that in the mid 1980's and did so for many years. At that time there really
wasn't any software capable of doing what needed to be done so I always found myself writing the software and
tools to support the production role. After many years I decided that I liked development a lot more than the
production side and focussed on that exclusively. I do not create 3D animation/visualization but I do help
create the tools and products that allows others to do so, like for example
3am Solutions Dynamite VSP.
You must have a lot of money, can I have some?
Well, of course you can't. Go work for it like I did. :-)
Isn't that office awfully noisy with all that loud equipment and spinning fans?
I admit that this setup does not get any awards for being the most silent. With everything powered on the noise
levels are more than most people would like to deal with. Fortunately, many years of loud rock music has done
sufficient damage to my ears that the white noise produced by the fans and systems do not bother me as much.
When I don't want to deal with the noise I can take one of the laptops somewhere else and still be able to
access the entire network.
Doesn't it get really hot in the summer with all the heat output from the systems?
Yes. Cooling during hot summers is quite a challenge and while I've managed to balance it all, really hot days
are laptop-days... which means, using a laptop in a cool environment instead of the home office. During cold
days, however, the heat output is enough that no additional heating is required.
Is there any hardware you don't have?
Yes, lots. All the hardware I don't need or can't use. :-)
How many credit cards did you have to max out for all that?
None. I hate credit cards. Credit cards are evil. So are banks. I never had to go into any form
of debt and certainly never ever in a million years would I consider going in debt for hardware. I live by old fashioned and proven rules like;
do not spend money you do not have.
Do you ever leave that office and have a life?
What happens in case of a power failure? Do you have a very powerful UPS for backing up the whole system or just parts of it?
I have a few UPS units for the most critical systems. Isis and Osiris (the internet gateways and mini servers) both have an APC Back-UPS 700VA which sustains them and the modems and routers for a few minutes. They will shut down if there is only 3 minutes left on the UPS. A bigger APC Smart-UPS 5000VA ensures power for Argon and it will start its shutdown when only 10 minutes remain (Argon needs more time to shut down because each VM needs to shut down or go into stasis).
How long is your system uptime record?
Many years ago I had a WinNT machine that I managed an uptime of over 17 months on but on average the uptime for Isis and Orisis is about 6-7 months. Within that time I usually do something like an upgrade to something that requires a reboot. The uptime for Argon is about 2-3 months on average. Also because it frequently undergoes maintenance. The other systems do not generally need to run 24/7 so they get powered on and off as-needed.
Why not build everything in or as a 19 inch rack?
Various reaons. 1) 19" chassis are really noisy, more so than the systems I'm using. 2) I buy new systems on an as-needed basis and not just to add more hardware to the network
so it's often much easier to pick the hardware that matches my requirements and matches hardware configurations that are representative of what the software I work on will be running on.
3) choice of rackmountable motherboards is more limited unless picked for other specific purposes. 4) It is much easier to frequently replace systems with new ones and have complete freedom of choice
for hardware, chassis, graphics cards, etc.
Having said all that, I am actually looking into building up a 19" rack with 5 or 6 nodes, mainly aimed at creating a slightly different virtual machine infrastructure but that will have
to wait until I redesign the office or until the need for one increases.
Are you the same Stefan Didak from back in the 3D Studio days, did you work on that?
Yes, that is me. I got involved with 3D Studio, at that time a product by Autodesk, back in the early days
and when the capabilities were added to write custom IPAS routines (plugins) I did a lot of work in that
area. During the development of 3ds max I wrote plugins and after the acquisition of Discreet by Autodesk
I contracted for Discreet on the 3ds max SDK. I helped other developers launch their plugins, wrote
and published tutorials, some which you may even still find online in various translations even though
they are very outdated by now.
Can you go into how you managed to get all the systems interconnected a little more?
The network is split into two layers and every system is at least two NIC's per system. One layer does all the internet related traffic, the other layer is for internal LAN only.
The LAN is all gigabit based and connected via three simple 1Gbps 3Com Office Connect switches (
3C1670800A's and 3C1670500A's). This has sort of evolved like that over time with a few routers and modems hooked up to the main stack.
Getting the most out of Gbps switches is also more a matter of disk speed. Between the fastest RAID systems I pull a consistent 55-62MB/s with peak loads of 82MB/s (over the network as traffic, not the RAID speed, of course).
With files and data and backups always growing in size it seems like it might be time to start looking into 10Gbps NIC's and switches, though I'd like to do that overhaul to the network
once new replacement systems are going to be 10Gbps capable. Easier to overhaul the network at once instead of in gradual steps.
You should be running Linux instead of Windows. You should build it all as a rack. You should
be using Sun blade servers. You should be using Apple Mac's. Why aren't you. It's a total waste of money how you
built your network, why not do it as I would do it?
I'm always amused by people with an urge to tell me what I should and shouldn't be using. Especially when they
have no insight or clue what I do and how I do it and what my work involves. Running Linux when developing
software for Windows? Wow, what a really wonderful idea. I'm more than happy running Linux in a VM instead for
the few times that I need to, thank you. One good rule to keep in mind is that if you feel I've wasted money,
be glad it wasn't your money I wasted. :-)
Isn't all that computug power excessive and useless?
Not at all. That only seems to be the assumption of those who are incapable of comprehending what it is I do and how efficiently I do it.
There have been individuals claiming I should have [insert some useless thing] in order to be 'L33T'. Then again, people who write and talk in
numbers can't be taken too seriously anyway.
Are you compensating for something with all this stuff?
Absolutely! I'm compensating the lack of time and efficiency by throwing more hardware at it. :-)
How would you take that stuff with you to a LAN party?
Simple. I don't. I don't attend LAN parties. Why would I want to lug around with this stuff. It's for business, not
pleasure. Though I have to admit my business is very pleasuable and fun in itself. No game could top that. :-)
How deep are those center two desks?
80cm (31.5 inches). Deep enough.
Are you nuts with all that CPU power and all those screens?
Why not get a good host and colo (colocate) all that stuff?
Because these systems aren't your average web servers, don't run processes like your average web servers, and because the network as a whole generate a lot of network traffic (just the daily backups are in the order of 1.8 TB) so in order to have any kind of remotely useful network connection
it would require the kind of gigabit connections that run, conservatively speaking, between US$ 120.000,00 and US$ 280.000,00 PER MONTH!
Are you a StarTrek fan, Trekkie, Trekker?
I don't think so. I've enjoyed many episodes when they were on TV but, that's about as far as it goes. Sorry!
Why aren't you using Apple Macs? You can run Windows on it too!
I owned a Mac Quadra many years ago but I never really got into it and didn't like it very much. For the work I do they are entirely not an option or even remotely useful
and developing software requires more than just a pretty interface. It would be extremely inefficient to emulate or virtualize windows when your platform target requires
control over actual hardware level drivers.
I could never use that many computers or concentrate on so many screens, why do you?
Obviously, because I can! :-)
Aren't those top row of monitors too high?
No, they're at the correct height from where I sit. If they weren't I could just adjust the upper layer of the desks to go a bit lower or heigher if needed.
Why are the bottom two monitors obscuring and covering the top ones?
They're not. From the position in which I sit I look over the top edges of the bottom ones and have an unobstructed view to the top ones. I'm not THAT short! :-)
Why is your website unreachable? Not enough systems in the office?
Actually, this site isn't running from any of the systems in my office but are run on a Code Monster account at a
commercial web hosting company.
Because this site tends to get a lot of traffic (mostly in numbers of page requests per second, not bandwidth) in waves of visitors the host decided to limit the number of requests to 50 per 5 seconds with a reset each 5 seconds. This because apparently my site was crashing an Apache server it is hosted on.
I don't really know what constitutes a lot or extreme amounts of traffic but the effect of getting tens of thousands of visitors by way of Digg is apparently more than the host can handle.
What are those desks you are using, where can I get some?
I've had those desks since 1985 or 1986 and they have lasted a very long time. Never bent, never had a problem with the load (before going TFT it held 4 big 22" CRT's with ease). The legs and bars are a very solid coated iron and the desk surfaces are coated wood of some sort (not sure what kind but the desks are very heavy and require two people to move them around).
The
company I got these from back in the 80's no longer makes the same ones but do have similar ones in a slightly different style (they look a lot smaller, it seems, yet the site lists some drawings for similarly sized models that are 120cm by 80cm or 140cm by 80cm, nice and deep).
I do not believe all those screens make you work more efficient. Why do you say it does?
You don't have to believe it, but it's the truth. And I don't claim that just having more screens makes things more efficient. The screens are a bit part of what makes it efficient for me
but there's more to it than that. I have written countless scripts and a set of Windows Services that communicate automation commands via TCP/IP which allow me to automate a lot of otherwise mundane tasks.
I use a highly customized configuration for
PowerPro that acts as my many control panels and popup windows (complete with icons) that allow me
to launch applications or launch them on any system from any other system. I only drop icons on the desktop of any given system if I need to put something in easy reach but a collector process in my custom
service scheduler will grab any shortcuts and links from different systems and centralize them into a menu structure so I don't have to look or hunt for any given item at any given time.
And combined with PowerPro, when I want to start serious debugging with realtime log output I just press CTRL-ALT-S, a graphical menu pops up, I select the layout and session I need and a few scripts
are called which will launch the required apps on the required systems (based on a project selection) and will move and size all windows into the positions that I prefer them to be in.
There's more to it than just throwing more screens at it. There's perhaps an 'art' in being able to use them all efficiently.
Shouldn't you use all the same brand monitors if you use a multi-mon setup?
Not really. As long as the screen surfaces are the same size and resolution you don't really notice it. And multi-monitor setups don't require a same brand at all, that's a myth. A new set of same-brand same-aspect same-size screens will have to wait until a manufacturer can get me 24" and 30" models with dual DVI inputs while also offering 20-22" 90 degree rotatable ones that would match in pixel height. :-)
What are some of your usage scenarios? How do you use all this?
This question has been asked several times in the recent past and while most software developers would probably know the answers to that as they are familiar with the work involved, I have to remind myself that not everyone that visits my site is a software developer. Instead of cluttering the FAQ I've decided to write two of those "how do you use all that" scenarios on the blog, in case people may have questions or comments about it.
You can find the
first two usage scenario descriptions of how I use this setup here.
Where do you buy all your stuff?
I take it you are talking about the hardware? :-) A good 90% of all systems, screens, hardware, boards, you name it, comes from one single computer dealer who've been having me as a very satisfied customer for many years. These guys know how to build the crazy systems I need and do a great job. But I'm not going to tell you who it is unless I know you better. There have been people trying to get special deals from them saying they were sent by me. Ahum. Grrr.
Have you seen some of the nasty things people say about your home office?
Sure I have. And it's often very entertaining to read how various individuals who wouldn't have the first clue about how I work and why I work the way I do
explain how they would have done it better, different, etc. The comments made by other individuals who perceive all this as completely
stupid and useless either don't understand what's involved or are suffering from the conditions of jealousy and ignorance.
I've even seen some folks critique
my fiancee simply because the images of my home office overwhelmed them too much. :-)
Why two laptops? You have one lap!
John Bocook certainly brings up a conundrum here. :-) Yes, one lap, multiple laptops. Three at the time of writing, though one is old enough now that it probably will get demoted to something simple like running an office app and a browser! I consider my lap to be an equal opportunity lap that various different laptops get to share. Except Acer laptops. For some reason Acer doesn't agree with my lap so it's banned.
Sometimes I need to do 64-bit stuff so a few weeks ago I got myself a
HP NW8710w mobile workstation. Already had a great experience with the previous model, the
HP NW8240, but wanted something that would do 64-bit and preferably a larger screen as well.
When I need to do things specific to 32-bit I just use the 8240 again. The laptops aren't getting equal time, though. The 8710w is definitely getting more use out of my lap. I guess I consider my lap to be a time-share lap. :-)
Can I ask you a question that isn't covered here?
Of course. You can reach me at
or you can leave
comments on the rambling blog.