To ensure no American pays tax on necessities, the FairTax plan provides a prepaid, monthly rebate (prebate) for every registered household to cover the consumption tax spent on necessities up to the federal poverty level.
So unless you're registered and providing ALL your financial info, current up to the last week (to properly adjust your "prebate level" in the case of job loss, etc), you'll be paying higher taxes.
It's not just linux fans that hate Microsoft. How many Windows users hate their computers? A lot of them - to the point where they just go out and buy a new one rather than try to deworm their current one, in the hope that a faster model won't be so slowed-down by the bloatware/viruses/drive-bys for a while.
They don't buy a computer because they like Microsoft - they buy a computer in spite of Microsoft.
MS has always been actively trying to get OEMs to write their drivers for Windows.
True.
And they've always supplied ample docs and examples of how to do that.
False.
Their own home-grown drivers have a history of being buggy - right from the very first laser printer driver in Windows 3.0 written by Microsoft that never printed on the one printer it was supposedly designed for. Nice having to shell out to dos to print shit on a $3,000 printer.
If the docs and examples are so good, and they have this magical certification process in place, why are drivers such a problem?
The answer is simple - the docs and examples are not all that good, and the certification process is more about money than quality.
mmm... ATI... remember the bug that wouldn't let you have more than 27 icons in any window - the rest were just black boxes? And this was a driver off their CD... that was pretty awful.
And what is Microsoft going to do to fix the problem? Nothing. They'll say "not our problem - we'll decertify the drivers, though."
So, a company pays money to have their driver certified, Microsoft then decertifies it, and the company has to pay more money? Fuck it - its not like you need certified drivers to run... oh wait, you might have to after all in their next release...
Which would be hilarious - driver no longer certified, WGA calls home, decertifies your video card driver, you can only boot into 640x480x16 until you buy a new video card with a certified driver... or not use your computer for a month or two. Yeah, this is SUCH a good idea... not!
Linux won't nmount a drive if there's any task using it - for example, if you've got a shell open in a directory on that drive, or you've got a task in the background that's indxing it (beagle?)
They've blamed drivers in the past whe the problem was with the poor design of Windows itself. For me its not an issue... linux runs all the hardware I use just fine... but I know people who are still in the process of "my next computer will be either a Mac or Linux" and they think that problems are a normal, daily occurance.
If it was almost anyone else, there wouldn't be any argument. History, in the sense that Microsoft has always worked to blame others (Lotus, Corel, Netscape, so many printer manufacturers) for problems that are caused by Microsoft policies, works against trusting them:
undocumented APIs that end up getting used anyway because if you try to go the legit route, you quickly find "you can't get there from here" - for 2 decades and counting
patches that purposefully break competitors products
denial of responsibility for poor programming
what little information they do release is frequently not accurate (see the European Commision's findings that Microsoft can't even document their own code - and sometimes they can't even find the code any more)
treating the certification program as both a cash cow and a lever against manufacturers - a prime example of asshole management that works to the long-term detriment of everyone, including Microsoft
... and the usual rants...
Like I said, anyone else, this wouldn't be an issue. But they LIE so many times. Look at the latest spyware - the WGA tool that phones home every day, and all the lies they told about it, and continue to tell about it. This is someone you'd trust?
Hey, maybe I can get government funding for creating an approved porn list of sites that government employees can surf without getting a drive-by smack...
.. or at least a research grant from the Department of Homeland Security... after all, if we don't have safe pr0n, the terr'rists have won!
Good point, except that history doesn't back you up. Microsoft has always gone out of its way to blame drivers or 3rd-party software for its own quality / stability problems.
Remember, Microsoft is one of the most hated companies for a reason... they didn't get that way overnight. It took a couple of decades of abuse, and its going to take a couple of decades to win people back... if they ever start making an honest effort to. Just look at the LIES on open document standards wrt Massachussetts (or however you spell it... I'm from Kanadanadanada ^W up north!:-)
Not in a week... 3 days. the posts don't tike more than a minute or two each, but you have to read the articles, peruse the threads, etc. I'm sure you were on slashdot for more than 15 minutes the last 3 days - maybe you're experiencing distorting side-effects from the site design:-)
They will not be more than two orders of magnitude difference.
a difference of 200 is certainly less than 3 orders of magnitude difference, so its not THAT far outside your 2 orders of magnitude expectations.
There was nothing wrong. If you had written assembly/assembler/whatever you want to call it 15 years ago, you would know that the difference was often a couple of orders of magnitude. Heck, I wrote one routine just to spool data off of hard disks, and in assembler the disk transfer rate was twice the official rate on the drive. Surprising, but not that surprising. Custom routines tailored to the hardware are always going to yield better results.
Fair enough... just that writing in a compiled language like c or c++ cn be just as easy as, or easier than, writing in a managed language. You just need the right tools.
[Quote[
But C does provide about as little abstraction as one can expect from a language. [/Quote]
Okay, but the c preprocessor allows you to do a lot of "magic." For example, this is a c program that compiles, even though it doesn't LOOK like a c program (I wrote it this morning just to show that a cgi in c doesn't have to be complicated):
#include "html.h"
title("this document was generated by a c cgi");
body("bgcolor='silver'");
b("Hello, world");
end;
It doesn't look like a c program, but it compiles just fine with gcc. Even someone who doesn't know html OR c can grok this in a few seconds.
Go to http://groupehudson.com/postnuke/index.php?name=Ne ws&file=article&sid=98 to see the header "magic".
It wasn't that there ws "something stupid happening" with the compiler... its that, for some repetitive operations on video card hardware registers you can take shortcuts the c compiler can't. It doesn't "know" enough.
Thus, while the server is running, it is executing mostly JITed native code.
... and it still runs SO much slower because of the overhead in runtime checking... the runtime has a LOT of housekeeping stuff to do, as well as verifying that yes, we've encountered this method call before, so lets look in the VM method cache. Even if it turns out that every method invoked already has a native code equiv. already compiled, its always going to be s.l.o.w.e.r.
Plus I really like the ability to do pointer arithmetic. Can't futz around with pointers in java, so you're always taking the long road from here to there.
ntel was generally disappointed with their first IA-32 SIMD effort, MMX. MMX had two main problems: it re-used existing floating point registers making the CPU unable to work on both floating point and SIMD data at the same time, and it worked on only integers.
Now keep in mind that you can load 8 different values into the fpu, and issue one instruction to act on all of them.
You do know that you can use the C preprocessor on any text file, right? It's a standalone program on systems using GCC. You will have to avoid shell-style comments (#), but otherwise it works well. It is a bit weird running Make on your PHP files, though.
I used it + some funky header files + some perl-fu to convert some c to java. Just to see if it was possible. It works, and it was nice being able to type main() and get it replaced by the proper class designations, scoping, etc., as well as much simplified syntax for other stuff.
It is a bit weird running Make on your PHP files, though.
One good use is to use a script to replace all the "include('filename.inc')" stuff with "cat filename.inc.php >> target.php". No more.inc files, and only 2 hits to the filesystem on the server (1 to read the dir, one to read target.php') as opposed to the usual dozen or so... and you can include a command to strip all the comments and extraneous whitespace from your target.php while you're at it, making it load and run slightly faster, then move target.php to your ftp upload dir (or even automagically ftp it to the server if there are no errors).
Just don't use it to embed your common css or javascript in target.php - its better to pay the penalty for an extra couple of file reads on the first hit, and have the user's browser cache the result for the rest of the browser session:-)
Interesting point... so I tried to rewrite the stuff to see how ada compares, but my gcc complains that it (gcc) is missing part of the required ada functionality - time to download and update. I will check it out.
btw, you can get the same features for c++ (buffer overflow, outside-of-range access, automatically allocate, deallocate memory, etc) - either by building the appropriate objects yourself, or by using a library that has those features. Or, if you figure you don't need it, don;t use it. Just as you can turn it off in ada.
Try doing that with Java, python, etc... You can't. The runtime environment is part of the language's definition. In that sense, ada isn't a managed language... while the checks, etc., are part of the spec, from what I can see they're not essential and you can run more or less "unmanaged".
Your comment violated the "postercomment" compression filter. Try less whitespace and/or less repetition. Comment aborted.
--- In other words, the lousy formatting of the source that follows is not my fault
To get a real comparison, just try running these two programs: #include <stdio.h>
int main(int argc, char* argv[], char* env[]) {
int a, b, c, d, e, f, total;
total = 0;
printf("Content-type: text/html\r\n\r\n");
printf("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">");
printf("counting...");
for(a=1; a<=44; a++)
for (b=a+1; b<=45; b++)
for (c=b+1; c<=46; c++)
for (d=c+1; d<=47; d++)
for (e=d+1; e<=48; e++)
for (f=e+1; f<=49; f++)
total++;
printf("%d", total);
return 0; }
and
<?php
print "counting...";
for($a=1; $a<=44; $a++)
for ($b=$a+1; $b<=45; $b++)
for ($c=$b+1; $c<=46; $c++)
for ($d=$c+1; $d<=47; $d++)
for ($e=$d+1; $e<=48; $e++)
for ($f=$e+1; $f<=49; $f++)
$total++;
print $total; ?>
You know< the c one is going to be more than an order of magnitude faster. (and if you didn't, I just tested them, but don't take my word for it... you have the source, trivial as it is:-) Native code is faster, as you would expect.
It wouldn't end them keeping data on everyone ... here's what they have to say about how it would work:
http://www.fairtaxvolunteer.org/smart/sketch.html
So unless you're registered and providing ALL your financial info, current up to the last week (to properly adjust your "prebate level" in the case of job loss, etc), you'll be paying higher taxes.
It's not just linux fans that hate Microsoft. How many Windows users hate their computers? A lot of them - to the point where they just go out and buy a new one rather than try to deworm their current one, in the hope that a faster model won't be so slowed-down by the bloatware/viruses/drive-bys for a while.
They don't buy a computer because they like Microsoft - they buy a computer in spite of Microsoft.
Their own home-grown drivers have a history of being buggy - right from the very first laser printer driver in Windows 3.0 written by Microsoft that never printed on the one printer it was supposedly designed for. Nice having to shell out to dos to print shit on a $3,000 printer.
If the docs and examples are so good, and they have this magical certification process in place, why are drivers such a problem?
The answer is simple - the docs and examples are not all that good, and the certification process is more about money than quality.
mmm ... ATI ... remember the bug that wouldn't let you have more than 27 icons in any window - the rest were just black boxes? And this was a driver off their CD ... that was pretty awful.
And what is Microsoft going to do to fix the problem? Nothing. They'll say "not our problem - we'll decertify the drivers, though."
So, a company pays money to have their driver certified, Microsoft then decertifies it, and the company has to pay more money? Fuck it - its not like you need certified drivers to run ... oh wait, you might have to after all in their next release ...
Which would be hilarious - driver no longer certified, WGA calls home, decertifies your video card driver, you can only boot into 640x480x16 until you buy a new video card with a certified driver ... or not use your computer for a month or two. Yeah, this is SUCH a good idea ... not!
Linux won't nmount a drive if there's any task using it - for example, if you've got a shell open in a directory on that drive, or you've got a task in the background that's indxing it (beagle?)
Kill -9 usually works as root.
They've blamed drivers in the past whe the problem was with the poor design of Windows itself. For me its not an issue ... linux runs all the hardware I use just fine ... but I know people who are still in the process of "my next computer will be either a Mac or Linux" and they think that problems are a normal, daily occurance.
If it was almost anyone else, there wouldn't be any argument. History, in the sense that Microsoft has always worked to blame others (Lotus, Corel, Netscape, so many printer manufacturers) for problems that are caused by Microsoft policies, works against trusting them:
Like I said, anyone else, this wouldn't be an issue. But they LIE so many times. Look at the latest spyware - the WGA tool that phones home every day, and all the lies they told about it, and continue to tell about it. This is someone you'd trust?
Hey, maybe I can get government funding for creating an approved porn list of sites that government employees can surf without getting a drive-by smack ...
Good point, except that history doesn't back you up. Microsoft has always gone out of its way to blame drivers or 3rd-party software for its own quality / stability problems.
Remember, Microsoft is one of the most hated companies for a reason ... they didn't get that way overnight. It took a couple of decades of abuse, and its going to take a couple of decades to win people back ... if they ever start making an honest effort to. Just look at the LIES on open document standards wrt Massachussetts (or however you spell it ... I'm from Kanadanadanada ^W up north! :-)
I agree ... the abuse by competitors bit was my first thought.
But what about drivers that worked fine, then started crashing after an update? Why should they be penalized for something M$ screwed up?
Not in a week ... 3 days. the posts don't tike more than a minute or two each, but you have to read the articles, peruse the threads, etc. I'm sure you were on slashdot for more than 15 minutes the last 3 days - maybe you're experiencing distorting side-effects from the site design :-)
People were using the fpu to do single-instruction multiple data (SIMD) before MMX. MMX meant that they no longer had to pack and unpack the values.
So, no, MMX was NOT the first use of SIMD. It just made the process easier.
PFI_Optix wrote:
So I guess that "I'm too busy away from teh intarweb thingee" pose isn't working so well.
No, more like old news ... I've been saying "aw, flock Web 2.0 for a while."
a difference of 200 is certainly less than 3 orders of magnitude difference, so its not THAT far outside your 2 orders of magnitude expectations.
There was nothing wrong. If you had written assembly/assembler/whatever you want to call it 15 years ago, you would know that the difference was often a couple of orders of magnitude. Heck, I wrote one routine just to spool data off of hard disks, and in assembler the disk transfer rate was twice the official rate on the drive. Surprising, but not that surprising. Custom routines tailored to the hardware are always going to yield better results.
Fair enough ... just that writing in a compiled language like c or c++ cn be just as easy as, or easier than, writing in a managed language. You just need the right tools.
http://groupehudson.com/postnuke/index.php?name=N
Lets hope THIS url doesn't get b0rked by slashcode.
[Quote[
e ws&file=article&sid=98 to see the header "magic".
But C does provide about as little abstraction as one can expect from a language.
[/Quote]
Okay, but the c preprocessor allows you to do a lot of "magic." For example, this is a c program that compiles, even though it doesn't LOOK like a c program (I wrote it this morning just to show that a cgi in c doesn't have to be complicated):
#include "html.h"
title("this document was generated by a c cgi");
body("bgcolor='silver'");
b("Hello, world");
end;
It doesn't look like a c program, but it compiles just fine with gcc. Even someone who doesn't know html OR c can grok this in a few seconds.
Go to http://groupehudson.com/postnuke/index.php?name=N
It wasn't that there ws "something stupid happening" with the compiler ... its that, for some repetitive operations on video card hardware registers you can take shortcuts the c compiler can't. It doesn't "know" enough.
Plus I really like the ability to do pointer arithmetic. Can't futz around with pointers in java, so you're always taking the long road from here to there.
No problem. First, look at Intel's first effort:
http://en.wikipedia.org/wiki/Streaming_SIMD_Extens ions
Now keep in mind that you can load 8 different values into the fpu, and issue one instruction to act on all of them.
MMX used the fpu registers. So did 3dNow.
I used it + some funky header files + some perl-fu to convert some c to java. Just to see if it was possible. It works, and it was nice being able to type main() and get it replaced by the proper class designations, scoping, etc., as well as much simplified syntax for other stuff.
One good use is to use a script to replace all the "include('filename.inc')" stuff with "cat filename.inc.php >> target.php". No more .inc files, and only 2 hits to the filesystem on the server (1 to read the dir, one to read target.php') as opposed to the usual dozen or so ... and you can include a command to strip all the comments and extraneous whitespace from your target.php while you're at it, making it load and run slightly faster, then move target.php to your ftp upload dir (or even automagically ftp it to the server if there are no errors).
Just don't use it to embed your common css or javascript in target.php - its better to pay the penalty for an extra couple of file reads on the first hit, and have the user's browser cache the result for the rest of the browser session :-)
Interesting point ... so I tried to rewrite the stuff to see how ada compares, but my gcc complains that it (gcc) is missing part of the required ada functionality - time to download and update. I will check it out.
btw, you can get the same features for c++ (buffer overflow, outside-of-range access, automatically allocate, deallocate memory, etc) - either by building the appropriate objects yourself, or by using a library that has those features. Or, if you figure you don't need it, don;t use it. Just as you can turn it off in ada.
Try doing that with Java, python, etc ... You can't. The runtime environment is part of the language's definition. In that sense, ada isn't a managed language ... while the checks, etc., are part of the spec, from what I can see they're not essential and you can run more or less "unmanaged".
Your comment violated the "postercomment" compression filter. Try less whitespace and/or less repetition. Comment aborted.
;
...");
...";
... you have the source, trivial as it is :-) Native code is faster, as you would expect.
--- In other words, the lousy formatting of the source that follows is not my fault
To get a real comparison, just try running these two programs:
#include <stdio.h>
int main(int argc, char* argv[], char* env[]) {
int a, b, c, d, e, f, total;
total = 0;
printf("Content-type: text/html\r\n\r\n");
printf("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">")
printf("<html><head><title>c cgi test</title></head>");
printf("<body>");
printf("counting
for(a=1; a<=44; a++)
for (b=a+1; b<=45; b++)
for (c=b+1; c<=46; c++)
for (d=c+1; d<=47; d++)
for (e=d+1; e<=48; e++)
for (f=e+1; f<=49; f++)
total++;
printf("%d", total);
return 0;
}
and
<?php
print "counting
for($a=1; $a<=44; $a++)
for ($b=$a+1; $b<=45; $b++)
for ($c=$b+1; $c<=46; $c++)
for ($d=$c+1; $d<=47; $d++)
for ($e=$d+1; $e<=48; $e++)
for ($f=$e+1; $f<=49; $f++)
$total++;
print $total;
?>
You know< the c one is going to be more than an order of magnitude faster. (and if you didn't, I just tested them, but don't take my word for it