Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Comment Prior art for incomplete theories (Score 1) 200

So the one thing I take away from this is that scientists really do not have a convincing working model for current observed cosmological gravitation behaviors. This reminds me of a different time when scientists seemed to have no working theory. Back in the late nineteenth century, scientists were trying to explain how the sun generated so much energy. When you did calculations based on energy outputs from standard chemical reactions, the maximum possible output for the sun was computed to be orders of magnitude less than the actual output. It was not until nuclear fusion was properly understood in the twentieth century that an adequate theory was put together that could explain the sun's energy output.

We are again at a scenario where predicted models say there should be a lot less of a something, and we are trying to stitch in theories to try to explain how there is so much more of the something than expected. And if you believe that scientists are unhappy about this, then you do not know scientists. A baffled scientist is an excited scientist.

Comment Fast Food (Score 1) 477

Fast food always gets painted as a villain in food nutrition. For those who have seen "Super Size Me" about a person who only consumed McDonald's food for a period of time, the message from the film was strongly against fast food. However, that person not only ate a Big Mac, he ate fries and drank a large sugared drink.
What if that person only ate two big macs and drank water for his meals? I suspect his outcome would have been far better.

Comment Re:Static vs Dynamic (Score 1) 808

I realized I have a bit more to say on this topic. Since static languages tend to be associated with large projects, they also tend to have the following characteristics when compared to dynamic languages.

* Significantly longer class names and method names with the class and method names providing a bit of documentation as to their usage.
* Deeper name-spacing nesting. Typical dynamic project might go two deep, a typical mature Java package may be 6-10 deep in nesting package name-spacing.
* More investment in boiler plate classes for serialization and logic and some of the classes and variables may exist only to improve the structure and readability of the code.
* More investment in providing structured interface points between modules with declared interfaces providing a declarative model for interaction.
* A general design goal of limiting and validating what is allowed when using an API instead of adding flexibility and forgiving small defects in using an API.

I point this out because the debate between dynamic and static is not just a difference in choice of languages, it is also a choice between the general approach to writing code. In the old days, it was a debate between Perl (dynamic) and Pascal (static). Today it appears to be between Python and Java.

Comment Static vs Dynamic (Score 2) 808

Here is my take on the situation, and much of this has essentially been said by others in one form or another.

Some of the debate here seems to be a repeat of prior debates between static and dynamic languages. Dynamic languages have a lot of perks. Usually the compile speeds are awesome, building small solutions quickly is likewise awesome. They also usually make it easier to write less lines of code and the code is usually more elegant and straightforward with less overhead and few or minimal boiler plate constructions.

But dynamic languages really fall over when the project you are working on reaches a certain level of size and complexity and really die when issues of scalability and performance become primary factors. In particular, the places where I have run into trouble are the following.

* Having to refactor an API used throughout an application because of a new feature (such as instrumenting with auditing number of calls to persistent storage and time take to make such calls).
* Using an IDE to investigate somebody else's not so great code (but a vital, complex, and deeply integrated component in much larger project) that was written two years ago that needs a serious refactoring and upgrade to continue its viability. Usually part of this investigation involves using a debugger. If the code had great documentation and unit tests, it probably would not be a problem. But assuming that you are always going to work with great code is nonsensical.
* Writing code that uses optimal algorithms and minimizes usage of persistent storage. It can sometimes be quite hard to predict the performance characteristics of a particularly complex piece of dynamic code (especially one that uses "code blocks" and other functional programming styles).

Coding in static languages is more laborious, has more up-front costs, and in general can be a large pain when compared to dynamic languages. But having an IDE and compiler enforcing sophisticated contracts between various modules in your code set are vital to the long term viability of large projects.

Comment Music and Math (Score 1) 229

As a general rule, people do not listen to music because it is useful. They listen to it because they can appreciate it on many levels, from the poetry of the words, the emotional tenor of the melodies and harmonics, the driving urge of the rhythms, and the overarching story told by the composer. Nobody (or almost nobody) argues that listening to music is a waste of time because it did not help them on their job. Music is the reward not the labor, though for musicians and composers it can be both.

I think what the story about Christopher is trying to say is that mathematics can have a similar appeal for those who can learn to appreciate it. But looking at music also shows something else. People's tastes in music vary greatly. One person's greatest and most moving musical performance can be on another person's "hate list" (I am thinking of Disco when I say this). Similar things can be said about art, dance, movies, architecture, games, and sports (and probably much more can be added to this list). In my view, one of the points of a good education is to learn how to see at least a few of these things as rewards instead of as labors. For a mathematician, math is its own reward and there is an argument to be made that a large part of the world truly cannot understand that fact, especially if they have never had an intimate understanding (full on with the proofs using limits) of a theorem like the Fundamental Theorem of Calculus.

But to say that anybody can or should appreciate math is nonsense, just as saying that all persons should love Disco or Abba.

Comment Re:Customer USING, you're not COPYING (Score 1) 357

Huh. I have read the GPL 3 (which deserves its long term death compared to GPL 2) and its statement on derivative works. It is true that it does not directly address linkage.

Also, dlopen?? Personally, I believe modern virtual machine languages offer far better options.

But to say that if I use a GPL database that is built into my executable that is somehow identical to my using a GPL database that I call on the network is ridiculous, so I still see linkage as being highly relevant. One of the frustrating things I have with the new GPL is that there are no good sets of examples of what would be considered derivative and not derivative. As a particular case which I know is on the edge, in what scenarios can I invoke conversions of HTML documents to PDF using Ghostscript from a proprietary program? I do this as convenience for an end user as part of much larger program. The idea is that for a particular HTML report page, the user can get a PDF rendering of the HTML page they are currently looking at. It is a grace note in the program, but it is not a "must have" feature.

Here are some options.

I use the Ghostscript library directly. I know that violates the GPL.
I write a library module, which has a method to convert HTML to PDF and use a poor version of the conversion if I cannot find a Ghostscript library on the local machine -- the Ghoscript library is not distributed with my program, but do have a tight integration with it when I successfully load it.
I call command line shell commands to do the conversion after instructing the admin of the install program how to install an executable that does the conversion.
I call a 3rd party service across the network that does the conversion.

Which of these violate the GPL for Ghostscript? If you don't take linkage into account, I suspect that there is no coherent answer to that question.

Comment Can you copyright a language (Score 2) 357

The general question is whether you can copyright an API specification. Some have argued that you can copyright an API specification because the layout of a coherent solution to a problem in the API might have some real value in of itself. However, there is a more sophisticated version of this question. Can a language, such as Adobe's Postscript, be covered by copyright? The line between languages and APIs is getting increasingly blurred. If you look at API specifications for some Scala libraries, the library is really just creating a "holistic" extension to the Scala language, not necessarily limiting itself to providing simple APIs. Here is a simple example, I can define an API to add two complex numbers or I can extend the language so that the plus symbol will add two complex numbers. Scala lets you go down that second path a long way, and it is one of Scala's selling points that it can do this.

Given this blurring of the line between API and language, I argue that any answer you might make about APIs should apply equally to programming languages and vice versa.

My understanding is that most believe the programming languages cannot be copyrighted, but this understanding have never truly been tested in the courts. I think Adobe's Postscript has come fairly close to being tested, but Adobe never really pulled the trigger on some of its threatened legal action. However, I am having trouble getting an accurate history of Postscript licensing, so if anybody else has more details, they can certainly add to this post.

Comment Re:Bullshit (Score 1) 357

I'll keep this comment short and cryptic. Oracle is really two companies. A proprietary database company (with shallow add ons, such as the cloud) and everything else. Many comments about quality and other issues many times do not apply equally to both parts. I believe that when asserting or refuting statements about Oracle, you should explain which part of Oracle you mean and limit the scope of your comment to that part.

Comment Re:Customer USING, you're not COPYING (Score 1) 357

This is both criticism and compliment to the previous post.

The phrase

"The executable won't run at all without the library being present, it pretty clearly uses it." is wrong. Any reasonably written executable that does dynamic linking can choose or not to choose to load a library. The JDBC (Java API to connect to databases) and Crypto Libs all work on this principle. They use discovery to find the implementations of well-defined APIs.

However, if for a particular executable, the phrase "The executable won't run at all without the library being present", is another test you can make to figure out whether the executable is a derivative work of the GPL library. So following a prior post, the levels of "derivatives" measure would now look like this. The following is listed from "most derived" to "least derived".

Source code co-mingled with source code of GPL library.
Statically linked and essentially only does what is in the GPL library.
Statically linked, but GPL library is only a component of entire solution.
Dynamically linked, but the executable won't function without it.
Dynamically linked, but the executable is still quite usable without it.
Dynamically linked against small simplistic rewrite based on APIs, but can adopt the GPL version if it is present.
Inter process calls to another executable that is distributed under GPL that returns the results (example: proprietary program to MYSQL database).
Inter machine calls to another executable that is distributed under GPL that returns the results.

If I were a judge, I would say that GPL covers "derivedness" down to "Dynamically linked, but the executable won't function without it". That is why I believe the prior comment has merit, because I think it points out the dividing line for GPL coverage. As an aside, note that LGPL only prevents the first item in the list (though in very simplistic abuse cases, it may reach down to the second as well).

Comment Shakespeare vs Algebra II (Score 1) 908

I want to follow up on the comment that referenced Shakespeare.

If you can argue that everybody should read some of Shakespeare before they exit high school, then there is at least some argument for them learning Algebra II. But let us assume for a moment that good knowledge of Shakespeare is not required to exit high school, is there any other case that can be made for Algebra II being a required subject for high school graduation or admittance to college? I have not seen one yet.

On the other hand, when I hear the phrase "high school statistics class", I hear in my mind -- non-challenging class designed to allow anybody to pass with only a minimum of anything in it that one would consider to be "math".

Comment How far does the taint go? (Score 2) 181

If you got a grant from the NSF for research to create new antibiotics, would that be wrong? The NSF works for the US government and so does the NSA. There is some evidence that the politicians give more money to NSF than they might otherwise get because it is good for fundamental research science & math and science & math is good for DARPA and DARPA is good for NSA.

Somebody already asked the question. Would you take money from the NSA to feed the poor? If the answer is no, how far do you have to get away from the NSA before you would take such money? I assume that the NSA, like most large organizations, has many sub organizations, some of which probably do radically different things. I suspect that the mathematicians who work for the NSA are not involved with the data collection and were probably ignorant of the data collection until Snowden came along. So I have some sympathy for their plight. But that sympathy only goes so far. NSA is an off-budget secret organization. When have such organizations ever been morally clean? I find it ironic (and hypocritical) that normally severely left of center political types appear to be willing to work for such an organization.

I personally don't think of NSA as evil -- generally those who are given a particular job to do (such as data collection) will do that job with a zeal that pushes them beyond sensible moral limits. Many Law & Order episodes deal with the problems caused by police pushing the bounds of legality in pursuit of a criminal. I don't see those police as evil either -- even if they have broken both moral codes and laws.

Comment Wicked Cool (Score 1) 248

I personally find this is about as cool as anything I have seen in the last decade. What they are doing requires the very best engineering that mankind currently offers -- I'll take this over building 2000 feet tall buildings, or 50 mile long bridges any day.

Comment Re:Advance to Go (Score 4, Insightful) 155

I feel I have to object to the comment that Monopoly is a terrible game. I know somebody who wrote their economics undergraduate thesis on the discount model for evaluating property values in Monopoly.

But what I really object to is the claim that the game takes hours. Yes, for unskilled players it takes hours. However, top skilled players usually take about 15 minutes to 30 minutes to play a game (and many time even less than that). You buy stuff, you trade, and mortgage everything to build as much as you can, and then somebody is bankrupt in just a few round trips of a game after the house building phase starts. Skilled players roll, move, buy, pay rents, in less than five seconds usually -- so the game is very fast, until you get to the point where you have to think. You can play the game with a 10 minute clock for each player for the whole game without compromising much in the way of skill. Also, you usually agree to a draw if monopolies cannot be formed in a reasonable number of turns.

From what I have seen, the critical phase of the game occurs at the time trading occurs to form monopolies -- and this requires a great deal of skill, some of it involves being artfully persuasive. It is one of the reasons why monopoly is a cool game. Strategy and tactics sometimes are less important than being a great salesperson.

However, never bring such skilled people into a regular monopoly game. Their style of play can leave all the other players bankrupt in less than an hour and leave them wondering what just happened to their casual fun game.

Slashdot Top Deals

Understanding is always the understanding of a smaller problem in relation to a bigger problem. -- P.D. Ouspensky

Working...