This review was posted, word for word, to Amazon
on May 13th, 2002, by one Eugene Mah. Pretty nasty
work, plagarizing the work of others just to grub
karma. Slashdot folks, why do you keep modding this jerk up?
> or maybe just Walmart Linux? "Walmart Windows" actually would be more fitting.
Both companies (MS & WalMart) want you to believe
they are your friend, when they're actually huge
evil megaconglomerates that would sell your
internal organs for a dime if you fell asleep
in the lobby at corporate headquarters.
Many a sci-fi hero has emerged victorious by hiding in a cave while two opposing giant bad robots battled to their mutual death, so WalMart vs Microsoft is a good thing no matter how you
slice it.
I believe this was a premature announcement, at
least as regards this project name. They didn't
get the Red Storm contract, although they
were a competitor, and the architecture was far
from a done deal.
Andy Hunt and Dave Thomas' The Pragmatic Progammer" is a wonderful condensation of the general wisdom a smart person will gain in their first five years or so of a career in software development. A lot of the
stuff in here is just common sense, but some of it
(too much of it, really) some people never seem
to learn.
> There is also the point that older movies (Snow White, Cinderella, Winnie the Pooh) were based on older source material. In many cases, classic
stories known by anyone born in the west. The new stuff... Tripe.
Indeed. Hercules, for example, was based on... oh wait, forget it.
> I don't think I can count the number of Islamic organizations that have publicly condemned Bin Laden, both in English and in Arabic, both domestically and
internationally.
In all seriousness, I've wondered about this myself: if there ARE such organizations, and they HAVE made such condemnations, they need better press agents. There is either very, very little anti-extremist rhetoric promulgated by American Islamic groups, or the media simply refuses to
pick it up.
Tang and moon rubber are commodities, and the
government doesn't manufacture and sell commodities, so this argument is specious. The gov't wouldn't and couldn't produce Tang and give it away. But as we all are so fond of pointing out here, bits are entirely
different from bricks, and software, therefore, follows different rules.
If agency X gives away its software for free,
then users can use it for free, end of story. They no longer
need to buy the software from your company. In a big
market like OSs or C++ compilers or what have you, this is probably like a piss in the ocean, and it
doesn't matter. But in a small vertical market,
where each competitor may only have a few customers, losing even one can really hurt. Note that by giving something away that another company was selling, the agency would be actively shrinking the economy -- reducing the GNP by the cost of unsold software.
Another correspondent replied to my first post, saying something like "the government doesn't owe
any individual small company anything." But they
do, as I said. It is a sworn part of their
misson not to run any companies out of
business. In fact, most government agencies
have large and complex purchasing bureacracies
dedicated to making sure that their spending
habits don't put any individual businesses at a
disadvantage, especially small and minority-owned
businesses.
I'm so tired of hearing this nonsense every time
there is a story about a U.S. government software
project. Sorry, kids, but most of you haven't thought this thing through.
Here's the deal, folks: imagine you work for one of
several companies that makes software that does X.
Now, a government agency develops its own software
that does X, perhaps because they need a feature
that no company supports, or they need to be doubly sure it's bug free, etc. Furthermore, assume the agency's software kicks ass (believe it
or not, much government-developed software is
pretty damn good.)
Now, if that agency
releases its software to the public domain, how
do you, and your company, and your competitors feel? Would all enjoy being driven out of business
by your own tax dollars at work? How would this
"foster U.S. economic competitiveness" (a stated part of the mission of most government agencies?)
Didn't think so, and no, it wouldn't. That's why a good deal of government-developed software and technologies aren't just given away.
Neither. They're teaching them history,
geography, reading... Educational software.
Remember, folks, there's
a whole big world of folks out there to whom
a computer is a tool, not a destination. Maybe
Freddie Fish runs under Wine, maybe not. But believe it or not, most
kids don't want to build their own kernels.
Some people are car nuts,
but most people just drive.
I was writing a book for IDG at the time they bought Hungry Minds.
1) The old name was "IDG Books" not "CDG"
2) They didn't change their name, so much; they bought a pre-existing company and used the name. The
pig already existed.
3) Your chronology is all wrong, and nothing especially changed when they bought Hungry Minds.
4) They publish many series of books, most of which don't include the word "Bible" in their
titles. Several of their current series use the
word "Visual" as a theme.
Sun Microsystems (can) go buy 10,000 copies, and they can have
people just sit there and generate work requests to us every minute of
every day," Ballmer said. "Somebody could say, 'Look, I want to make
Microsoft's life miserable; so I'll tell you what, I'll pay you $10 million a year
to torture Microsoft."'
Don't worry, Steve. Just keep that tinfoil hat on and we won't be able to control your mind.
> And then on 9/11 we found out how organized and intelligent they could be
I'm frankly getting tired of hearing this.
Organized, kinda. Intelligent, not hardly. A 15 year-old boy in Florida just dive-bombed a skyscraper, for chrissakes. All they did was take
flying lessons, buy airline tickets (leaving a huge trail all over the place -- how intelligent
was that?) bring knives, and take advantage of
our collective national sense of complacency. The two guys in "Dumb and Dumber" could have pulled this off.
>Now my own view is that all retail should be stuck on a separtate domain [.shop par example], and
>the rest returned to the 'good ol' days', but it aint going to happen
The separate TLD for commercial use was supposed to be....com . Imagine that.
It's always bothered me how badly abused the domain name system has been since the WWW appeared. Everything has to be
"www.something.com", meaning that "something" has to carry all the weight. It would be better both for finding things and efficiency-wise for the infrastructure if it were "lordoftherings.newlinecinema.com" instead of "www.lordoftherings.com". That's how it was meant to work.
Imagine if the present system, where anyone can register any damned thing, never came to pass.
What exactly possesses these kiddies to believe that their little friend Suzie needs this MP3
right now as opposed to a minute or three from now? Why the hell can't they just send Suzie an email with an attachment? Call me old-fashioned, but this strikes me
as a problem that would just go away if AOL took
the "attach big old binary stuff" button off of
their IM client.
On the 9th of January a set of AV companies have
received a new virus from its author. The virus
was named "dotNET" by its creator but we decided to
add detection of it as W32.Donut instead.
The virus targets EXE files that were created for
the Microsoft.NET framework.
Normally.NET files do not have any platform
dependent code, but a small 5 byte stub. This stub
executes the mscoree.dll _CorExeMain() function and
thus the.NET MISL (intermediate language) gets
control if the.NET framework is installed.
Thus currently a.NET application executes native
code before it will execute the platform
independent code. According to Microsoft this
native code will be removed and the operating
system itself will recognize and execute.NET
images.
The virus infects.NET executables by attacking the
5 byte jump to the _CorExeMain() function. It
replaces this jump, with another one to point into
the last section of the executable, it overwrites
its.reloc section with itself and nullifies the
relocation directory.
Thus when an infected file is executed the virus
code will get control as a 386 application. The
virus checks the platform and only infects on
Windows 2000 and above. If so it will attempt to
infect all files in the current directory with.EXE
extension and in up to 20 directories above it. It
must be noted that there are many assumptions made
about the.NET file structure which will not be the
case with most executables. Nonetheless many C#
complied files would have similar structure. The
virus author worked with the Beta 2.NET framework
and thus checks files for the new header signature
"BSJB". The virus would therefore ignore the.NET
Beta 1 file format. The virus will inject itself
into the file by using regular virus techniques to
get access to the API addresses it needs to
call. Most API's are referenced in the code as
CRCs. It must be noted that the virus also modifies
the checksum field of PE header's to make the image
look valid. Donut also injects a small MSIL code
and metadata into the infected file. These will
execute the payload of the virus and display the
following message box with a 1:10 chance.
This cell has been infected by dotNET virus!
.NET.dotNET by Benny/29A
Infected files will look like regular
applications. The virus will first drop a file with
a fixed.NET header pointer in the data directory
as well as the jump to the _CorExeMain() function
so the application can run as a.NET file whenever
the Framework is installed. In this case the MSIL
code of the virus will get control and display the
above message box. When the host application
returns the virus create yet another copy of the
file and in this case the original MSIL code will
be executed and the file will run normal. During
this process the virus creates a temporary file
with the name of the host executable and a
space. For example,
runme.exe
will have temporary file
runme.exe
W32.Donut is a concept virus. It does not have any
significant chance to become wide spread. However
it shows that virus writers are paying close
attention to the new.NET architecture and attempt
to learn it before the Framework will be available
on most systems.
Look at, for example, MPQC, a parallel quantum chemistry code that several times in recent years has held the record for largest QC computation ever performed (QC is one of the most computationally demanding branches of scientific research.) MPQC is
built on a modular library called SC, for "Scientific Computing," which includes all sorts of tools for parallel communications, parallel file I/O, vector and matrix math, etc. SC and MPQC are written in a very O-O style in 99% C++ (a bit of legacy FORTRAN still in there.)
Considering all the Linux zealotry on/.,
I'm surprised I'm the first one to report
that these annoying things unfortunately work
just fine on Netscape 4.78, Flash 5.0r47.
OMG, are they annoying!
The Extreme Programming methodology has a way of
dealing with this: basically, you only make
predictions a few weeks in advance. You break
everything down into individual tasks that are
small enough to estimate reliably in "ideal programmer days." An ideal programmer day is a day where a programmer gets to work all day without interruption. Everyone naturally estimates this way already and people are actually pretty good at doing it. The problem is that you don't get ideal days; you get real days, where you have to go to meetings, and answer the phone, and people get sick, etc. What you do is you measure the
ratio between ideal days and real days. Then you
estimate in real days, and multiply by this velocity to get a reliable estimate. You can develop very reliable velocity measures for a given team in a given environment. You can update the measurement over time.
Then every three weeks, you pick
enough individually estimated tasks such that the
total number of ideal programmer days
multiplied by a previously measured
velocity equals three weeks. You then say with very good confidence that in three weeks, you'll have finished those tasks. You're virtually always right, once you've got some practice and measurements behind you. If you don't hit the target exactly, you adjust the velocity for the next iteration.
Beyond that, though, any estimates you make are understood to be back-of-the-envelope and not to
be trusted. You don't bet the farm on anything
you don't really know. And the customers are very happy when you hit the target time after time!
Hugh Loebner himself announced this on comp.ai (a moderated group) on Monday. The below is
a reply from an "Oliver Ford." While I didn't write these words (and wouldn't be quite so rude
in public, myself) I have to say I agree with the sentiment.
---------
Why do you hold this contest? You are not helping AI research. All you
are doing is breeding "Eliza2" type chatbots that do not help AI. All
the silly things like ALICE do is match up a few words and syntactic
structures. They are a box of tricks that _do not contribute in any
way to progress in AI_
To give you an example, here is a discussion that Lasse Brandt had
with ALICE (Your "Most Human Computer". This was posted to
comp.ai.philosophy)
> What are you?
I am the latest result in artificial intelligence, which can reproduce
the
capabilities of the human brain with greater speed and accuracy.
> You're kidding. Yes, I am only joking.
> Okay, so what are you really?
I am the latest result in artificial intelligence, which can reproduce
the
capabilities of the human brain with greater speed and accuracy.
> You can reproduce the capabilities of the human brain?
No I don't think I can do it.
> If I have two apples and I give you both, how many have I got left?
How much does it cost?
> What color is the sun? Yellow.
> What color is the sun on Fridays?
White.
If you follow some of the discussions on comp.ai.philosophy, you may
see that if you stopped your contest, and invested some of your money
in institutions that could make real progress, then those who are
trying to make progress wouldn't offer things like the "$100 Minsky
Loebner Prize Revocation Prize", then you would be helping AI.
I can tell you from personal experience that this
is absolutely true. Pair programming (done right,
anyway) gives you that "tired, but a good tired" feeling afterwards. It keeps you focused for a long period of time, and keeps you from that almost unconscious email checking,/. browsing, etc. you might do otherwise. This isn't the -only-
productivity gain in eXtreme Programming, but
it's certainly an important one.
> Windows ships without a C compiler, but that
> didn't kill C. (And yes, I realize you don't
> need special software to RUN the C programs.)
Actually, to be picky, you do need special
software to run many C programs, at least those written in Visual C++: the MSVCRT.dll C runtime DLL. There are multiple versions of this, and the installers for many apps install their own. Making sure you've got the right version of this library is one of the common variants of "DLL Hell."
This is really quite sad, but maybe my emotional
response is tied up in historical beliefs that
no longer hold. We've been buying VA boxes where
I work for some years, now (y'all know they used
to be "VA Research") because there historically
wasn't any other place to get preassembled
boxes made with bleeding-edge SMP mo-boards,
certainly not with Linux already installed.
But these days, you can buy SMP from Dell, and
with Linux installed to boot. Was VA's hardware
business, then, a victim of Linux's success?
I have taught extension-school programming classes
for many years, generally by email, here in the USA Often, a
program will seem somehow familar, and I'll grep
through my archives. I'll usually find the identical program, down to variable names and indentation.
Once, quite recently, I received a very good final project from a very bad student. I had never seen the program before, but it was
immediately obvious that they had cheated. How
to prove it? I entered several of the longer identifiers at Google as search terms, and lo and
behold, a link to the original program appeared as the first hit. It was a posted solution to a
course assignment at University of Queensland, Australia, in the CS department. The extension student was, in fact, living in Australia at the time.
They were very shocked when I sent them their F, along with the source URL.
This review was posted, word for word, to Amazon on May 13th, 2002, by one Eugene Mah. Pretty nasty work, plagarizing the work of others just to grub karma. Slashdot folks, why do you keep modding this jerk up?
"Walmart Windows" actually would be more fitting. Both companies (MS & WalMart) want you to believe they are your friend, when they're actually huge evil megaconglomerates that would sell your internal organs for a dime if you fell asleep in the lobby at corporate headquarters.
Many a sci-fi hero has emerged victorious by hiding in a cave while two opposing giant bad robots battled to their mutual death, so WalMart vs Microsoft is a good thing no matter how you slice it.
I believe this was a premature announcement, at least as regards this project name. They didn't get the Red Storm contract, although they were a competitor, and the architecture was far from a done deal.
Andy Hunt and Dave Thomas' The Pragmatic Progammer" is a wonderful condensation of the general wisdom a smart person will gain in their first five years or so of a career in software development. A lot of the stuff in here is just common sense, but some of it (too much of it, really) some people never seem to learn.
Indeed. Hercules, for example, was based on... oh wait, forget it.
In all seriousness, I've wondered about this myself: if there ARE such organizations, and they HAVE made such condemnations, they need better press agents. There is either very, very little anti-extremist rhetoric promulgated by American Islamic groups, or the media simply refuses to pick it up.
If agency X gives away its software for free, then users can use it for free, end of story. They no longer need to buy the software from your company. In a big market like OSs or C++ compilers or what have you, this is probably like a piss in the ocean, and it doesn't matter. But in a small vertical market, where each competitor may only have a few customers, losing even one can really hurt. Note that by giving something away that another company was selling, the agency would be actively shrinking the economy -- reducing the GNP by the cost of unsold software.
Another correspondent replied to my first post, saying something like "the government doesn't owe any individual small company anything." But they do, as I said. It is a sworn part of their misson not to run any companies out of business. In fact, most government agencies have large and complex purchasing bureacracies dedicated to making sure that their spending habits don't put any individual businesses at a disadvantage, especially small and minority-owned businesses.
Here's the deal, folks: imagine you work for one of several companies that makes software that does X. Now, a government agency develops its own software that does X, perhaps because they need a feature that no company supports, or they need to be doubly sure it's bug free, etc. Furthermore, assume the agency's software kicks ass (believe it or not, much government-developed software is pretty damn good.)
Now, if that agency releases its software to the public domain, how do you, and your company, and your competitors feel? Would all enjoy being driven out of business by your own tax dollars at work? How would this "foster U.S. economic competitiveness" (a stated part of the mission of most government agencies?)
Didn't think so, and no, it wouldn't. That's why a good deal of government-developed software and technologies aren't just given away.
Remember, folks, there's a whole big world of folks out there to whom a computer is a tool, not a destination. Maybe Freddie Fish runs under Wine, maybe not. But believe it or not, most kids don't want to build their own kernels.
Some people are car nuts, but most people just drive.
1) The old name was "IDG Books" not "CDG"
2) They didn't change their name, so much; they bought a pre-existing company and used the name. The pig already existed.
3) Your chronology is all wrong, and nothing especially changed when they bought Hungry Minds.
4) They publish many series of books, most of which don't include the word "Bible" in their titles. Several of their current series use the word "Visual" as a theme.
I'm frankly getting tired of hearing this. Organized, kinda. Intelligent, not hardly. A 15 year-old boy in Florida just dive-bombed a skyscraper, for chrissakes. All they did was take flying lessons, buy airline tickets (leaving a huge trail all over the place -- how intelligent was that?) bring knives, and take advantage of our collective national sense of complacency. The two guys in "Dumb and Dumber" could have pulled this off.
>Now my own view is that all retail should be stuck on a separtate domain [.shop par example], and
>the rest returned to the 'good ol' days', but it aint going to happen
The separate TLD for commercial use was supposed to be...
It's always bothered me how badly abused the domain name system has been since the WWW appeared. Everything has to be
"www.something.com", meaning that "something" has to carry all the weight. It would be better both for finding things and efficiency-wise for the infrastructure if it were "lordoftherings.newlinecinema.com" instead of "www.lordoftherings.com". That's how it was meant to work.
Imagine if the present system, where anyone can register any damned thing, never came to pass.
What exactly possesses these kiddies to believe that their little friend Suzie needs this MP3 right now as opposed to a minute or three from now? Why the hell can't they just send Suzie an email with an attachment? Call me old-fashioned, but this strikes me as a problem that would just go away if AOL took the "attach big old binary stuff" button off of their IM client.
Here's the writeup from Symantec:
.NET framework.
.NET files do not have any platform
.NET MISL (intermediate language) gets
.NET framework is installed.
.NET application executes native
.NET
.NET executables by attacking the
.reloc section with itself and nullifies the
.EXE
.NET file structure which will not be the
.NET framework
.NET
.NET.dotNET by Benny/29A
.NET header pointer in the data directory
.NET file whenever
.exe
.NET architecture and attempt
On the 9th of January a set of AV companies have
received a new virus from its author. The virus
was named "dotNET" by its creator but we decided to
add detection of it as W32.Donut instead.
The virus targets EXE files that were created for
the Microsoft
Normally
dependent code, but a small 5 byte stub. This stub
executes the mscoree.dll _CorExeMain() function and
thus the
control if the
Thus currently a
code before it will execute the platform
independent code. According to Microsoft this
native code will be removed and the operating
system itself will recognize and execute
images.
The virus infects
5 byte jump to the _CorExeMain() function. It
replaces this jump, with another one to point into
the last section of the executable, it overwrites
its
relocation directory.
Thus when an infected file is executed the virus
code will get control as a 386 application. The
virus checks the platform and only infects on
Windows 2000 and above. If so it will attempt to
infect all files in the current directory with
extension and in up to 20 directories above it. It
must be noted that there are many assumptions made
about the
case with most executables. Nonetheless many C#
complied files would have similar structure. The
virus author worked with the Beta 2
and thus checks files for the new header signature
"BSJB". The virus would therefore ignore the
Beta 1 file format. The virus will inject itself
into the file by using regular virus techniques to
get access to the API addresses it needs to
call. Most API's are referenced in the code as
CRCs. It must be noted that the virus also modifies
the checksum field of PE header's to make the image
look valid. Donut also injects a small MSIL code
and metadata into the infected file. These will
execute the payload of the virus and display the
following message box with a 1:10 chance.
This cell has been infected by dotNET virus!
Infected files will look like regular
applications. The virus will first drop a file with
a fixed
as well as the jump to the _CorExeMain() function
so the application can run as a
the Framework is installed. In this case the MSIL
code of the virus will get control and display the
above message box. When the host application
returns the virus create yet another copy of the
file and in this case the original MSIL code will
be executed and the file will run normal. During
this process the virus creates a temporary file
with the name of the host executable and a
space. For example,
runme.exe
will have temporary file
runme
W32.Donut is a concept virus. It does not have any
significant chance to become wide spread. However
it shows that virus writers are paying close
attention to the new
to learn it before the Framework will be available
on most systems.
Look at, for example, MPQC, a parallel quantum chemistry code that several times in recent years has held the record for largest QC computation ever performed (QC is one of the most computationally demanding branches of scientific research.) MPQC is built on a modular library called SC, for "Scientific Computing," which includes all sorts of tools for parallel communications, parallel file I/O, vector and matrix math, etc. SC and MPQC are written in a very O-O style in 99% C++ (a bit of legacy FORTRAN still in there.)
Then every three weeks, you pick enough individually estimated tasks such that the total number of ideal programmer days multiplied by a previously measured velocity equals three weeks. You then say with very good confidence that in three weeks, you'll have finished those tasks. You're virtually always right, once you've got some practice and measurements behind you. If you don't hit the target exactly, you adjust the velocity for the next iteration.
Beyond that, though, any estimates you make are understood to be back-of-the-envelope and not to be trusted. You don't bet the farm on anything you don't really know. And the customers are very happy when you hit the target time after time!
It was Lockheed Martin, not NASA, that made this mistake.
Hugh Loebner himself announced this on comp.ai (a moderated group) on Monday. The below is
a reply from an "Oliver Ford." While I didn't write these words (and wouldn't be quite so rude
in public, myself) I have to say I agree with the sentiment.
---------
Why do you hold this contest? You are not helping AI research. All you
are doing is breeding "Eliza2" type chatbots that do not help AI. All
the silly things like ALICE do is match up a few words and syntactic
structures. They are a box of tricks that _do not contribute in any
way to progress in AI_
To give you an example, here is a discussion that Lasse Brandt had
with ALICE (Your "Most Human Computer". This was posted to
comp.ai.philosophy)
> What are you?
I am the latest result in artificial intelligence, which can reproduce
the
capabilities of the human brain with greater speed and accuracy.
> You're kidding. Yes, I am only joking.
> Okay, so what are you really?
I am the latest result in artificial intelligence, which can reproduce
the
capabilities of the human brain with greater speed and accuracy.
> You can reproduce the capabilities of the human brain?
No I don't think I can do it.
> If I have two apples and I give you both, how many have I got left?
How much does it cost?
> What color is the sun? Yellow.
> What color is the sun on Fridays?
White.
If you follow some of the discussions on comp.ai.philosophy, you may
see that if you stopped your contest, and invested some of your money
in institutions that could make real progress, then those who are
trying to make progress wouldn't offer things like the "$100 Minsky
Loebner Prize Revocation Prize", then you would be helping AI.
YOU ARE NOT WITH YOUR STUPID "LOEBNER PRIZE"!!!
> didn't kill C. (And yes, I realize you don't
> need special software to RUN the C programs.)
Actually, to be picky, you do need special software to run many C programs, at least those written in Visual C++: the MSVCRT.dll C runtime DLL. There are multiple versions of this, and the installers for many apps install their own. Making sure you've got the right version of this library is one of the common variants of "DLL Hell."
Not sure I like that at all.
This is really quite sad, but maybe my emotional response is tied up in historical beliefs that no longer hold. We've been buying VA boxes where I work for some years, now (y'all know they used to be "VA Research") because there historically wasn't any other place to get preassembled boxes made with bleeding-edge SMP mo-boards, certainly not with Linux already installed.
But these days, you can buy SMP from Dell, and with Linux installed to boot. Was VA's hardware business, then, a victim of Linux's success?
Once, quite recently, I received a very good final project from a very bad student. I had never seen the program before, but it was immediately obvious that they had cheated. How to prove it? I entered several of the longer identifiers at Google as search terms, and lo and behold, a link to the original program appeared as the first hit. It was a posted solution to a course assignment at University of Queensland, Australia, in the CS department. The extension student was, in fact, living in Australia at the time.
They were very shocked when I sent them their F, along with the source URL.