I wonder, maybe the egg always splits when minor genetic errors happen as a method to protect the embryo. The vast majority of the time, the part that splits dies and is reabsorbed. On odd occasions, the genetic mutation is viable and becomes a twin.
That would imply that the second twin always has some sort of mutation from the first.
Sigh First, I think you're missing the point of using an open source system and applications.
Any post that starts out with an assumption about what another person thinks or doesn't think, understands or doesn't understand, is flawed from the beginning. We may have differing opinions on the merits of WINE, but don't for one minute assume anything, because you don't know.
All you are restating is the argument that postulates that WINE support may erode native application support for Linux, and that position is not unreasonable. However, it is also not unreasonable to help users to use applications they are familiar with.
As for Gimp, I use Gimp but I find it terrible to use. Sorry, its user interface sucks, its names for things is arcane at best (good thing undo works so you can try first), it makes no effort to make the most common things you want to do easy. Quick: Off the top of your head, how do you make a GIF file with a transparent background? Yea, it sucks. What sucks the most is that the Gimp guys have ignored the user interface complaints for years. Why should Google invest in Gimp when gimp doesn't seem interested in what users want?
Investing in WINE has added benefits in providing support for more applications.
Wow. Let me guess, you don't take or print pictures, do you?
I take a LOT of pictures and I have worked professionally as a photographer and worked on Polaroid's first prototype digital camera. Thank you very much.
Sure, you can mathematically go from RGB to CMYK. But if what you see on the screen only vaguely represents what was there in the RGB data, and what you get out of the printer only vaguely represents the CMYK data that was sent to it, then that does you no good.
What *you* see is less important than what the image really is. The conversion from a camera image RGB to a printer images CYMK is not a linear operation. The photo cells are not linear. Digital camera's like to pretend they are silver film, so they apply a transformation on the raw image data to make the color curves look less like silicon.
Working on a calibrated vs. uncalibrated setup is the difference between walking into a car dealership and saying "I'd like car X, in color Y, with option package Z", and getting it - maybe with a couple of tiny differences - and getting back car A in color B, with something sort of like option package Z.
That's nonsense.
If you can't hit "print" and get something out that is very nearly what you saw on the screen, then you might as well quit the game. You'll have horribly pictures, and go through insane amounts of money in time and materials.
Believe it or not, there is a whole science in image color correction. Going from photo-voltaic image sensors to dye printing on paper is not simply sending what you see on the screen to the printer. The color correction to go to your screen has nothing to do with the color correction to go to your printer. Screen RGB is based illumination, print CYMK is based on reflection.
Color management is an illusion, no pun intended. Your eyes are not calibrated and some people are more sensitive to different colors than others. If you are doing anything with color with merely your eyes, you are probably off.
Mapping from camera color space (which tries to mimic silver film), to a computational colorspace like a normalized RGB, then out to a CYMK print system (or RGB display) is a matter of math not necessarily calibration. Sure, if you can get arbitrary generic RGB to display correctly, it is a step in the right direction, but without the ability to map the source or the eventual destination correctly, it is useless.
With all the nonsense of Vista, a WINE porting strategy makes sense.
Think of it like this: Microsoft is trying to push a product (Vista) that its customers do not want. The *only* reason that any consumer would buy it is because they have virtually no choice because of Microsoft's monopoly.
Step in Google, fund WINE, work to create a Windows execution environment that supports many of those XP programs that will not work under Vista. Linux already supports many of the hardware devices that Vista does not. A working WINE may be able to eat away at Vista adoption.
What is needed is a smooth integration of Windows executables with Linux execution code. Conceptually, windows programs are nothing more than binaries that need their own environment, similar to the way one runs GNOME applications of KDE and vice versa, or better still Java programs. (Yes, I know that Java is a tokenized interpretive environment with a JIT, but this is a discussion not a compsci course.)
IMHO, the programs that should work out of the box on Linux with wine is quicken, quickbooks, peachtree, and photoshop. This would open up so many home and small business users who would love to use Linux but can't.
"Evolution" is a proven fact. Organisms evolve over time. It has been documented, proved, case closed. Again: it is a fact that organisms evolve. Score one for science and zoology.
Now, the more complex question, why do certain evolutionary steps take place? That is subject to theory and speculation, research, anthropology, and study. Did human being evolve from "lesser" primates? Almost certainly, barring some unforeseen UFO landing (8 million years to earth -- Quatermas and the pit) or divine intervention, the fossil record is pretty conclusive.
What is most interesting is the path from lesser primate to our current form, we still do not know everything. For instance, it seems that perhaps the Neanderthals re-joined the genetic pool rather than simply die off.
The problem is that religious fools require absolute certainty in everything but religion. The evolution of human beings is far more proven then genesis, but they "believe" genesis as "gospel." So, evolution and the path between single cell life and 21st century human beings has to be 100% documented with no missing steps or ambiguous lineage or it is just a wild theory and therefor no more valid than what they already believe.
They are, by definition, unreasonable. Unfortunately, "unreason" is the common sense of the day because we "elite" thinkers don't represent "real" America.
Ok, I was going to respond to this but I will not get dragged into another one of these discussions. It's worse than tabs vs. spaces, I tells ya.
I have to disagree, tabs and spaces are easily handled with an "indent" program.
On VERY LARGE projects where there are hundreds of include files and hundreds of source files, it is not convenient or even possible in all cases to find the definition of an object that may be in use.
Context and type information in the name makes it easier to quickly read a section of code:
In the above, it is clear we are assigning data to elements in an integer array from a subscript on an object, but what kind of object? Where do we find its definition?
Now, renamed it looks like this: for(int ndx=0; ndx nLimit; ndx++) {
pnUsrData[ndx] = mytypeFoobar[ndx]; }
No we can see it is a "mytype" object and we can easily find its reference and declaration.
That's what Hungarian notation provides and it is not useless, IMHO, it's over zealous use made code less readable. Rather than give hints, zealous proponents attempted to create a whole new language for specifying variable and function names that was virtually impenetrable.
The Hungarian thing - no, I still don't see it. Hungarian should not be used in any language which has a reasonable typing system;
A "typing" system doesn't help you read and understand the code. It doesn't give you any clues to the types of data being acted upon in a section of code. While I never bought in to the whole hungarian notation thing, at the time it was an "ism" that people went nuts about, it did address a specific problem with code readability. The concepts addressed by hungarian notation are still valid and some of the naming techniques are still also valid.
One can look at code and see "szKeyName" and know, without having to find the declaration, that it is a zero terminated character string used as a key. That's the crux of hungarian notation, but IMHO Microsoft went crazy with it and focused more on the notation and less on the naming, which actually made things harder to read. Like I said, I didn't go crazy, but even today I still try to incorporate some clue to the type of thing a variable represents in its name.
Hungarian notation is an example of a good idea in moderation that completely destroys itself when overused.
While I was a contractor for a now defunct contracting company, we did a contract for Microsoft. This was pre windows 3.1. We did some innovations which I think became the bases for some of the OLE stuff, but I digress, Microsoft had a spec for its "Chunky File Format."
The office format based on the chunky file format does not have a format, per se' It is more similar to the old TIFF format. You can put almost anything in it, and the "things" that you put in it pretty much define how they are stored. So, for each object type that is saved in the file, there is a call out that says what it is, and a DLL is used to actually read it.
It is possible for multiple groups within Microsoft to store data elements in the format without knowledge of how it is stored ever crossing groups or being "documented" outside the comments and structures in the source code that reads it.
This is not an "interchange" format like ODF, it is a binary application working format that happens to get saved and enough people use it that it has become a standard. (With all blame resting squarely on M$ shoulders.)
It is a great file format for a lot of things and does the job intended. Unfortunately it isn't intended to be fully documented. It is like a file system format like EXT2 or JFS. Sure, you can define precisely how data is stored in the file system, but it is virtually impossible to document all the data types that can be stored in it.
what benefit do you imagine they get from bribing, saaaay, malaria patients in africa?
Like any front for illegal activity, some portion may seem legitimate, still, however, it is well known how money pumped in to african countries ends up lining the pockets of officials more than actually helping the people it intends.
Look at the political and economic benefits that Microsoft may have gained from the transaction, what favors or access did it buy? I can't speak about Malaria, but it is a well known fact that school donations for technology always require microsoft products. That isn't charity, that's marketing.
It is no mistake that Jack Abramoff and Microsoft and the Gates foundation has done business together and has had a list of common associates and employees.
The Gates foundation is nothing more than a robber barron P.R. tool to bribe and coerce officials by charitable means. Look very carefully at where the gates foundation acts and where Microsoft needs pressure. Sure, some small percentage of what the gates foundation does needs to seem legit, but the majority of its actions clearly creates leverage for Microsoft.
A bad man can not buy a good reputation from a smart person, open your eyes.
It is nothing more than the tried and true robber barron tactic of trying to buy public good will with a faux charity. The Gates Foundation is nothing more than a tool to bribe and coerce.
I have been in the industry, professionally, since the early 80s and as a hobbyist since the mid 70s. Microsoft is the worst of the worst cheapskate companies. Gates once scolded people for copying BASIC. That *is* the core of his being. He doesn't share. He's a cheap bastard, and the only way he'll give a dollar away is if he thinks he can make two more back. Bill Gates does not understand "good will" or notions like societal benefit. He's a greedy low life who'll take what he can any way he can and hire lawyers to make sure he's never does time.
And if Mr. Gates would like to step outside and deal with this like a man, without hiding behind lawyers or corporate shields, I would be the first to roll up my sleeves.
Say what you will, I AM BIASED and I do not like the man, his politics, or his business practices. There is nothing wrong with the notion that business is a member of a community and owes the community from which it benefits. That's how capitalism won the cold war.
All that has changed in the last 25 years with the fundamentalist capitalists in power. Now it is all greed. Nothing else has a place in the economics policy dialog. Bill Gates has done a lot to further this decline of western "civilization" with the way Microsoft does business. Practices once unheard of and shameful are rewarded by wall street and politicians alike.
When you think about how the Microsoft monopoly has propped up the prices of commodity software, and how much raw cash has been siphoned out of the economy because of the monopoly it is sickening.
The "free" student editions of the development tools are nothing more than a trap. You don't actually get anything. You merely get to invest YOUR time learning THEIR system so that anything you write with THEIR tools has to run on THEIR operating system which you have to pay for,
With a free software strategy, you invest YOUR time learning about tools and systems that everyone has access to for free and can run anywhere you want, including, if it suits you, Windows.
Students of the world don't be fools. It is a transparent attempt to thwart real and substantive change in the IT industry by the free software movement.
What I find most troubling is that "copyright" was originally, in the U.S.A anyway, established as a method to provide compensation for creators to contribute to the thriving culture, with the understanding that after a while it would fall into public domain.
By "publishing" a work, the creator makes their "property" public. *If* the public finds the property useful, the owner should get paid, as he has created something of value. At what point, however, has the "value" passed from the creator to the public? Think of it this way, after some point in time, a work remains valuable less of its own worth, but more of the collective use, its effect on society, and reference to it. At that stage, the creator of the work should no longer be compensated.
The second issue is commercialization of the work. Many band members I know are all in favor of "file sharing," but don't like the idea of ever seeing their songs used for selling beer, or at least not without them being part of the negotiation and being paid.
Copyright need a real debate. There are issues of artists rights and the right to compensation if they create something special. There are also the inherent cultural ownership of popular works, quite frankly, great works become part of culture and must be owned by the society for the good of the society, much like taking land by eminent domain.
Publishing is a two sided sword, by making something public, the upside potential is that you make a lot of money. The downside risk is that you lose ownership of your work. The current copyright mafiaas want to keep the upside potential and eliminate the downside risk. Its great business if you can get it.
I have been thinking about TPB, and the problem is that there is a target. It should be possible to use a torrent type of scheme to create a website. The problems are authorship and stuff like that but not insurmountable.
Once it is removed from the requirement of an ISP and DNS, there is no action possible and no way to prosecute or sue.
That works only if you can split the problem in totally independent chunks. Communication times are still very high with off the shelf components.
And that is the science of writing a good parallel algorithm. Not all problems can be divided into a parallel paths others require a full working knowledge of the problem.
If the various parts of the problem require quick exchange of data very often, off the shelf computing fails miserably. In that case you need a true supercomputer, as in a single-OS-image machine, like the ones built by SGI, IBM, etc.
To me, that's like using assembly language to code a brute force algorithm to obtain greater speed. I've had to do it, but it shouldn't be the default option. A finely grained parallel algorithm doesn't scale well and while using tight NUMA architectures may make a certain class of problem easier to solve, usually upon further examination one can typically develop a more distributable algorithm.
In addition, even things like Infiniband have come down significantly in price recently. It is now possible to get Infiniband HCA's (4X SDR) for $125 USD new, and an 8-port switch for $750 USD.
I'm not saying that these things aren't useful, but the point I was trying to make is that "super computing" (well, lets call it highly parallel computing) is far better understood today than ever before and while we have these specialized high speed links, it is important to note that the trick to highly parallel "decoupled" processing is factoring in the data transit time. Bigger chunks of processing sent/received less often.
Look at Seti@home. Arguably one of the most powerful super computing platforms ever created, yet its transfer characteristics were ridiculous. But! it worked well, and the reason why it worked well was that the actual processing time far out weighted the data transfer time.
The same thing is true for the high speed interconnects. They only reduce the data transfer time between processing entities, they do not eliminate it. The speed increase in ethernet has been nothing but a boom for clustering as many of the strategies were designed around relatively slow interconnects and have thus "magically" become far better and more functional than they were with no work. This has challenged the specialized devices as their cost/benefit ratio continues to erode.
The economies of "COTS" "Consumer Off The Shelf" technology and the advancement of projects like MPI and PVM, as well as gigabit ethernet has made fast and effective clustering almost as easy as plugging in an Ethernet cable.
Seriously, while "programming" an application takes some chops, the infrastructure to run it is trivial.
"In my day" we had, at best, 10mbit ethernet. We had to use special drivers to get out "Dolphin Interconnects" working right. We had to really study the network topology to get the message passing right.
These days, forget about it. virtually all ethernet is interconnected via a switch so collisions are no longer an issue, switches don't cost thousands of dollars anymore, network interface cards use busmastering PCI or PCI2 (not ISA), The networks are 100x faster. The computers are 100x faster.
What's the point of a company who's products only tend to mitigate (not eliminate) the inevitable diminishing returns? Can you say buggy whip? Yea, sure, people still make them, but they are not in common use.
If the clothing can produce power, it must transfer energy. Movement must overcome the load. Energy is not free.
This is now the basis for programmable exercise clothing, electrically adjust how hard it is to walk or run to increase load. A small computer controlled load can be applied.
It's mine, and if any of you IP mofos steal it, I'll sue!!!
Years from now, when we are all feeding the huge network of computers that run our lives and the world with power generated by mere movement in the cloths we are forced to wear, we will remember that this news item did not alarm us at all.
It is not a witch hunt. A witch hunt is going after people who have not committed a crime and no crime has been committed. This is going after people who broke the law. Yes, they may have gone after a few innocent people, which is why we have a court system to determine if the defendants are guilty or innocent.
No, one of the important aspects of a "Witch Hunt" is that once one is accused, there is very little hope of being found not guilty. The power of prosecution combined with "facts" which are completely meaningless but never the less accepted far out weigh any possible defense.
In this case, the "copyright holders" can't prove anything, they accuse by spreading out a huge net, they do not care whether or not they accuse people who are not guilty. In their words, sometimes "dophins get caught in the net."
It isn't at all the fault of the people who actually broke the law?
Depends, they have the right to due process. They have the right of a fair trial.
These people distributed copyrighted material that they had no right nor authorization to distribute. Representatives of the copyright holders found out about it, and are suing. Unless the representatives found out about it in an illegal way (read: non-admissible in court), they are fully within their rights to sue.
These people are SUSPECTED of these actions. It is not clear that there is sufficient proof or any viable proof at all.
But let us not forget that that there is evidence that the people being sued have broken the law and that the plaintiffs are completely within their rights to sue, and to use the facilities granted to them by law (i.e. warrants and subpoenas).
Yes, and lets look at that evidence. It is a witch hunt.
I ranted about this last week, and while some thought it was interesting some thought I was trolling.
The "Open Source Movement" or "Open Source Initiative" as, I guess they like to call themselves are just harming the free software movement.
First, I have to vent this: OSI is the Open Systems Interconnection, or basis for the OSI Model. Do the "Open Source" guys have to add confusion to this as well?
I'm going to say this again, but I will preface it with I believe that their intentions are probably sincere, but I think that the "Open Source Movement," can we call them OSM? Three letter acronym collision is getting bad, and, well, OSI is an important one, is flawed and attempts to conflate and confuse, either intentionally or unintentionally, "Open Source" with "Free Software." Bruce Perens does this all the time, claiming how close they are.
Free Software is a movement in which you have the freedom to know what is happening on your property, you have the ability to change it, share your changes, and know that no one else can build on your shared work without also sharing.
"Open Source" make no guarantees, attempts no increase of freedom, does nothing for you the user (or developer). It is merely an attempt to make "source code" openly published which is such a minor point of "free software" that it barely has any correlation.
The only benefit of the "Open Source Movement" is the debatable "cathedral vs bazaar" principle, as regurgitated by ESR. As anyone who has worked writing software as well as participating in "open source" projects will tell you, there's a lot less order in the cathedral than ESR imagines, and there's a lot more order in the bazaar than ESR implies. Software development is software development. Linux kernel development as well as most big open source projects aren't all that different than any other software product. Software developers, back me up on this!
"Open Source" conveys no advantage without the freedoms defined in the "Free Software" movement. Even Bruce Perens admits that freedom isn't the prime motivating force. Their sales pitch is that they can't argue the freedom aspect and make a convert. Well, perhaps that is true, but to what end?
"Open Source" without the freedom guarantees is dangerous. On a minor scale, your work that you contribute may be used in a way that is counter to your motivation: one word: kerberos. On a MAJOR risk scale, merely looking at source code to which you do not have freedom can cause you to become "contaminated" and unable to legitimately contribute to free software or worse yet, work professionally. See history of the P.C. BIOS which was "Open Source" but not free. Years ago I was turned down for a job at Phoenix because I had read the IBM BIOS source code.
People who disregard the "freedoms" of the free software for "practical reasons" are making a mistake.
Yes, I agree that the free software movement has to be a little more cooperative with "non-free" software, but as it stands now, there is no philosophical or legal reason why commercial applications can not run on Linux. We just need to codify the methodology in the license that encourages vendors. That is a far cry from abandoning the principles of "free software" as the "Open Source" movement is too do, it is merely the acknowledgment that vendors need the freedom to create their products as they see fit and as long as their freedom does not diminish ours.
You know, I haven't built my own kernel since 'make menuconfig' was the most advanced method around. I got rather tired of picking and choosing what I need, just to get faster boot times.
I agree, building a new kernel is almost never needed these days, but I will not say it is never needed.
Grow up, get a real job and see what the real world is like.
I can't agree with you here. The working world if pretty unsympathetic and sometimes there are demands that require you to send a day on an arcane library. Sometimes, you need to dig out all the tools to find out WTF happened or is happening.
I wonder, maybe the egg always splits when minor genetic errors happen as a method to protect the embryo. The vast majority of the time, the part that splits dies and is reabsorbed. On odd occasions, the genetic mutation is viable and becomes a twin.
That would imply that the second twin always has some sort of mutation from the first.
Sigh
First, I think you're missing the point of using an open source system and applications.
Any post that starts out with an assumption about what another person thinks or doesn't think, understands or doesn't understand, is flawed from the beginning. We may have differing opinions on the merits of WINE, but don't for one minute assume anything, because you don't know.
All you are restating is the argument that postulates that WINE support may erode native application support for Linux, and that position is not unreasonable. However, it is also not unreasonable to help users to use applications they are familiar with.
As for Gimp, I use Gimp but I find it terrible to use. Sorry, its user interface sucks, its names for things is arcane at best (good thing undo works so you can try first), it makes no effort to make the most common things you want to do easy. Quick: Off the top of your head, how do you make a GIF file with a transparent background? Yea, it sucks. What sucks the most is that the Gimp guys have ignored the user interface complaints for years. Why should Google invest in Gimp when gimp doesn't seem interested in what users want?
Investing in WINE has added benefits in providing support for more applications.
Wow. Let me guess, you don't take or print pictures, do you?
I take a LOT of pictures and I have worked professionally as a photographer and worked on Polaroid's first prototype digital camera. Thank you very much.
Sure, you can mathematically go from RGB to CMYK. But if what you see on the screen only vaguely represents what was there in the RGB data, and what you get out of the printer only vaguely represents the CMYK data that was sent to it, then that does you no good.
What *you* see is less important than what the image really is. The conversion from a camera image RGB to a printer images CYMK is not a linear operation. The photo cells are not linear. Digital camera's like to pretend they are silver film, so they apply a transformation on the raw image data to make the color curves look less like silicon.
Working on a calibrated vs. uncalibrated setup is the difference between walking into a car dealership and saying "I'd like car X, in color Y, with option package Z", and getting it - maybe with a couple of tiny differences - and getting back car A in color B, with something sort of like option package Z.
That's nonsense.
If you can't hit "print" and get something out that is very nearly what you saw on the screen, then you might as well quit the game. You'll have horribly pictures, and go through insane amounts of money in time and materials.
Believe it or not, there is a whole science in image color correction. Going from photo-voltaic image sensors to dye printing on paper is not simply sending what you see on the screen to the printer. The color correction to go to your screen has nothing to do with the color correction to go to your printer. Screen RGB is based illumination, print CYMK is based on reflection.
Color management is an illusion, no pun intended. Your eyes are not calibrated and some people are more sensitive to different colors than others. If you are doing anything with color with merely your eyes, you are probably off.
Mapping from camera color space (which tries to mimic silver film), to a computational colorspace like a normalized RGB, then out to a CYMK print system (or RGB display) is a matter of math not necessarily calibration. Sure, if you can get arbitrary generic RGB to display correctly, it is a step in the right direction, but without the ability to map the source or the eventual destination correctly, it is useless.
With all the nonsense of Vista, a WINE porting strategy makes sense.
Think of it like this: Microsoft is trying to push a product (Vista) that its customers do not want. The *only* reason that any consumer would buy it is because they have virtually no choice because of Microsoft's monopoly.
Step in Google, fund WINE, work to create a Windows execution environment that supports many of those XP programs that will not work under Vista. Linux already supports many of the hardware devices that Vista does not. A working WINE may be able to eat away at Vista adoption.
What is needed is a smooth integration of Windows executables with Linux execution code. Conceptually, windows programs are nothing more than binaries that need their own environment, similar to the way one runs GNOME applications of KDE and vice versa, or better still Java programs. (Yes, I know that Java is a tokenized interpretive environment with a JIT, but this is a discussion not a compsci course.)
IMHO, the programs that should work out of the box on Linux with wine is quicken, quickbooks, peachtree, and photoshop. This would open up so many home and small business users who would love to use Linux but can't.
The "Theory of Evolution" is not "Evolution."
"Evolution" is a proven fact. Organisms evolve over time. It has been documented, proved, case closed. Again: it is a fact that organisms evolve. Score one for science and zoology.
Now, the more complex question, why do certain evolutionary steps take place? That is subject to theory and speculation, research, anthropology, and study. Did human being evolve from "lesser" primates? Almost certainly, barring some unforeseen UFO landing (8 million years to earth -- Quatermas and the pit) or divine intervention, the fossil record is pretty conclusive.
What is most interesting is the path from lesser primate to our current form, we still do not know everything. For instance, it seems that perhaps the Neanderthals re-joined the genetic pool rather than simply die off.
The problem is that religious fools require absolute certainty in everything but religion. The evolution of human beings is far more proven then genesis, but they "believe" genesis as "gospel." So, evolution and the path between single cell life and 21st century human beings has to be 100% documented with no missing steps or ambiguous lineage or it is just a wild theory and therefor no more valid than what they already believe.
They are, by definition, unreasonable. Unfortunately, "unreason" is the common sense of the day because we "elite" thinkers don't represent "real" America.
Ok, I was going to respond to this but I will not get dragged into another one of these discussions. It's worse than tabs vs. spaces, I tells ya.
I have to disagree, tabs and spaces are easily handled with an "indent" program.
On VERY LARGE projects where there are hundreds of include files and hundreds of source files, it is not convenient or even possible in all cases to find the definition of an object that may be in use.
Context and type information in the name makes it easier to quickly read a section of code:
for(int ndx=0; ndx nLimit; ndx++)
{
pnUsrData[ndx] = pnReceived[ndx];
}
To anyone versed in your prefixing, it is easy to see pnUsrData is an array of integers, and we are assigning values from another array of integers.
However:
for(int ndx=0; ndx nLimit; ndx++)
{
pnUsrData[ndx] = foobar[ndx];
}
In the above, it is clear we are assigning data to elements in an integer array from a subscript on an object, but what kind of object? Where do we find its definition?
Now, renamed it looks like this:
for(int ndx=0; ndx nLimit; ndx++)
{
pnUsrData[ndx] = mytypeFoobar[ndx];
}
No we can see it is a "mytype" object and we can easily find its reference and declaration.
That's what Hungarian notation provides and it is not useless, IMHO, it's over zealous use made code less readable. Rather than give hints, zealous proponents attempted to create a whole new language for specifying variable and function names that was virtually impenetrable.
The Hungarian thing - no, I still don't see it. Hungarian should not be used in any language which has a reasonable typing system;
A "typing" system doesn't help you read and understand the code. It doesn't give you any clues to the types of data being acted upon in a section of code. While I never bought in to the whole hungarian notation thing, at the time it was an "ism" that people went nuts about, it did address a specific problem with code readability. The concepts addressed by hungarian notation are still valid and some of the naming techniques are still also valid.
One can look at code and see "szKeyName" and know, without having to find the declaration, that it is a zero terminated character string used as a key. That's the crux of hungarian notation, but IMHO Microsoft went crazy with it and focused more on the notation and less on the naming, which actually made things harder to read. Like I said, I didn't go crazy, but even today I still try to incorporate some clue to the type of thing a variable represents in its name.
Hungarian notation is an example of a good idea in moderation that completely destroys itself when overused.
While I was a contractor for a now defunct contracting company, we did a contract for Microsoft. This was pre windows 3.1. We did some innovations which I think became the bases for some of the OLE stuff, but I digress, Microsoft had a spec for its "Chunky File Format."
The office format based on the chunky file format does not have a format, per se' It is more similar to the old TIFF format. You can put almost anything in it, and the "things" that you put in it pretty much define how they are stored. So, for each object type that is saved in the file, there is a call out that says what it is, and a DLL is used to actually read it.
It is possible for multiple groups within Microsoft to store data elements in the format without knowledge of how it is stored ever crossing groups or being "documented" outside the comments and structures in the source code that reads it.
This is not an "interchange" format like ODF, it is a binary application working format that happens to get saved and enough people use it that it has become a standard. (With all blame resting squarely on M$ shoulders.)
It is a great file format for a lot of things and does the job intended. Unfortunately it isn't intended to be fully documented. It is like a file system format like EXT2 or JFS. Sure, you can define precisely how data is stored in the file system, but it is virtually impossible to document all the data types that can be stored in it.
what benefit do you imagine they get from bribing, saaaay, malaria patients in africa?
Like any front for illegal activity, some portion may seem legitimate, still, however, it is well known how money pumped in to african countries ends up lining the pockets of officials more than actually helping the people it intends.
Look at the political and economic benefits that Microsoft may have gained from the transaction, what favors or access did it buy? I can't speak about Malaria, but it is a well known fact that school donations for technology always require microsoft products. That isn't charity, that's marketing.
It is no mistake that Jack Abramoff and Microsoft and the Gates foundation has done business together and has had a list of common associates and employees.
The Gates foundation is nothing more than a robber barron P.R. tool to bribe and coerce officials by charitable means. Look very carefully at where the gates foundation acts and where Microsoft needs pressure. Sure, some small percentage of what the gates foundation does needs to seem legit, but the majority of its actions clearly creates leverage for Microsoft.
A bad man can not buy a good reputation from a smart person, open your eyes.
It is nothing more than the tried and true robber barron tactic of trying to buy public good will with a faux charity. The Gates Foundation is nothing more than a tool to bribe and coerce.
I have been in the industry, professionally, since the early 80s and as a hobbyist since the mid 70s. Microsoft is the worst of the worst cheapskate companies. Gates once scolded people for copying BASIC. That *is* the core of his being. He doesn't share. He's a cheap bastard, and the only way he'll give a dollar away is if he thinks he can make two more back. Bill Gates does not understand "good will" or notions like societal benefit. He's a greedy low life who'll take what he can any way he can and hire lawyers to make sure he's never does time.
And if Mr. Gates would like to step outside and deal with this like a man, without hiding behind lawyers or corporate shields, I would be the first to roll up my sleeves.
Say what you will, I AM BIASED and I do not like the man, his politics, or his business practices. There is nothing wrong with the notion that business is a member of a community and owes the community from which it benefits. That's how capitalism won the cold war.
All that has changed in the last 25 years with the fundamentalist capitalists in power. Now it is all greed. Nothing else has a place in the economics policy dialog. Bill Gates has done a lot to further this decline of western "civilization" with the way Microsoft does business. Practices once unheard of and shameful are rewarded by wall street and politicians alike.
When you think about how the Microsoft monopoly has propped up the prices of commodity software, and how much raw cash has been siphoned out of the economy because of the monopoly it is sickening.
The "free" student editions of the development tools are nothing more than a trap. You don't actually get anything. You merely get to invest YOUR time learning THEIR system so that anything you write with THEIR tools has to run on THEIR operating system which you have to pay for,
With a free software strategy, you invest YOUR time learning about tools and systems that everyone has access to for free and can run anywhere you want, including, if it suits you, Windows.
Students of the world don't be fools. It is a transparent attempt to thwart real and substantive change in the IT industry by the free software movement.
What I find most troubling is that "copyright" was originally, in the U.S.A anyway, established as a method to provide compensation for creators to contribute to the thriving culture, with the understanding that after a while it would fall into public domain.
By "publishing" a work, the creator makes their "property" public. *If* the public finds the property useful, the owner should get paid, as he has created something of value. At what point, however, has the "value" passed from the creator to the public? Think of it this way, after some point in time, a work remains valuable less of its own worth, but more of the collective use, its effect on society, and reference to it. At that stage, the creator of the work should no longer be compensated.
The second issue is commercialization of the work. Many band members I know are all in favor of "file sharing," but don't like the idea of ever seeing their songs used for selling beer, or at least not without them being part of the negotiation and being paid.
Copyright need a real debate. There are issues of artists rights and the right to compensation if they create something special. There are also the inherent cultural ownership of popular works, quite frankly, great works become part of culture and must be owned by the society for the good of the society, much like taking land by eminent domain.
Publishing is a two sided sword, by making something public, the upside potential is that you make a lot of money. The downside risk is that you lose ownership of your work. The current copyright mafiaas want to keep the upside potential and eliminate the downside risk. Its great business if you can get it.
I have been thinking about TPB, and the problem is that there is a target. It should be possible to use a torrent type of scheme to create a website. The problems are authorship and stuff like that but not insurmountable.
Once it is removed from the requirement of an ISP and DNS, there is no action possible and no way to prosecute or sue.
That works only if you can split the problem in totally independent chunks. Communication times are still very high with off the shelf components.
And that is the science of writing a good parallel algorithm. Not all problems can be divided into a parallel paths others require a full working knowledge of the problem.
If the various parts of the problem require quick exchange of data very often, off the shelf computing fails miserably. In that case you need a true supercomputer, as in a single-OS-image machine, like the ones built by SGI, IBM, etc.
To me, that's like using assembly language to code a brute force algorithm to obtain greater speed. I've had to do it, but it shouldn't be the default option. A finely grained parallel algorithm doesn't scale well and while using tight NUMA architectures may make a certain class of problem easier to solve, usually upon further examination one can typically develop a more distributable algorithm.
In addition, even things like Infiniband have come down significantly in price recently. It is now possible to get Infiniband HCA's (4X SDR) for $125 USD new, and an 8-port switch for $750 USD.
I'm not saying that these things aren't useful, but the point I was trying to make is that "super computing" (well, lets call it highly parallel computing) is far better understood today than ever before and while we have these specialized high speed links, it is important to note that the trick to highly parallel "decoupled" processing is factoring in the data transit time. Bigger chunks of processing sent/received less often.
Look at Seti@home. Arguably one of the most powerful super computing platforms ever created, yet its transfer characteristics were ridiculous. But! it worked well, and the reason why it worked well was that the actual processing time far out weighted the data transfer time.
The same thing is true for the high speed interconnects. They only reduce the data transfer time between processing entities, they do not eliminate it. The speed increase in ethernet has been nothing but a boom for clustering as many of the strategies were designed around relatively slow interconnects and have thus "magically" become far better and more functional than they were with no work. This has challenged the specialized devices as their cost/benefit ratio continues to erode.
The economies of "COTS" "Consumer Off The Shelf" technology and the advancement of projects like MPI and PVM, as well as gigabit ethernet has made fast and effective clustering almost as easy as plugging in an Ethernet cable.
Seriously, while "programming" an application takes some chops, the infrastructure to run it is trivial.
"In my day" we had, at best, 10mbit ethernet. We had to use special drivers to get out "Dolphin Interconnects" working right. We had to really study the network topology to get the message passing right.
These days, forget about it. virtually all ethernet is interconnected via a switch so collisions are no longer an issue, switches don't cost thousands of dollars anymore, network interface cards use busmastering PCI or PCI2 (not ISA), The networks are 100x faster. The computers are 100x faster.
What's the point of a company who's products only tend to mitigate (not eliminate) the inevitable diminishing returns? Can you say buggy whip? Yea, sure, people still make them, but they are not in common use.
It was yours, until you made a public revelation. Now you're screwed unless you already filed the patent.
This post is prior art.
If the clothing can produce power, it must transfer energy. Movement must overcome the load. Energy is not free.
This is now the basis for programmable exercise clothing, electrically adjust how hard it is to walk or run to increase load. A small computer controlled load can be applied.
It's mine, and if any of you IP mofos steal it, I'll sue!!!
Years from now, when we are all feeding the huge network of computers that run our lives and the world with power generated by mere movement in the cloths we are forced to wear, we will remember that this news item did not alarm us at all.
Doh!
It is not a witch hunt. A witch hunt is going after people who have not committed a crime and no crime has been committed. This is going after people who broke the law. Yes, they may have gone after a few innocent people, which is why we have a court system to determine if the defendants are guilty or innocent.
No, one of the important aspects of a "Witch Hunt" is that once one is accused, there is very little hope of being found not guilty. The power of prosecution combined with "facts" which are completely meaningless but never the less accepted far out weigh any possible defense.
In this case, the "copyright holders" can't prove anything, they accuse by spreading out a huge net, they do not care whether or not they accuse people who are not guilty. In their words, sometimes "dophins get caught in the net."
It isn't at all the fault of the people who actually broke the law?
Depends, they have the right to due process. They have the right of a fair trial.
These people distributed copyrighted material that they had no right nor authorization to distribute. Representatives of the copyright holders found out about it, and are suing. Unless the representatives found out about it in an illegal way (read: non-admissible in court), they are fully within their rights to sue.
These people are SUSPECTED of these actions. It is not clear that there is sufficient proof or any viable proof at all.
But let us not forget that that there is evidence that the people being sued have broken the law and that the plaintiffs are completely within their rights to sue, and to use the facilities granted to them by law (i.e. warrants and subpoenas).
Yes, and lets look at that evidence. It is a witch hunt.
I ranted about this last week, and while some thought it was interesting some thought I was trolling.
The "Open Source Movement" or "Open Source Initiative" as, I guess they like to call themselves are just harming the free software movement.
First, I have to vent this: OSI is the Open Systems Interconnection, or basis for the OSI Model. Do the "Open Source" guys have to add confusion to this as well?
I'm going to say this again, but I will preface it with I believe that their intentions are probably sincere, but I think that the "Open Source Movement," can we call them OSM? Three letter acronym collision is getting bad, and, well, OSI is an important one, is flawed and attempts to conflate and confuse, either intentionally or unintentionally, "Open Source" with "Free Software." Bruce Perens does this all the time, claiming how close they are.
Free Software is a movement in which you have the freedom to know what is happening on your property, you have the ability to change it, share your changes, and know that no one else can build on your shared work without also sharing.
"Open Source" make no guarantees, attempts no increase of freedom, does nothing for you the user (or developer). It is merely an attempt to make "source code" openly published which is such a minor point of "free software" that it barely has any correlation.
The only benefit of the "Open Source Movement" is the debatable "cathedral vs bazaar" principle, as regurgitated by ESR. As anyone who has worked writing software as well as participating in "open source" projects will tell you, there's a lot less order in the cathedral than ESR imagines, and there's a lot more order in the bazaar than ESR implies. Software development is software development. Linux kernel development as well as most big open source projects aren't all that different than any other software product. Software developers, back me up on this!
"Open Source" conveys no advantage without the freedoms defined in the "Free Software" movement. Even Bruce Perens admits that freedom isn't the prime motivating force. Their sales pitch is that they can't argue the freedom aspect and make a convert. Well, perhaps that is true, but to what end?
"Open Source" without the freedom guarantees is dangerous. On a minor scale, your work that you contribute may be used in a way that is counter to your motivation: one word: kerberos. On a MAJOR risk scale, merely looking at source code to which you do not have freedom can cause you to become "contaminated" and unable to legitimately contribute to free software or worse yet, work professionally. See history of the P.C. BIOS which was "Open Source" but not free. Years ago I was turned down for a job at Phoenix because I had read the IBM BIOS source code.
People who disregard the "freedoms" of the free software for "practical reasons" are making a mistake.
Yes, I agree that the free software movement has to be a little more cooperative with "non-free" software, but as it stands now, there is no philosophical or legal reason why commercial applications can not run on Linux. We just need to codify the methodology in the license that encourages vendors. That is a far cry from abandoning the principles of "free software" as the "Open Source" movement is too do, it is merely the acknowledgment that vendors need the freedom to create their products as they see fit and as long as their freedom does not diminish ours.
You know, I haven't built my own kernel since 'make menuconfig' was the most advanced method around.
I got rather tired of picking and choosing what I need, just to get faster boot times.
I agree, building a new kernel is almost never needed these days, but I will not say it is never needed.
Grow up, get a real job and see what the real world is like.
I can't agree with you here. The working world if pretty unsympathetic and sometimes there are demands that require you to send a day on an arcane library. Sometimes, you need to dig out all the tools to find out WTF happened or is happening.