Correct, like 16-bit support, native RAW support, single-window GUI (that they fixed in the last version, after many years of discussion), and a name that makes sense.
It's not that the GIMP people will ever go and say "see, we told you that CMYK support is useless, who's laughing now?". Granted, almost nobody cares about CMYK support in GIMP, but the software still has a looong way to go and why shouldn't they want to have CMYK support?. I work with it almost daily as a hobbyist photographer and there are a lot of things that need to be added/fixed.
All other posts so far seem to focus on the obvious, i.e. journals are pay-walled, too expensive, researchers/reviewers do all the work, etc, but why is nobody looking for a (legal) solution to the problem? In fact, there is a solution which is really simple and will leave all parties satisfied.
Researchers do some research and want it published. They want to publish it in a known and respected journal. Let's say the journal is owned by Elsevier, because I know for a fact that my solution will work with this publisher. The researchers go through all the submission, peer review, editing and proofreading process and then they get the article published and pay-walled. So far, it's business as usual. What most people seem to ignore (because who reads the article submission agreement, right?) is that Elsevier only owns the very final version of the article, i.e. after the final formatting is in place. This means that you can take the article version with all peer-review corrections, but without the final journal-specific formatting (that includes logos and such), and make it available for free on the website of your research institute or university. This is perfectly legal and acceptable practice. In fact, lots of people are doing it, but we still like to complain about research papers being too expensive. Before slamming down 40 bucks for an article, do a Google search with filetype:pdf. Maybe you'll find it for free, courtesy of an open-minded researcher.
Also, nobody can complain: Elsevier got the article and can sell it to unsuspected researchers and libraries, the researchers got published without paying anything, and the general public got open access to the research findings. The only caveat is that there is no guarantee that the content of the article on the researcher's website it identical to the one in the journal. But I'm prepared to take the researcher's word for this, since if I'm reading their article, they already have my trust concerning the content of their research.
So there. Stop moaning and put those PDFs online, that's what I say.
Well, I was jesting, but your comment made me realize that in the case you described the programmers also didn't actually write the documentation, they programmed it so that it writes itself!
hard-wrap at column 72, and if a file extension is required
Really? My FORTRAN 77 cards had 80 columns. Where do you write your ID-sequences? What happens when, on your way to the mainframe room, you stumble and spread all the cards all around the floor? Dude, I'm telling you 80 columns is the way to go nowadays...
I can't imagine computer geeks using Word instead of their favorite text editors.
Indeed, everyone has his favorites. People have argued text editors to death. Find what works for you and use it (and stop flaming us). Also, programmers write software, not documentation. All document conversions are left to the secretary (and she may do it in any way she pleases).
Read the summary and my last comment again, carefully, and the comment by user "confused one" right below. He is using VBA not VB. Visual Basic for Applications. Not the same thing. And yes, a re-write from VBA in any compiled language will get him at least a speedup of one order of magnitude, maybe two. Add to this your advice on algorithms and he won't know what hit him.
It's not that I don't like updating the hardware because of cost or whatever, it's that I can't add more hardware any more. For a single threaded application in VBA there is nothing you can do to make it faster anymore hardware-wise. Again, algorithmic optimization is to the point but "more hardware" isn't. Even massively parallel applications hit a wall at some point where the data distribution and communication costs start to outweigh the speedup you get by the extra processors. BTW, I found out that VB can also be parallelized natively as well, but the re-write alone from VBA to VB will do the trick.
This must be the most lame piece of advice on the whole page. If we were having this discussion back in 1990, then yes, "throwing hardware at it" could be the way to go. But now PCs are thankfully in the 64bit era so programs are allowed to allocate a lot of memory (of which there is always plenty in a modern system), SSDs offer fast I/O, your standard CPU has 4 cores or more and the GHz race has stagnated. And this is a very typical PC that you can get for less than 1000 bucks. So what is he going to do to "throw more hardware at it"? Get more memory? This is not going to help unless his program is paging. Should he get more cores or distribute the computation over a network? And he is going to do this with VB how, exactly? Oh, and he never mentioned VB, he mentioned VBA, which is interpreted. By Excel. Yikes.
Using the right algorithm is correct, but it's not going to help much in this case. He'll get a moderate speedup whereas picking the right language will reduce the rum-time by orders of magnitude.
Especially for a beginner Fortran will make the most sense, IMHO. Here's why: - User-friendly syntax. Especially vector and matrix syntax and operations are very intuitive. - Strong typing will let you catch lots of errors at compile-time rather than let you hit your head against the wall at run-time. - Fast in quite a foolproof way (just remember to loop over columns first, or possibly even use the simpler Matlab-like syntax and let the compiler figure it out) - Usable with OpenMP and MPI - Massive availability of free code on the net (visit netlib). Old code also has very good chances to run out-of-the-box or with very minor changes. C is a close second to many of these points. I can't recommend C++ and Java though, as all the clutter will slow you down especially at the beginning. I also like Python a lot, but there's a catch, which brings me to my next point:
Do you have a plan of your program? How well do you know what you'll be programming? Is that going to change a lot along the way? Code changes are a lot harder to implement in Fortran and C than in Python. The abstraction level in Python really amazed me, as the interpreter would run anything I would throw at it. Mixing paradigms in Python makes scientific programming a breeze of fresh air. There are ways to make it quite fast, too! Mixing procedural and object-oriented programming is possible in Fortran as well, but by far not as versatile as in Python. In any case, if you decide to use the OO-paradigm, you have to make sure you have the whole program figured out before you start so that you can define your objects wisely. I have mixed experience with scientific OO in C++, so I can't really recommend it.
Output is also a huge topic in scientific computing. It is a pain to make live graphs in Fortran (the intel compiler has a proprietary library that somewhat helps), but you can export the raw data and use gnuplot or another tool for visualization (even Excel for small graphs). For larger 3D+time datasets there is Paraview. These things are much more fun to do in C/C++. On the other hand, you can use the C-interoperability features of Fortran 2003 and combine them! Or use f2py or PyFort and combine Fortran and Python!
It is not about erotica. It isn't even strictly about censorship (yet). It's about freedom of thought. Arbitrary rules applied to one genre today (e.g. erotica) can be easily expanded later to other kinds of stuff: "Now that we cleared the place from erotic material, it's time we did something about those blasphemous books on Islam and commie politics". Likewise, such extrapolation of concept can also be applied for expanding the rules to print books, movies and music as well. And while you can't tell a company what they should have on their shelves (real-world or virtual) a protest should be made because the big players set the status quo: dissemination of thought is thus being severely limited and after a while all people except a marginalized minority will have the impression that no alternatives exist on subjects such as religion, politics, and yes, sex.
I like having options around. Even if I don't personally care much, I think that this is important for society. I actually like having people around that are different. And I think this is something worth protesting about.
I'm no expert, but the futures price will always be higher than the amount paid to the farmer. Otherwise, there would be no reason to trade the contract in the futures exchange in the first place. The "increased demand" is a falsehood created in the trading pit (and nowadays in the computer network). There will be some price fluctuations as contracts change hands, some will make money, some will lose money, but the ultimate looser is the farmer (that gets nothing) and the end-consumer (that pays everything).
Initially, the commodities market emerged from the farmer's need to secure part of their income against calamities. They would sell their future crop at a relatively low price to an investor, but who would pay them up front for it. They would thus share some of the risk involved, but they would also give up some of the profits. So, things like bad quality produce due to bad weather or low market prices due to overproduction and low demand are no longer destroying the lives of farmers. This system also increased the liquidity of their business, which made expanding/modernizing easier. They could sell their projected produce in advance based on the acres they already owned at a price that would barely break them even and invest that money on buying more land, cultivating it, and making a profit out of this new land. And, of course, the next year they can make a profit out of the whole land, or pull the same trick again and e.g. buy new equipment etc. Futures market was actually meant to be a good thing.
Things went from good to bad and then to total shitstorm when the investors were allowed to sell their contracts to speculators who would just trade them amongst themselves for a profit. Every time profit is made by trading a contract the price of the goods that are represented by the contract rises. It's like playing the game in which a group of kids dance around a group of chairs that are one less than the number of kids. When the music stops each kid has to sit on a chair and the kid left standing is the looser. The middle-men pocket all the profits while the music plays and the speculator that holds the contract when the music stops markets the goods at a price that essentially has to cover all the profit made in the process. Needless to say, the farmer that does all the work gets paid what's on the contract which is pennies in comparison to the final price.
Now, why someone thinks that this model could work for cloud services really is beyond me and needs to get his head examined.
On the surface, yes, it does seem like a non-story. But there are some news to be had from it, both good and bad:
The good news is, as you pointed out, that the engineers that designed the system knew what they were doing. The bad news, however, is that the engineers that run the system, don't know what they are doing. Alas, stupidity always finds its way and it may be just a matter of time before a human mistake does not get caught by the engineered system. This story is a sign that something is wrong, and some people should think long and hard about this.
No, it doesn't. Just because some looney decided to ram the gates of the White House and get herself killed doesn't mean that there is something to discuss. There is no political meaning, no background story, it isn't even funny. Even if there is a deeper cause behind all this it will get covered up and we will never learn of it, unless some deepthroat/whistleblower decides to enlighten us, in which case it will become interesting. For the time being, however, there is nothing to discuss, move along.
Having said that, this is why I love reading the news (online and in print) instead of watching them on TV: one can skim over the headlines and only read the interesting bits. So the GP also didn't have a point.
but I also don't want him introduced to the ugly world of violent crime, drugs, and prostitution while he's still in kindergarten either.
Well, perhaps you should introduce you kid to these things, not by means of GTA of course, but here's my point: Chances are that your kid will sooner or later encounter a drug addict begging for change in the subway, a prostitute waiting at her corner, or even a violent crime taking place before his/her eyes depending on where you live/travel. What you should NOT do is avoid giving a direct and full explanation of what your kid saw or lie to them by making up something entirely fictional. On the other hand, if you live in a fancy suburban area, then your kid will never learn the social problems and the dangers linked to e.g. drugs, thus ending up using them or with a totally problematic behavior against the respective social groups (like, e.g. thinking that drug-addicts are mere criminals rather than people that need help), something that may extrapolate to racial and other kinds of discriminations. I'm not saying that you should take your kid for a drive through the red-light district, but you should give them some kind of introduction, like e.g. that not all people have the money that you have (due to various reasons, ranging from laziness to sheer luck etc), that people have problems that make them resort to substance abuse etc. (chocolate is a good example for your kid for substance abuse imho).
It is true that there are a lot of legacy Fortran codes in scientific computing, but chances are that they are already parallel, so this tool won't be much of a use for those supporting them. OpenMP and MPI have been in use in Fortran codes for decades. The summary seems to think that legacy Fortran codes need saving and porting. They don't. They are just fine, number crunching faster than you can say DO CONCURRENT.
Having said that, LibGeoDecomp seems quite nice if you find a piece of serial code and you want to make a rough parallel version of it without much hassle. But if you are writing new code, you can parallelize it natively. Nevertheless, I believe that we must focus our resources in developing the current compilers. The Compaq compiler died in the hands of HP and people moved mostly to the intel compiler, since the open-source community was focused in C++ at the time and the gcc was stuck with the obsolete g77. Then g95 came along, that brought us all the cool stuff of Fortran 90/95, while gfortran was being developed. Now gfortran seems decent, but it still has to match the speed of ifort in order to sit at the cool kids' table. Also, we need the features of the latest Fortran standards. I would gladly use a compiler that is feature-complete, even if the executables are relatively slow, because I will be able to switch into the mindset of the Fortran2008 standard and stop doing things the Fortran95-way while coding. They will then have all the time they need to make it more efficient.
Interesting. Where I work it's exactly the other way around. The initialization phase of each and every project includes a "patent situation analysis".
No, it doesn't. And this comes from my latest "Intellectual Property Workshop", held by our company's patent expert: Our patents are weapons, not for protecting ourselves against other patents, but for preventing our competition from using our technology, thus giving us the competitive advantage. And the company I work for is far from a patent troll, we actually do invent, use, and bring into the market new stuff on a regular basis.
So there you go. This whole "the patent system encourages innovation" is a total myth. And it's pretty much irrelevant if it was meant to encourage innovation, or if it ever used to encourage innovation, because it works on a totally different basis now.
Correct, like 16-bit support, native RAW support, single-window GUI (that they fixed in the last version, after many years of discussion), and a name that makes sense.
It's not that the GIMP people will ever go and say "see, we told you that CMYK support is useless, who's laughing now?". Granted, almost nobody cares about CMYK support in GIMP, but the software still has a looong way to go and why shouldn't they want to have CMYK support?. I work with it almost daily as a hobbyist photographer and there are a lot of things that need to be added/fixed.
most of them don't even appear on search queries anymore
I seriously challenge this point, although I'm no more a fan of paywalls than you are. Abstracts are always available and searchable.
All other posts so far seem to focus on the obvious, i.e. journals are pay-walled, too expensive, researchers/reviewers do all the work, etc, but why is nobody looking for a (legal) solution to the problem? In fact, there is a solution which is really simple and will leave all parties satisfied.
Researchers do some research and want it published. They want to publish it in a known and respected journal. Let's say the journal is owned by Elsevier, because I know for a fact that my solution will work with this publisher. The researchers go through all the submission, peer review, editing and proofreading process and then they get the article published and pay-walled. So far, it's business as usual. What most people seem to ignore (because who reads the article submission agreement, right?) is that Elsevier only owns the very final version of the article, i.e. after the final formatting is in place. This means that you can take the article version with all peer-review corrections, but without the final journal-specific formatting (that includes logos and such), and make it available for free on the website of your research institute or university. This is perfectly legal and acceptable practice. In fact, lots of people are doing it, but we still like to complain about research papers being too expensive. Before slamming down 40 bucks for an article, do a Google search with filetype:pdf. Maybe you'll find it for free, courtesy of an open-minded researcher.
Also, nobody can complain: Elsevier got the article and can sell it to unsuspected researchers and libraries, the researchers got published without paying anything, and the general public got open access to the research findings. The only caveat is that there is no guarantee that the content of the article on the researcher's website it identical to the one in the journal. But I'm prepared to take the researcher's word for this, since if I'm reading their article, they already have my trust concerning the content of their research.
So there. Stop moaning and put those PDFs online, that's what I say.
Well, I was jesting, but your comment made me realize that in the case you described the programmers also didn't actually write the documentation, they programmed it so that it writes itself!
hard-wrap at column 72, and if a file extension is required
Really? My FORTRAN 77 cards had 80 columns. Where do you write your ID-sequences? What happens when, on your way to the mainframe room, you stumble and spread all the cards all around the floor? Dude, I'm telling you 80 columns is the way to go nowadays...
I can't imagine computer geeks using Word instead of their favorite text editors.
Indeed, everyone has his favorites. People have argued text editors to death. Find what works for you and use it (and stop flaming us). Also, programmers write software, not documentation. All document conversions are left to the secretary (and she may do it in any way she pleases).
Read the summary and my last comment again, carefully, and the comment by user "confused one" right below. He is using VBA not VB. Visual Basic for Applications. Not the same thing. And yes, a re-write from VBA in any compiled language will get him at least a speedup of one order of magnitude, maybe two. Add to this your advice on algorithms and he won't know what hit him.
It's not that I don't like updating the hardware because of cost or whatever, it's that I can't add more hardware any more. For a single threaded application in VBA there is nothing you can do to make it faster anymore hardware-wise. Again, algorithmic optimization is to the point but "more hardware" isn't. Even massively parallel applications hit a wall at some point where the data distribution and communication costs start to outweigh the speedup you get by the extra processors. BTW, I found out that VB can also be parallelized natively as well, but the re-write alone from VBA to VB will do the trick.
I would love to see it done though ;-)
6. Throw hardware at it - seriously.
This must be the most lame piece of advice on the whole page. If we were having this discussion back in 1990, then yes, "throwing hardware at it" could be the way to go. But now PCs are thankfully in the 64bit era so programs are allowed to allocate a lot of memory (of which there is always plenty in a modern system), SSDs offer fast I/O, your standard CPU has 4 cores or more and the GHz race has stagnated. And this is a very typical PC that you can get for less than 1000 bucks. So what is he going to do to "throw more hardware at it"? Get more memory? This is not going to help unless his program is paging. Should he get more cores or distribute the computation over a network? And he is going to do this with VB how, exactly? Oh, and he never mentioned VB, he mentioned VBA, which is interpreted. By Excel. Yikes.
Using the right algorithm is correct, but it's not going to help much in this case. He'll get a moderate speedup whereas picking the right language will reduce the rum-time by orders of magnitude.
Especially for a beginner Fortran will make the most sense, IMHO. Here's why:
- User-friendly syntax. Especially vector and matrix syntax and operations are very intuitive.
- Strong typing will let you catch lots of errors at compile-time rather than let you hit your head against the wall at run-time.
- Fast in quite a foolproof way (just remember to loop over columns first, or possibly even use the simpler Matlab-like syntax and let the compiler figure it out)
- Usable with OpenMP and MPI
- Massive availability of free code on the net (visit netlib). Old code also has very good chances to run out-of-the-box or with very minor changes.
C is a close second to many of these points. I can't recommend C++ and Java though, as all the clutter will slow you down especially at the beginning. I also like Python a lot, but there's a catch, which brings me to my next point:
Do you have a plan of your program? How well do you know what you'll be programming? Is that going to change a lot along the way? Code changes are a lot harder to implement in Fortran and C than in Python. The abstraction level in Python really amazed me, as the interpreter would run anything I would throw at it. Mixing paradigms in Python makes scientific programming a breeze of fresh air. There are ways to make it quite fast, too! Mixing procedural and object-oriented programming is possible in Fortran as well, but by far not as versatile as in Python. In any case, if you decide to use the OO-paradigm, you have to make sure you have the whole program figured out before you start so that you can define your objects wisely. I have mixed experience with scientific OO in C++, so I can't really recommend it.
Output is also a huge topic in scientific computing. It is a pain to make live graphs in Fortran (the intel compiler has a proprietary library that somewhat helps), but you can export the raw data and use gnuplot or another tool for visualization (even Excel for small graphs). For larger 3D+time datasets there is Paraview. These things are much more fun to do in C/C++. On the other hand, you can use the C-interoperability features of Fortran 2003 and combine them! Or use f2py or PyFort and combine Fortran and Python!
You missed the point completely.
It is not about erotica. It isn't even strictly about censorship (yet). It's about freedom of thought.
Arbitrary rules applied to one genre today (e.g. erotica) can be easily expanded later to other kinds of stuff: "Now that we cleared the place from erotic material, it's time we did something about those blasphemous books on Islam and commie politics". Likewise, such extrapolation of concept can also be applied for expanding the rules to print books, movies and music as well. And while you can't tell a company what they should have on their shelves (real-world or virtual) a protest should be made because the big players set the status quo: dissemination of thought is thus being severely limited and after a while all people except a marginalized minority will have the impression that no alternatives exist on subjects such as religion, politics, and yes, sex.
I like having options around. Even if I don't personally care much, I think that this is important for society. I actually like having people around that are different. And I think this is something worth protesting about.
Correct. We will apply our rules consistently for all books grossing less than, say, $500 000 per month?
I'll just add this to the list on why I don't like eBooks. See, it's not book burning it's book deleting.
I'm no expert, but the futures price will always be higher than the amount paid to the farmer. Otherwise, there would be no reason to trade the contract in the futures exchange in the first place. The "increased demand" is a falsehood created in the trading pit (and nowadays in the computer network). There will be some price fluctuations as contracts change hands, some will make money, some will lose money, but the ultimate looser is the farmer (that gets nothing) and the end-consumer (that pays everything).
Initially, the commodities market emerged from the farmer's need to secure part of their income against calamities. They would sell their future crop at a relatively low price to an investor, but who would pay them up front for it. They would thus share some of the risk involved, but they would also give up some of the profits. So, things like bad quality produce due to bad weather or low market prices due to overproduction and low demand are no longer destroying the lives of farmers. This system also increased the liquidity of their business, which made expanding/modernizing easier. They could sell their projected produce in advance based on the acres they already owned at a price that would barely break them even and invest that money on buying more land, cultivating it, and making a profit out of this new land. And, of course, the next year they can make a profit out of the whole land, or pull the same trick again and e.g. buy new equipment etc. Futures market was actually meant to be a good thing.
Things went from good to bad and then to total shitstorm when the investors were allowed to sell their contracts to speculators who would just trade them amongst themselves for a profit. Every time profit is made by trading a contract the price of the goods that are represented by the contract rises. It's like playing the game in which a group of kids dance around a group of chairs that are one less than the number of kids. When the music stops each kid has to sit on a chair and the kid left standing is the looser. The middle-men pocket all the profits while the music plays and the speculator that holds the contract when the music stops markets the goods at a price that essentially has to cover all the profit made in the process. Needless to say, the farmer that does all the work gets paid what's on the contract which is pennies in comparison to the final price.
Now, why someone thinks that this model could work for cloud services really is beyond me and needs to get his head examined.
Firefox OS is nice, but what it really needs is a good web browser.
I understand you have kids.
How much does them go fer?
I don't think they use gophers. The fur is shearling is 99% of the cases.
On the surface, yes, it does seem like a non-story. But there are some news to be had from it, both good and bad:
The good news is, as you pointed out, that the engineers that designed the system knew what they were doing. The bad news, however, is that the engineers that run the system, don't know what they are doing. Alas, stupidity always finds its way and it may be just a matter of time before a human mistake does not get caught by the engineered system. This story is a sign that something is wrong, and some people should think long and hard about this.
Because this matters
No, it doesn't. Just because some looney decided to ram the gates of the White House and get herself killed doesn't mean that there is something to discuss. There is no political meaning, no background story, it isn't even funny. Even if there is a deeper cause behind all this it will get covered up and we will never learn of it, unless some deepthroat/whistleblower decides to enlighten us, in which case it will become interesting. For the time being, however, there is nothing to discuss, move along.
Having said that, this is why I love reading the news (online and in print) instead of watching them on TV: one can skim over the headlines and only read the interesting bits. So the GP also didn't have a point.
Not to mention the pleasure in saying "I told you so!".
but I also don't want him introduced to the ugly world of violent crime, drugs, and prostitution while he's still in kindergarten either.
Well, perhaps you should introduce you kid to these things, not by means of GTA of course, but here's my point: Chances are that your kid will sooner or later encounter a drug addict begging for change in the subway, a prostitute waiting at her corner, or even a violent crime taking place before his/her eyes depending on where you live/travel. What you should NOT do is avoid giving a direct and full explanation of what your kid saw or lie to them by making up something entirely fictional. On the other hand, if you live in a fancy suburban area, then your kid will never learn the social problems and the dangers linked to e.g. drugs, thus ending up using them or with a totally problematic behavior against the respective social groups (like, e.g. thinking that drug-addicts are mere criminals rather than people that need help), something that may extrapolate to racial and other kinds of discriminations. I'm not saying that you should take your kid for a drive through the red-light district, but you should give them some kind of introduction, like e.g. that not all people have the money that you have (due to various reasons, ranging from laziness to sheer luck etc), that people have problems that make them resort to substance abuse etc. (chocolate is a good example for your kid for substance abuse imho).
It is true that there are a lot of legacy Fortran codes in scientific computing, but chances are that they are already parallel, so this tool won't be much of a use for those supporting them. OpenMP and MPI have been in use in Fortran codes for decades. The summary seems to think that legacy Fortran codes need saving and porting. They don't. They are just fine, number crunching faster than you can say DO CONCURRENT.
Having said that, LibGeoDecomp seems quite nice if you find a piece of serial code and you want to make a rough parallel version of it without much hassle. But if you are writing new code, you can parallelize it natively. Nevertheless, I believe that we must focus our resources in developing the current compilers. The Compaq compiler died in the hands of HP and people moved mostly to the intel compiler, since the open-source community was focused in C++ at the time and the gcc was stuck with the obsolete g77. Then g95 came along, that brought us all the cool stuff of Fortran 90/95, while gfortran was being developed. Now gfortran seems decent, but it still has to match the speed of ifort in order to sit at the cool kids' table. Also, we need the features of the latest Fortran standards. I would gladly use a compiler that is feature-complete, even if the executables are relatively slow, because I will be able to switch into the mindset of the Fortran2008 standard and stop doing things the Fortran95-way while coding. They will then have all the time they need to make it more efficient.
Interesting. Where I work it's exactly the other way around. The initialization phase of each and every project includes a "patent situation analysis".
No, it doesn't. And this comes from my latest "Intellectual Property Workshop", held by our company's patent expert: Our patents are weapons, not for protecting ourselves against other patents, but for preventing our competition from using our technology, thus giving us the competitive advantage. And the company I work for is far from a patent troll, we actually do invent, use, and bring into the market new stuff on a regular basis.
So there you go. This whole "the patent system encourages innovation" is a total myth. And it's pretty much irrelevant if it was meant to encourage innovation, or if it ever used to encourage innovation, because it works on a totally different basis now.