Every 10-40 minutes? What subnet are you on, post it here so maybe the botnet/trojan/virus writers can spend part of their time attacking you, and not me. My/24 gets hit 10-40 times a minute, not once every 10-40 mins. Hell, I still get hits from Slammer at least once a minute. Of course, our T1 is on sprintnet, which probably tends to be more popular for attack.
You're almost right. XP SP2 may not have services available out of the box, but take the average user, and it will have services available. Most people with more than one computer will share a printer or files within their house. XP would recommend that they disable the protections for the SMB ports, which would open up virtually the entire system, since MS tends to use the services that listen on ports such as 135, 137-139, and 445 to do a lot of things, not just share files. Also, you're forgetting about what happens when people actually USE a system, like browsing the web or checking email. At that point, the security model of Windows simply cannot compete. Regardless of software issues (any software app can and will have security bugs), the OS should not allow a normal user to have system level access. IE is a system process, it has access to everything, so an IE bug expliot can do anything it wants. A bug in a UN*X app can only gain the priviledges of the person running it.
So yes, for useless systems, Windows XP SP2 is right at the top, but if you're going to just install an OS and let the computer just sit there, never to be used, why pay $100 to license the OS?
Personally, I'm more of a roll-your-own type anyways. You can often buy two of a better system for the price of one from the big vendors, and if you pick your components wisely, you won't have any reliability problems. My personal favorites are of course the Opterons, the Supermicro motherboards for anything you can get one for, Tyan for the remaining AMDs, Adaptec or 3Ware RAID cards (depending on SCSI or SATA), Chenbro cases (great aluminum hot-swap drive trays, simple [less likely to break] latch mechanism, solid backplane engineering (often use optical grade plastics for extending LED indicators to the front panel, rather than running wires where they could be pinched by a drive), and hot swap fans everywhere), and Zippy n+1 redundant power supplies (those little tiny PSU bricks are the easiest thing I've seen to change, and I haven't even had to change one yet).
Agreed, for instance, the default configs with FreeBSD 5.x are so secure, you can't even send mail from your own system. You can send between users, but that's it, no relays, no outbound of any kind. Of course, it would be nice if people who only need one element of sendmail (sending mail, not receiving it) would realize that a full-featured mailer daemon is overkill, and an invitation for problems. If all you need is something that can send alerts (like from your non-mail servers), use something like sSMTP, a sendmail workalike that can only send mail through your real mail server (even outside accounts, it can handle servers that require authentication). Don't blame sendmail for giving you a headache on 50 systems, when you should never have turned it on in the first place.
Right, but you don't spend the money on the latest-and-greatest just to run it in "compatibility" mode. So unless Dell seriously wants to push high-end servers and serious cluster compute nodes (which they don't seem to want to do), there's really no point.
But that's the point, it's not just personal. They have economic ties as well. Each probably owns stock in the other, and Intel and Microsoft both have deep discounts for Dell as long as they play along. Since switching to Opteron hurts Intel, Intel will threaten to raise prices, and since switching to Opteron NOW hurts Microsoft (since Windows/SQL/Office/everything they have for 64-bit isn't really ready yet), Microsoft will threaten to raise prices. I'm sure at this point it would probably even breach some contracts that they have with both companies, but in the long run, it would probably still be worth it, it just might be hard to see that when you're staring at price hikes from your two major suppliers, especially when so much of your own money is at stake.
That's fine, but when one is clearly better than the other for even one task, or is at least the same at a significant cost savings, you should head in that direction. Forget about Intel and AMD, think about Front Side Bus/Northbridge/Southbridge vs. HyperTransport and NUMA. Server performance is greatly influenced by I/O speed and Memory bandwidth, and Intel's standard method simply doesn't work as well as AMD's (HyperTransport). Now, there ARE solutions to a large part of this Intel problem, but that involves expensive, proprietary motherboard configurations, and still can at best only partially alleviate the I/O bottleneck. Coupled with the lower cost of Opteron solutions as compared to Xeon, HyperTransport means an AMD vendor can offer more to the customer for less money AND more profit. I could see offering both (Think Sun, with SPARC and Opteron), but not limiting yourself to only the higher-cost, lower-performance architecture. If I were unfortunate enough to have purchased Dell stock on news they might actually do something intelligent, I'd sell now. No matter what the reason, making a business decision to stick with what you've got instead of at least offering a better alternative just doesn't make sense. Which reminds me, whatever happened to "you don't need the internet, you've got everything here" Compuserve? Prodigy?
It's really an issue of how well-tuned an organization is to its resourcing and risk management requirements. I'm finding more and more companies are reaching the limits of what they can accomplish informally.
In my experience, here's what I think you're talking about (just to clarify):
Small companies, especially those just starting out, are filled with intelligent people who care about and understand their work. Companies or development teams are very informal at this stage, because everyone knows what the other is doing, and everyone pulls their own weight (and then some, usually). As the company or dev team grows, new people are brought in, often people who don't care about their work and don't understand the importance of getting it right. These people aren't a good fit into the close-knit smaller group, and productivity and morale are the first to suffer. As more and more of these new people come in, the original members burn out from carrying the extra work of the new people, don't like the corporate direction, find better pay, or whatever.
Soon enough, the majority of the original people are gone, and the company or group is left with people who are only there to collect a paycheck. These people don't care if anything gets done, just whether or not they get paid. If a company reaches this point without becoming much more formal, it will fail, and an IT department is exactly the same. Once you reach the point where you don't KNOW (as in saw it with your own eyes) that something that was supposed to be done was actually done, you need formalized project management. A complete database change can be done fairly easily (might take a long time, but still easy) by one person who knows every part of the system, but even a minor change distributed amongst several people who don't know everything about the system, and usually don't care to know, can create a massive failure.
In other words, if you want it done right, do it yourself, and if you can't by yourself (either due to lack of time or ability), make sure that every step of the process is formalized, and each part is checked and re-checked before you proceed with a rollout. You don't want to find out that a certain key component is missing five minutes after you did the rollout.
You are forgetting a crucial point in high-end network routing... You have to DO SOMETHING with those packets, like filter them through your firewall rules, NAT them, parse them, whatever. Offloading TCP/IP to specialized hardware means that the CPU(s) is/are free to do actual work. Even routing at GbE speeds limits the processing you can do with those packets at wire speed, and falling behind is just not something you can allow to happen (when/how are you going to catch up if you have a saturated or near-saturated link?). You have to decode packets, verify checksums, process the data (probably through several layers), calculate the new checksums, and encode the packets to send. If you offload the network protocols, all you have to do is process the data.
Yeah, their 2005 product is exactly the same as their 2003 product, except that less "features" actually work, and the splash screen says 2005. I never saw 2004, but I'm assuming it was more of the same. It still looks like it was written for Windows 3.0, and still acts like it, using "lock files" to control multi-user access (when in reality, both users will lose access if they try at the same time, and the lock files will need to be removed).
Exactly correct. Peachtree Accounting is crap, it's COTS, and many, many in-house projects are crap, but there are benefits to both. Products like Oracle exist because it is cheaper to buy database software than to create it and maintain it (the code, not the database). Look at your average corporate pizza shop though (Papa John's, Domino's, Pizza Hut, etc.), they all have custom, in-house developed software, but it works, and they each have their own ways of doing things that reflect how their particular company operates (and they are quite different).
If your business does something other than simple transcription, there are almost always benefits to custom software. The only question is whether those benefits outweigh the costs. If you need constant changes to software so your business can adapt to rapid changes in your sector, you probably need in-house development. Paying a dev firm will get very expensive if you need to change something every 3-6 months, and having someone who knows your system working full-time for you has a lot of value as well. Try calling Peachtree, they have one of the most popular accounting packages out there, but call customer support and tell them you're having problems running it with files shared on a network. If it's not running on a single machine, with Admin priviledges, it won't work. They'll tell you that, but only after you buy it and call them 20 times about the same thing breaking.
You could take a dump in a box, shrink-wrap it, and sell it to somebody. Just because it's shrink-wrapped, doesn't mean people will be happy with what's inside.
Agreed, if you can find me a programming job where I make $80 for every hour a book says it should take me to do something (say, about 3.5 hours to R&R a FWD transmission), where I can go a LOT faster than the book says (I can do it alone in a driveway in 1.5 hours), let me know.
The bottleneck in Intel systems is the north/south bridge architecture. The CPU(s) connect to the northbridge, which connects to both memory and the southbridge (and possibly AGP/PCI), and the southbridge typically handles the majority of the I/O. The bottleneck can occur between the north and south bridges (usually only a.125 GB/s on cheaper systems), or between the CPU and the northbridge (much more common area of concern, especially for multi-processor systems). All CPU's will share the same path (the FSB) to the northbridge, meaning that if the FSB is maxed out serving memory reads to a single CPU, or I/O to a single CPU, nothing else gets done on any CPU.
With Hypertransport, AMD separates paths between the CPU and key components, and allows for multiple bus paths from a single processor. A dual-processor Opteron system can handle 19.2GB/s of system throughput per processor (12.8 for single proc, 25.6 for quad), while a single, dual, or even quad (non-NUMA) Intel system will max out at about 8.6GB/s. On the AMD's, some of the throughput will be used to connect to other processors, in 6.4GB/s chunks, but the system throughput will be much higher than any Intel system (even NUMA, where the MCH/northbridge is still a bottleneck for I/O).
Motherboards make a HUGE difference, this is why the old RISC servers were so popular, because they could provide much better throughput, since most all of them had a design similar to Hypertransport. Look here at sysadminmag for a great explanation of this.
While that is a good solution for smaller shops, I was thinking more of a higher-end situation, where you want rack-mount, redundant power, hot-swap drives, and lots of I/O. Those systems typically start in the $2000-4000 range from the major vendors, without disks. The Intel boards will hit a rather significant wall on I/O, in some cases limiting you to about.125 GBps system throughput, which is enough to saturate GigE, but not beyond that, and not enough if the data comes from the same bus.
Exactly my point, both the G5 arch and the Opteron can do this though, but both could be designed (by cutting costs by eliminating traces on the motherboard) to actually run worse than Intel. The difference is, Apple doesn't do it, while some of the Opteron boards do (especially the cheaper dual proc boards, with memory and I/O tied to the same CPU, with the second just tied to the first). The Opteron arch is capable of more than the G5s, but most vendors don't allow it to (the 4 proc AMD reference design being the exception).
For desktop systems, I'd agree with you, but it is impossible to find a local dealer in many cases. Not many local shops will even know what an N+1 redundant power supply is, much less have them in stock. Same for SCSI ZCR cards, 12-channel SATA RAID cards, and 15k RPM SCSI drives. The most important thing is that they have the parts in stock, you can always have them sent next-day (even same-day if you really need it and can afford it), while a local vendor will need at least a day to get it in stock.
If you get "stuck" with your server hardware, then you probably would be better off with service contracts and big vendors. Roll-your-own is only a good idea if you have an experienced IT department that will not get "stuck", and that can make the right decision on components.
For desktops, where the cheapest possible price is often the best route, it's good to have a local (within a day to ship ground) dealer that is cheap, so that when the parts fail (some always will), you can simply pull another one off the shelf, and RMA the bad unit. Assembly is often best left up to the vendor, since you can usually get them to assemble for about $5/system or less if you buy 20-30+ at a time. Not only does it save you labor, but powering them up before they ship will catch any immediate problems. Sempron 2200+ workstations can be had in the $150-180 range (without monitor), and with relatively low failure rates (about 5/150 [3.33%], all covered by the vendor, but sending your techs on service calls does cost money, too). Compare that to buying from Dell/HP/IBM, and you'd spend at least twice as much, and would expect about 1.5-3 (1-2%) failures for the same number of systems. For desktops, RYO is definitely cheaper, if you have people on-staff who can replace systems that go down. Just keep a minimum of about 2% of your total desktops in inventory, ready to replace a dead system, and maintain good relationships with your local vendor (i.e. buy more stuff).
That would be why I didn't say buy servers at NewEgg. Network equipment is cheap at NewEgg. I use the Supermicro boards for Intel systems, and generally the Tyan boards for AMD systems. Both are top-quality, and are functionally identical to the IBM boards (with the exception to you might use Adaptec or 3ware RAID cards instead of IBM's).
Compromise, roll-your-own, but buy from a specific vendor, preferably one where you can get all of your parts at the same place (with the possible exception of disks, since it seems the cheapest disk vendors don't sell much else). Even if you don't get the best price on every component, you should still be getting systems for less than half of the price for identical systems from IBM, HP, Dell, or (not exactly identical) Apple.
The other major thing to consider, is that different architectures handle I/O better than others. For I/O-bound apps, stick with Opteron systems, and don't skimp on the motherboards. Apple's XServes would probably be the next best, and Intel-based servers at the bottom. AMD's architecture simply can't be beat for I/O, as you will have essentially separate busses for memory and a few I/O busses (unless some are used to link to another CPU).
I've had good luck with 8aNet for servers, NewEgg for networking components, and basically just whichever reputable name has the best price on pricewatch for disks.
You're mostly right, but it really depends on your needs. Visual artifacts are a minor issue for most small graphic items (like the slashdot logo at top left), but the compression differences will make a difference, one that could be significant to your bandwidth needs. PNG/GIF can easily be twice the size of JPG for certain images.
Of course, the reverse can happen, as well, particularly for larger, sharp-edged pictures/drawings. For small items, I typically examine the item at about 400% magnification, and if the artifacts aren't noticable at that size (and I mean really noticable, not like one pixel on a corner in a 100x20 image, something that makes the image look poor), then I pick the smallest size file for the image.
If you have clients/customers that want shiny things on your site, but have limited bandwidth (there are still a lot of dial-up users), or you have limited bandwidth and a lot of hits, saving a few kB on images is probably worth a bad pixel or two. Of course, the other option is the Google route, just take everything off your most popular page, except for a logo, a few links, a textbox or two, and a button or two. I'm sure adding 10kB to each hit Google sees in a day (minus cached hits) would add up to a rather large number, and would probably cost more than most IT departments have available in their budgets.
Why is it that almost all of the web design "Best Practices" pages look like something written in 1996? How about clean, professional, shiny-new-looking design sites? Are there any? (Don't answer with Web Page Design for Designers either, although it is/has been an excellent reference at times, I'm looking for sites that are still producing new content, WPDFD is EOL'd)
Idokorro offers SSH clients for most J2ME phones, including the various blackberry devices, and also offers one for the Nokia phones with the flip-over keyboard (can't remember the model number). Try Idokorro
Great, so memory management in future versions of Windows will be WORSE? You'd be surprised how adding a simple string to a string can eat memory (I've reached 400MB for a test case constructing about a 300KB string, it's actually faster by several orders of magnitude to write to disk than append to a string), and how long it takes for it to be GC'd.
Every 10-40 minutes? What subnet are you on, post it here so maybe the botnet/trojan/virus writers can spend part of their time attacking you, and not me. My /24 gets hit 10-40 times a minute, not once every 10-40 mins. Hell, I still get hits from Slammer at least once a minute. Of course, our T1 is on sprintnet, which probably tends to be more popular for attack.
You're almost right. XP SP2 may not have services available out of the box, but take the average user, and it will have services available. Most people with more than one computer will share a printer or files within their house. XP would recommend that they disable the protections for the SMB ports, which would open up virtually the entire system, since MS tends to use the services that listen on ports such as 135, 137-139, and 445 to do a lot of things, not just share files. Also, you're forgetting about what happens when people actually USE a system, like browsing the web or checking email. At that point, the security model of Windows simply cannot compete. Regardless of software issues (any software app can and will have security bugs), the OS should not allow a normal user to have system level access. IE is a system process, it has access to everything, so an IE bug expliot can do anything it wants. A bug in a UN*X app can only gain the priviledges of the person running it.
So yes, for useless systems, Windows XP SP2 is right at the top, but if you're going to just install an OS and let the computer just sit there, never to be used, why pay $100 to license the OS?
Personally, I'm more of a roll-your-own type anyways. You can often buy two of a better system for the price of one from the big vendors, and if you pick your components wisely, you won't have any reliability problems. My personal favorites are of course the Opterons, the Supermicro motherboards for anything you can get one for, Tyan for the remaining AMDs, Adaptec or 3Ware RAID cards (depending on SCSI or SATA), Chenbro cases (great aluminum hot-swap drive trays, simple [less likely to break] latch mechanism, solid backplane engineering (often use optical grade plastics for extending LED indicators to the front panel, rather than running wires where they could be pinched by a drive), and hot swap fans everywhere), and Zippy n+1 redundant power supplies (those little tiny PSU bricks are the easiest thing I've seen to change, and I haven't even had to change one yet).
Agreed, for instance, the default configs with FreeBSD 5.x are so secure, you can't even send mail from your own system. You can send between users, but that's it, no relays, no outbound of any kind. Of course, it would be nice if people who only need one element of sendmail (sending mail, not receiving it) would realize that a full-featured mailer daemon is overkill, and an invitation for problems. If all you need is something that can send alerts (like from your non-mail servers), use something like sSMTP, a sendmail workalike that can only send mail through your real mail server (even outside accounts, it can handle servers that require authentication). Don't blame sendmail for giving you a headache on 50 systems, when you should never have turned it on in the first place.
Right, but you don't spend the money on the latest-and-greatest just to run it in "compatibility" mode. So unless Dell seriously wants to push high-end servers and serious cluster compute nodes (which they don't seem to want to do), there's really no point.
But that's the point, it's not just personal. They have economic ties as well. Each probably owns stock in the other, and Intel and Microsoft both have deep discounts for Dell as long as they play along. Since switching to Opteron hurts Intel, Intel will threaten to raise prices, and since switching to Opteron NOW hurts Microsoft (since Windows/SQL/Office/everything they have for 64-bit isn't really ready yet), Microsoft will threaten to raise prices. I'm sure at this point it would probably even breach some contracts that they have with both companies, but in the long run, it would probably still be worth it, it just might be hard to see that when you're staring at price hikes from your two major suppliers, especially when so much of your own money is at stake.
That's fine, but when one is clearly better than the other for even one task, or is at least the same at a significant cost savings, you should head in that direction. Forget about Intel and AMD, think about Front Side Bus/Northbridge/Southbridge vs. HyperTransport and NUMA. Server performance is greatly influenced by I/O speed and Memory bandwidth, and Intel's standard method simply doesn't work as well as AMD's (HyperTransport). Now, there ARE solutions to a large part of this Intel problem, but that involves expensive, proprietary motherboard configurations, and still can at best only partially alleviate the I/O bottleneck. Coupled with the lower cost of Opteron solutions as compared to Xeon, HyperTransport means an AMD vendor can offer more to the customer for less money AND more profit. I could see offering both (Think Sun, with SPARC and Opteron), but not limiting yourself to only the higher-cost, lower-performance architecture. If I were unfortunate enough to have purchased Dell stock on news they might actually do something intelligent, I'd sell now. No matter what the reason, making a business decision to stick with what you've got instead of at least offering a better alternative just doesn't make sense. Which reminds me, whatever happened to "you don't need the internet, you've got everything here" Compuserve? Prodigy?
It's really an issue of how well-tuned an organization is to its resourcing and risk management requirements. I'm finding more and more companies are reaching the limits of what they can accomplish informally.
In my experience, here's what I think you're talking about (just to clarify):
Small companies, especially those just starting out, are filled with intelligent people who care about and understand their work. Companies or development teams are very informal at this stage, because everyone knows what the other is doing, and everyone pulls their own weight (and then some, usually). As the company or dev team grows, new people are brought in, often people who don't care about their work and don't understand the importance of getting it right. These people aren't a good fit into the close-knit smaller group, and productivity and morale are the first to suffer. As more and more of these new people come in, the original members burn out from carrying the extra work of the new people, don't like the corporate direction, find better pay, or whatever.
Soon enough, the majority of the original people are gone, and the company or group is left with people who are only there to collect a paycheck. These people don't care if anything gets done, just whether or not they get paid. If a company reaches this point without becoming much more formal, it will fail, and an IT department is exactly the same. Once you reach the point where you don't KNOW (as in saw it with your own eyes) that something that was supposed to be done was actually done, you need formalized project management. A complete database change can be done fairly easily (might take a long time, but still easy) by one person who knows every part of the system, but even a minor change distributed amongst several people who don't know everything about the system, and usually don't care to know, can create a massive failure.
In other words, if you want it done right, do it yourself, and if you can't by yourself (either due to lack of time or ability), make sure that every step of the process is formalized, and each part is checked and re-checked before you proceed with a rollout. You don't want to find out that a certain key component is missing five minutes after you did the rollout.
You are forgetting a crucial point in high-end network routing... You have to DO SOMETHING with those packets, like filter them through your firewall rules, NAT them, parse them, whatever. Offloading TCP/IP to specialized hardware means that the CPU(s) is/are free to do actual work. Even routing at GbE speeds limits the processing you can do with those packets at wire speed, and falling behind is just not something you can allow to happen (when/how are you going to catch up if you have a saturated or near-saturated link?). You have to decode packets, verify checksums, process the data (probably through several layers), calculate the new checksums, and encode the packets to send. If you offload the network protocols, all you have to do is process the data.
Mod Parent Up! Wow, nice tracker, I'm hitting 360KB/sec, thanks.
Yeah, their 2005 product is exactly the same as their 2003 product, except that less "features" actually work, and the splash screen says 2005. I never saw 2004, but I'm assuming it was more of the same. It still looks like it was written for Windows 3.0, and still acts like it, using "lock files" to control multi-user access (when in reality, both users will lose access if they try at the same time, and the lock files will need to be removed).
Exactly correct. Peachtree Accounting is crap, it's COTS, and many, many in-house projects are crap, but there are benefits to both. Products like Oracle exist because it is cheaper to buy database software than to create it and maintain it (the code, not the database). Look at your average corporate pizza shop though (Papa John's, Domino's, Pizza Hut, etc.), they all have custom, in-house developed software, but it works, and they each have their own ways of doing things that reflect how their particular company operates (and they are quite different).
If your business does something other than simple transcription, there are almost always benefits to custom software. The only question is whether those benefits outweigh the costs. If you need constant changes to software so your business can adapt to rapid changes in your sector, you probably need in-house development. Paying a dev firm will get very expensive if you need to change something every 3-6 months, and having someone who knows your system working full-time for you has a lot of value as well. Try calling Peachtree, they have one of the most popular accounting packages out there, but call customer support and tell them you're having problems running it with files shared on a network. If it's not running on a single machine, with Admin priviledges, it won't work. They'll tell you that, but only after you buy it and call them 20 times about the same thing breaking.
You could take a dump in a box, shrink-wrap it, and sell it to somebody. Just because it's shrink-wrapped, doesn't mean people will be happy with what's inside.
Agreed, if you can find me a programming job where I make $80 for every hour a book says it should take me to do something (say, about 3.5 hours to R&R a FWD transmission), where I can go a LOT faster than the book says (I can do it alone in a driveway in 1.5 hours), let me know.
Anyone know of similar products for Gigabit Ethernet?
The bottleneck in Intel systems is the north/south bridge architecture. The CPU(s) connect to the northbridge, which connects to both memory and the southbridge (and possibly AGP/PCI), and the southbridge typically handles the majority of the I/O. The bottleneck can occur between the north and south bridges (usually only a .125 GB/s on cheaper systems), or between the CPU and the northbridge (much more common area of concern, especially for multi-processor systems). All CPU's will share the same path (the FSB) to the northbridge, meaning that if the FSB is maxed out serving memory reads to a single CPU, or I/O to a single CPU, nothing else gets done on any CPU.
With Hypertransport, AMD separates paths between the CPU and key components, and allows for multiple bus paths from a single processor. A dual-processor Opteron system can handle 19.2GB/s of system throughput per processor (12.8 for single proc, 25.6 for quad), while a single, dual, or even quad (non-NUMA) Intel system will max out at about 8.6GB/s. On the AMD's, some of the throughput will be used to connect to other processors, in 6.4GB/s chunks, but the system throughput will be much higher than any Intel system (even NUMA, where the MCH/northbridge is still a bottleneck for I/O).
Motherboards make a HUGE difference, this is why the old RISC servers were so popular, because they could provide much better throughput, since most all of them had a design similar to Hypertransport. Look here at sysadminmag for a great explanation of this.
3ware
While that is a good solution for smaller shops, I was thinking more of a higher-end situation, where you want rack-mount, redundant power, hot-swap drives, and lots of I/O. Those systems typically start in the $2000-4000 range from the major vendors, without disks. The Intel boards will hit a rather significant wall on I/O, in some cases limiting you to about .125 GBps system throughput, which is enough to saturate GigE, but not beyond that, and not enough if the data comes from the same bus.
Exactly my point, both the G5 arch and the Opteron can do this though, but both could be designed (by cutting costs by eliminating traces on the motherboard) to actually run worse than Intel. The difference is, Apple doesn't do it, while some of the Opteron boards do (especially the cheaper dual proc boards, with memory and I/O tied to the same CPU, with the second just tied to the first). The Opteron arch is capable of more than the G5s, but most vendors don't allow it to (the 4 proc AMD reference design being the exception).
For desktop systems, I'd agree with you, but it is impossible to find a local dealer in many cases. Not many local shops will even know what an N+1 redundant power supply is, much less have them in stock. Same for SCSI ZCR cards, 12-channel SATA RAID cards, and 15k RPM SCSI drives. The most important thing is that they have the parts in stock, you can always have them sent next-day (even same-day if you really need it and can afford it), while a local vendor will need at least a day to get it in stock.
If you get "stuck" with your server hardware, then you probably would be better off with service contracts and big vendors. Roll-your-own is only a good idea if you have an experienced IT department that will not get "stuck", and that can make the right decision on components.
For desktops, where the cheapest possible price is often the best route, it's good to have a local (within a day to ship ground) dealer that is cheap, so that when the parts fail (some always will), you can simply pull another one off the shelf, and RMA the bad unit. Assembly is often best left up to the vendor, since you can usually get them to assemble for about $5/system or less if you buy 20-30+ at a time. Not only does it save you labor, but powering them up before they ship will catch any immediate problems. Sempron 2200+ workstations can be had in the $150-180 range (without monitor), and with relatively low failure rates (about 5/150 [3.33%], all covered by the vendor, but sending your techs on service calls does cost money, too). Compare that to buying from Dell/HP/IBM, and you'd spend at least twice as much, and would expect about 1.5-3 (1-2%) failures for the same number of systems. For desktops, RYO is definitely cheaper, if you have people on-staff who can replace systems that go down. Just keep a minimum of about 2% of your total desktops in inventory, ready to replace a dead system, and maintain good relationships with your local vendor (i.e. buy more stuff).
That would be why I didn't say buy servers at NewEgg. Network equipment is cheap at NewEgg. I use the Supermicro boards for Intel systems, and generally the Tyan boards for AMD systems. Both are top-quality, and are functionally identical to the IBM boards (with the exception to you might use Adaptec or 3ware RAID cards instead of IBM's).
Compromise, roll-your-own, but buy from a specific vendor, preferably one where you can get all of your parts at the same place (with the possible exception of disks, since it seems the cheapest disk vendors don't sell much else). Even if you don't get the best price on every component, you should still be getting systems for less than half of the price for identical systems from IBM, HP, Dell, or (not exactly identical) Apple.
The other major thing to consider, is that different architectures handle I/O better than others. For I/O-bound apps, stick with Opteron systems, and don't skimp on the motherboards. Apple's XServes would probably be the next best, and Intel-based servers at the bottom. AMD's architecture simply can't be beat for I/O, as you will have essentially separate busses for memory and a few I/O busses (unless some are used to link to another CPU).
I've had good luck with 8aNet for servers, NewEgg for networking components, and basically just whichever reputable name has the best price on pricewatch for disks.
You're mostly right, but it really depends on your needs. Visual artifacts are a minor issue for most small graphic items (like the slashdot logo at top left), but the compression differences will make a difference, one that could be significant to your bandwidth needs. PNG/GIF can easily be twice the size of JPG for certain images.
Of course, the reverse can happen, as well, particularly for larger, sharp-edged pictures/drawings. For small items, I typically examine the item at about 400% magnification, and if the artifacts aren't noticable at that size (and I mean really noticable, not like one pixel on a corner in a 100x20 image, something that makes the image look poor), then I pick the smallest size file for the image.
If you have clients/customers that want shiny things on your site, but have limited bandwidth (there are still a lot of dial-up users), or you have limited bandwidth and a lot of hits, saving a few kB on images is probably worth a bad pixel or two. Of course, the other option is the Google route, just take everything off your most popular page, except for a logo, a few links, a textbox or two, and a button or two. I'm sure adding 10kB to each hit Google sees in a day (minus cached hits) would add up to a rather large number, and would probably cost more than most IT departments have available in their budgets.
Why is it that almost all of the web design "Best Practices" pages look like something written in 1996? How about clean, professional, shiny-new-looking design sites? Are there any? (Don't answer with Web Page Design for Designers either, although it is/has been an excellent reference at times, I'm looking for sites that are still producing new content, WPDFD is EOL'd)
Idokorro offers SSH clients for most J2ME phones, including the various blackberry devices, and also offers one for the Nokia phones with the flip-over keyboard (can't remember the model number). Try Idokorro
Great, so memory management in future versions of Windows will be WORSE? You'd be surprised how adding a simple string to a string can eat memory (I've reached 400MB for a test case constructing about a 300KB string, it's actually faster by several orders of magnitude to write to disk than append to a string), and how long it takes for it to be GC'd.