On Thursday 22 March 2007, Peter wrote:
> I am not an expert in database servers but I know 2 or 3 things about
> 'commodity' PC hardware. If you want to build a server by saving money
> on hardware, don't.
>
> Go and buy a 2nd hand AS/400 and put Linux (or *BSD) on one of its
> images and that's something that will work essentially forever. Or buy a
> Sun and do the same. Or buy a good name 19" server for rackmount and as
> above. RAID is not snake oil and the bottleneck is often not the disk
> subsystem, but the network and stupid programming that has algorythms
> running in O(n^n) (either time or space, or both) whenever minimal
> constraints are even approached (like doing a SELECT * on a 30 million
> records table with 2GB of ram and then doing an outer join or intersect
> on that so the pain becomes really palpable - and *then* for good
> measure expect a PHP4 backend to handle the resulting 1 million record
> table in reasonable time by using a cursor on the data monster to serve
> the result as web pages - this is how 'programming' is being done now).
> Afaik the fastest servers (including Google and many others) do not use
> SQL for anything. An optimized hash table (tiered etc) should work much
> better than any SQL.
>
> The engineering of consumer PCs is not suitable for server services. It
> is not a x86 vs. RISC question, it is the whole thing. Most
> supercomputers are x86 multiprocessor monsters now. The x86 is a
> nightmare dinosaur from the era of steam-powered wooden chips but it is
> the de facto standard. This is IBMs fault (did they have to open source
> a PC with a c**p CPU and a c**p operating system bought from someone who
> did not own it yet ?! - oh wait, *that's* why they PD'ed it).
>

Always found the one to blame. That will solve all the problems.

Seriously now - what can we do to get rid of the fact that a single 
architecture controlls most of the market, and it sucks. Here's what. Why is 
the x86 problem? That's why:

"Chicken and Egg Problem":

http://www.joelonsoftware.com/articles/fog0000000054.html

"Let me go back":

http://www.joelonsoftware.com/articles/fog0000000052.html

Nothing but x86 runs Windows with its x86-only applications. I'm talking about 
the good applications, not the bad ones. And most of them are completely 
unportable to anything but Windows, WINE, VMware, and other virtualisation 
hacks not-withstanding.

So what can we do to break the Evil Windows+x86-windows-apps spell? Have 
portable alternatives on Windows! If someone uses OpenOffice, Firefox, GIMP, 
Inkscape, Blender, Apache, Perl/Python/PHP/Ruby, XChat, GAIM, Eclipse, 
Subvserion, Vim/Emacs, etc. etc. (all native Win32 ports[1]) to say nothing 
of cygwin and friends on Windows - he can switch to Linux where they work 
much better in a snap. If he's stuck with MS Office, MSIE, PhotoShop, 
Illustrator/Corel-Draw, IIS, ASP Classic, mIRC, MSN Messenger, DevStudio, 
Visual SourceSafe and Notepad (;-)) on Windows he's not going to. He can't - 
he's locked in.

I've talked on the IRC (Freenode) with a girl who's been using Windows with 
some high-quality FOSS for some time, and then decided to switch to Linux 
(Ubuntu IIRC). Now she loves it, but still appreciates the fact she could use 
these softwares on Windows as a set of stepping stones. That's why I, while 
Linux hosted, do not make my software Unix-only (if I can help it). I often 
try to run it on Windows and do the porting myself. Or I just accept patches 
to build it there. Or it just works because I know what I'm doing. The other 
computer in this room runs WinXP (it's not mine) so it's easy to test. And I 
can always buy VMware and another WinXP copy, or get a windows-hosted 
developer to do it for me.

At work my co-worker, who I believe is the only one except me who uses Linux 
directly on his workstation computer (all other run Windows and connect it to 
X) had to install Windows on a VMware instance, to run Office and Visio so a 
different windows-hosted co-worker would be happy for them to exchange Word 
documents. It is possible OpenOffice.org would be good enough (although I'm 
not so sure), but Word was still the least "get-fired-for-using-it" 
solution[2].

What I'm describing is the reverse solution to the Chicken and Egg problem. 
Make portable, hopefully Free, alternatives to windows/x86-only apps 
available on Windows so people will use them instead and then make the 
transition to another system which has everything easier.

After everyone will switch to using Linux, then with the power of open source 
and the GNU build toolchain and open formats, we can make sure we can use 
diverse hardware running Linux, *BSD (or maybe even OpenSolaris) happily ever 
after. But we still need to bootstrap that by first making sure we have 
Windows ports. This is actually not too hard, if you know what you're doing 
and use the right tools:

http://www.shlomifish.org/open-source/portability-libs/

It's not as hard as porting to most solid Unixes, but have you tried porting 
to some of the more obscure systems in:

http://perldoc.perl.org/perlport.html#Supported-Platforms

Compared to some of them Windows 2003 and even Windows XP are easy to target.

And many ./configure scripts have lots of obscure checks that will fail only 
if something is really screwed up on any modern system, or if it's a 
particular ancient system that has some god-forsaken problem, that is 
probably completely non-standard.

Regards,

        Shlomi Fish


[1] - gtk+ looks weird on Windows, and it does not have native widgets, but 
the application itself is not cygwin

[2] - it's just an expression - you won't get fired for using Linux or OOo 
where I work.

---------------------------------------------------------------------
Shlomi Fish      [EMAIL PROTECTED]
Homepage:        http://www.shlomifish.org/

Chuck Norris wrote a complete Perl 6 implementation in a day but then
destroyed all evidence with his bare hands, so no one will know his secrets.

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to