Slashdot Mirror


User: betterunixthanunix

betterunixthanunix's activity in the archive.

Stories
0
Comments
6,598
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 6,598

  1. Re:How do you know? on Study Shows Tech Execs Slightly Prefer Romney Over Obama · · Score: 2

    Well, people wondered why someone with strong political opinions would say, "I am not watching the debate tonight" when I told them just that. I do not vote major party, because no matter what they say, they do the same thing. Neither party has worked to end the "leave people with inescapable debts when they are just starting out in life" system, neither party has worked to end the "send paramilitary assault teams into innocent civilians' homes" approach to drug policy, and neither party has worked to end the standing army / military-industrial-complex money sink. Romney is not going to work to advance goals that benefit commoners, because he is just as beholden to corporations as Obama or any other major party candidate.

  2. Re:Slightly on Study Shows Tech Execs Slightly Prefer Romney Over Obama · · Score: 5, Interesting

    You'd think it would be a landslide

    Only if you are one of those people who thinks that the Democrats are not equally pro-corporate-system as the Republicans are. Just because the Democrats claim to be working for the benefit of "commoners" does not mean they actually are. In case you have forgotten, it was a Republican administration that kicked off the "bail out the companies that screwed up" plan, and a Democratic administration that put the plan into action. Let's not forget the various hand-outs to corporations that we have seen from Democrats: the DMCA, continued support for a standing army and the military industrial complex, widespread propaganda campaigns that help pharmaceutical companies (ahem war on drugs), the current campaign to make trademarks, copyrights, and patents more restrictive, etc.

    In America, your choice is between one set of right wing pro-corporate fascists, and another set. Or you can vote third party.

  3. Re:What middle? on Start-Up Wants To Open Up Science Journals and Eliminate Paywalls · · Score: 4, Insightful

    Kidding aside, I still don't see why a middle ground between free and ridiculously-high-paywall is dead from the start.

    You can think of it this way: the fewer restrictions there are on reading journal articles, the more scientific research that can be done. So free (libre and gratis) articles maximize the benefit to researchers, who are the very people writing those articles.

    Now, prior to the Internet, such a thing could not have happened, because one of the major restrictions on journal access was the ability of researchers to actually obtain copies of the journals -- without a global copying machine like the Internet, they had to rely on people who had industrial copying equipment, which was expensive to operate. Back then, copyrights made a lot of sense for scientific publishing, because they helped to monetize the publishing industry that was making articles available to researchers.

    These days, most researchers have enough equipment in their pockets to make copies of articles available to the world. So the intrinsic restrictions on obtaining articles are now gone; copyright is no longer helping to reduce restrictions, but it has actually become the most significant restriction on reading articles. Since researchers are not paid via copyrights on their articles, and since the reviewers and editors of journals are often not paid for their work, there is little reason left for us to continue to pay anyone just to read scientific articles.

    So, while copyrights will keep journals alive, and will likely keep "middle of the road" approaches alive, in terms of actually benefiting society by promoting the progress of scientific research, there is only one good way to proceed: free availability of articles, via the Internet.

  4. Re:Copyright - old problem, old solution on Start-Up Wants To Open Up Science Journals and Eliminate Paywalls · · Score: 3, Insightful

    The problem is that "an original work of your own" might not be possible for someone who has never accessed the knowledge in the library. The right answer is for the library to be funded as a public good, so that anyone has a right to make unlimited copies of any research stored in the library for whatever purpose they want, as long as they do not misrepresent modifications they made to the work (think of creative commons licensing). Research is already funded as a public good in most civilized nations (NSF grants, NIH grants, etc.), and the results of that research should also be considered a public good.

  5. Not academia on Start-Up Wants To Open Up Science Journals and Eliminate Paywalls · · Score: 1
    Academic researchers are not the ones who will be minimalized, because journals are not what matter for researchers. I know this, because I am a graduate research assistant who has published work. Now, this varies by field, but:
    1. My papers are on my website and anyone can download them.
    2. Even if for some reason I could not publish my papers on my personal webpage, I have a mountain of source code that I can publish. What do you think the world cares more about?
    3. I receive numerous emails about my work, from other researchers who are doing similar things. Those email exchanges are just as informative as the papers themselves, and I could probably touch them up a bit and create something for public consumption if I had to.
    4. If journal publishers all went bankrupt, I, like most in my field, would be relieved to be free from them. Those who would worry would be thinking about their resumes, not about the end of their profession.

    In other words, we do not need journals anymore. We have the Internet, and the only reason we haven't yet stopped publishing in journals is that we need to keep padding our resumes (publish or perish and all that nonsense).

  6. What middle? on Start-Up Wants To Open Up Science Journals and Eliminate Paywalls · · Score: 5, Insightful

    There is nothing in the middle, because technology has already rendered the journal publishing industry obsolete. It is like asking about the middle ground between cars and horses -- which is ridiculous and pointless red flag laws.

    The real answer is to get rid of the journal publishing industry entirely. We do not need them. Copyright does nothing to promote scientific research these days, and journal publishers just hide human knowledge behind a wall of copyrights. Journal publishers rarely compensate the scientists who review articles, and sometimes they do not even compensate the editors.

    Of course, journals also have names, which scientists can use to impress people. "I published in Nature" sounds impressive, and people simply assume that your work must have been "a cut above" work that was published elsewhere. After all, who has time to read so much as the abstract of an article, when you can stop at the name of the journal (and it's not as though anyone publishes the same article in 10 different journals, making only superficial tweaks to their work, right?)?

    Let's not keep our minds so open that our brains fall out. The journal publishing industry is an obsolete industry, riding on nothing but its good name and an anachronistic method of promoting the spread of human knowledge for the benefit of society.

  7. Re:ReadCube Cost on Start-Up Wants To Open Up Science Journals and Eliminate Paywalls · · Score: 2

    It is sicking to me that the publishing system gets in the way of scientific progress and selectively holds back faculty and students from smaller universities that can't afford access to high-impact journals.

    Then do something about it -- refuse to publish in journals that are not universally accessible at no cost. If there are no such resources in your field, create one. Talk to fellow researchers about setting up a system where volunteers review and edit articles, and where articles are hosted on servers at those researchers' institutions. These are not insurmountable problems given today's technology; the real issue is that nobody wants to take on the system as it exists today.

    Of course, it would not be the first time that an elitist establishment was successfully taken on:

    https://en.wikipedia.org/wiki/Osteopathic_medicine_in_the_United_States#History

  8. Just stop giving out math patents on Google and Apple Spent More On Patents Than R&D Last Year · · Score: 1

    If math is not patentable, then stop giving patents on it. No, saying that you are doing the math "BUT ON A COMPUTER" does not mean that your patent is on anything other than math. So how about we stop this nonsense and get back to promoting the progress of the software industry?

  9. Re:Lying abstractions on The Case For the Blue Collar Coder · · Score: 1

    True enough, but as C, C++, Java, etc. all lack a (convenient) built-in real number type, the fact that programmers see "float" does not really convey the notion that they are not getting a good representation of real numbers. It is also the case that programmers get a float when they give their compiler a (common) representation of real numbers, the decimal expansion: 3.14159265358979 is a floating point number, not a "real" or "rational." That is where the lie comes in.

    Perhaps a better example would have been this lie: 1/2 == 0 (or its more insidious cousin, 1/3.0, which starts a programmer out in life with a numerical error in addition to a type they did not actually want).

  10. Re:Your 2007 Comments on C++ on Linus Torvalds Will Answer Your Questions · · Score: 2

    C _forces_ a programmer to _always_ be thinking about efficiency.

    The problem is that being efficient in C is hard -- and doing it in a portable way is even harder. An example that comes to mind is CL-PPCRE, an implementation of a PCRE library for Common Lisp, which actually outperforms libpcre and Perl itself. The reason for that is that CL-PPCRE uses high level features of Lisp that are not available to C programmers, in particular, the ability of a Lisp program to invoke its own compiler (what it does is to write a Lisp program that matches the RE, then it compiles that program; a good Lisp compiler will optimize this far better than any C PCRE implementation could, because the C implementation is stuck creating tables or complex pointer structures).

    My hypothesis is this: the more high-level information you can give your compiler, the better it can optimize your programs. The problem in C is that you cannot specify high level concepts in a way that is useful to your compiler, and so your compiler has to do the best it can. Good compilers for higher level languages can do better, because the programmer can tell the compiler more about their intent; much as I criticize C++ exceptions, they are a good example of this, as the programmer is telling the compiler that a particular line of code is signaling an error or should handle some error (as opposed to have a long string of if statements, which will slow down code that is not generating errors).

    The GREAT programmer is always thinking about the high level theory AND the low level implementation

    No, a great programmer will put program logic above all else, and good languages facilitate this, which is where C++ fails. Good languages also allow programmers to specify program logic in a way that can be optimized by the compiler, which is where C fails. That is why I agree with your final statement:

    C and C++ both suck.

    Spot on.

  11. Re:Your 2007 Comments on C++ on Linus Torvalds Will Answer Your Questions · · Score: 3, Insightful

    Your program is just as prone to crash if you return garbage instead of a char pointer

    Unless you discard the return value. For example:

    char * f(void){
    if(some_condition) return "Some string";
    }

    /* ... */
    if(some_condition) printf("%s\n", f());
    else f();

    Sure, this is horrible code, but it won't crash. The equivalent C++ code will crash whenever some_condition is false, because it still expects to have an object to destroy.

    you should just use -Wall -Wfatal-errors.

    1. If everyone should use that, then those should be in the standard.
    2. That is "folklore" -- it is not standardized, it is just something every C++ programmer is "supposed to know."
  12. Re:C is the epitome of a programming language. on Linus Torvalds Will Answer Your Questions · · Score: 2

    I give C++ another 20 years before the language designers stop being retarded

    In other words, you think that in 20 years the standards committee will not be run by compiler writers and library implementors. Which is pretty optimistic, if history has anything to say about it. One of the big problems with the C++ standards committee is that it is mostly run by compiler and library implementors, and the standards seem to be made for the benefit of such people (rather than for the benefit of C++ users).

  13. Re:Your 2007 Comments on C++ on Linus Torvalds Will Answer Your Questions · · Score: 1

    are *any* operating systems (the kind that run on real bare metal) written using C++ or similar language? just saying there might be good reason most are written in assembly, C, Forth, Pascal, etc.

    I do not think any operating system is written in any single language, and that is a good thing. You see a lot of built-in utilities written in Python in RHEL/Fedora/(clones), you see lots of C# applications in Windows, etc. On the other hand, kernels are typically written in C, and I would say that is mainly because:

    1. Kernels are one of the few places where programmers are concerned with where variables are stored in memory.
    2. Kernel programmers need to do unsafe things as a matter of course.
    3. Kernel programmers do not usually have a strong need for high level features.

    Now, I think we still put a lot into the kernel that can and should be implemented at a higher level, but that is beside the point...

  14. Re:Your 2007 Comments on C++ on Linus Torvalds Will Answer Your Questions · · Score: 3, Informative

    his knowledge of C++ seems to centre around 25 year old information

    Not really. C++11 is as bad as C++98; for every problem C++98 has that C++11 solves, C++11 introduces some other problem. C++ actually has more problems than C, which is where Torvalds is spot on (he is wrong, though, in saying that C is the only sane choice for anything).

    The problem with C++ is that the standard allows programmers to do things that cannot make sense at all. What is "undefined" in C is often "a total disaster, waiting to attack you like Jack the Ripper" in C++. Here, for example, is a C function with undefined behavior:

    int f(void){}

    See, it says it will return an int, but has no return statements; thus the behavior is undefined. Now, here is a C++ version that will crash your program if you are lucky, but which might actually not crash your program:

    std::string f(void){}

    See, this time, the compiler is going to try to copy and then destroy the object the function returns. The problem is that such an object is not created, and so whatever the compiler generates will be guaranteed to do something you do not want. This might crash immediately when you call the function; it might call a destructor for some unrelated object; it might even call a member function that is not a destructor, for some object of a totally different type, and you will have no idea why your data is being corrupted until you find that one line (this is made worse by the fact that most C++ programmers will start the debugging process by checking for dangling pointers when data is being corrupted for no apparent reason, yet the offending code has no pointers).

    Of course, everyone knows that you are supposed to use a compiler that either forbids this (but the standard doesn't) or turn on warnings so that your compiler will flag it (but it might not). This is the problem with learning C++: rather than learning how to use its features, you really need to learn how not to use its features, and also how to use your compiler's optional features (so much for portability). This is loosely connected to learning C, except that in C you can do OK even if you do not know the "oral tradition" about what should never be done.

    Note that this is as true in C++11 as it was in C++98, and C++11 even lets you do things that are even worse. Look at this:

    std::function f(void)
    {
    int i = 0;
    return [&](){return i++;};
    }

    This looks like what I wanted to do: create a lexical closure that increments a counter every time it is called. What this actually does is to screw up everything, because as we all know, you were supposed to use a smart pointer and capture by value. Once again, we see that the language allows you to do something that cannot make sense, and does not force you to do "what everyone knows you are supposed to do."

    So, yes, Torvalds was right about C++. Now, C is probably the wrong choice for everything that is not the lowest level of kernel code, but at least the list of "bad things you should never do" in C is concise and mostly clear to someone who understands the abstractions presented by the language. In C++, that list is not concise, it is not obvious even to experts (example: never allow exceptions to propagate out of constructors, which is usually news even to people who know about exceptions and destructors).

    I would like to hear Torvalds' opinion on higher level languages and the model used by Emacs: a small core written in C that includes a compiler for a high level language, with the rest written in that high level language.

  15. Re:The irony... on Unredacted Documents In Apple/Samsung Case, No Evidence of 'Copy' Instruction · · Score: 3, Insightful

    Compared to all the other companies who created the technologies in the iPhone? Apple doesn't have a team of voice recognition or natural language processing experts, they don't have a materials science team, and even the core of iOS was developed outside of Apple. All Apple has contributed is making things look smooth and pretty.

  16. Re:It's a legal problem, baby, got me on the run.. on Unredacted Documents In Apple/Samsung Case, No Evidence of 'Copy' Instruction · · Score: 5, Informative

    That's for criminal cases, and only if you actually exercise your right to a trial (most people do not, and if they did, the system would be overwhelmed and utterly incapable of handling that many cases).

  17. The irony... on Unredacted Documents In Apple/Samsung Case, No Evidence of 'Copy' Instruction · · Score: 5, Insightful

    The irony of Apple suing people for patent infringement is how little work Apple actually put into developing the technologies in the iPhone and in iOS (compared too all the other companies and research labs that developed said technologies)...

  18. That is not a necesasry trade-off on How We'll Get To 54.5 Mpg By 2025 · · Score: 3, Insightful

    http://reviews.cnet.com/8301-13746_7-57506088-48/volkswagen-unveils-the-seventh-generation-golf-tsi-tdi/

    140 horsepower and just under 50MPG, or 100~ horsepower and just over 60MPG. Yes, diesel, but really it is not as bad as people seem to think.

  19. Third option: better languages on The Case For the Blue Collar Coder · · Score: 1

    But by that stage, you may as well use floating point or fixed point binary. Fixed point decimal is no better at representing fractions than fixed point binary. Nothing wil help if you need 1/3 of a penny.

    Better programming languages will help you:

    * (let ((x 1)) (describe x) (describe (/ x 3)))

    1
    [fixnum]
    1/3
    [ratio]

    Oh, look, an arbitrary precision rational number, created where we expected to see an arbitrary precision rational number. Yes, you can get a float, but you need to be explicit about wanting that because of all the problems it introduces:

    * (describe (coerce (/ 1 3) 'single-float))

    0.33333334
    [single-float]

    Yes, you will see some performance hit when you use arbitrary precision representations, although Common Lisp (and other languages) will let you give the compiler "hints" about how things can be optimized. Further, notice that the value "1" was assigned the type "fixnum" automatically -- meaning that if it were used in integer arithmetic with other fixnums, it would only become a less efficient representation if the compiler could not guarantee that the result would be in-range. Example (note that a fixnum on my system is 29 bits, and 2^29 - 1 = 536870911):

    * (let ((x 1)) (describe (+ x (coerce (parse-integer (read-line)) 'fixnum))))
    1

    2
    [fixnum]

    * (let ((x 1)) (describe (+ x (coerce (parse-integer (read-line)) 'fixnum)))) 536870911 536870912 [bignum]

    So really, you could say that we have a third choice, but that we keep ignoring it because we are afraid of the performance penalty (somehow, we seem to be less afraid of the "you could wind up with a number that is an order of magnitude wrong" penalty).

  20. Lying abstractions on The Case For the Blue Collar Coder · · Score: 3, Informative
    Floats are an example of what I have started to refer to as "lying abstractions." When programmers deal with floats, they are being told by their programming language that they are dealing with a representation of real numbers, and the only way to avoid the situation GP described is to expend mental effort remembering that a float only has some fixed number of bits. When you have a tight deadline, you are going to spend your mental energy on other things (hopefully program logic) and it is inevitable that somewhere, you will forget that floats are not arbitrary precision.

    The better answer is to use languages with arbitrary precision representations of rational numbers. You will not have to deal with integer overflows, you will not have to deal with losing precision, and you can spend more of your time developing the correct program logic. Yes, it will mean a bit more in resources -- which can be fixed later if it becomes a problem.

    There's a reason floats are implemented in hardware.

    Yeah, and it is the same reason we continue to use C and C++ to write high level programs: history. If we were starting from scratch today, using the latest technologies and research, it is almost certain that we would do things differently.

  21. Have you ever worked with grad students? on The Case For the Blue Collar Coder · · Score: 1

    Take a look at the kind of code that you see out of graduate students before you assume that degrees have any meaning at all. I am talking about people who receive PhDs in computer science, but who cannot get beyond the "one big loop with one bit switch statement" organization of programs. This includes grad students who work on "systems" rather than "theory."

  22. Re:If you don't care about people on How Steve Jobs' Legacy Has Changed · · Score: 1

    If you haven't experienced it, or it wasn't for you, you're not ever going to get it

    https://en.wikipedia.org/wiki/No_true_scotsman

    Seriously, take a moment to think about this argument that you are pushing. You are basically saying that the only people who would disagree with this approach are those who were never subjected to it (while maintaining that plenty of teachers are just doing it wrong) or that they were just not good enough for it.

  23. Re:Teams and goals on They Work Long Hours, But What About Results? · · Score: 1

    your job as a manager is to get enough out of Chris to turn a clusterfuck into a nuclear bomb

    Sure, but only to a point. If Chris is having problems that can be worked around -- maybe he needs a little more training, maybe he is better suited to higher level design problems, maybe he is a heroin junky -- then sure, a good boss will work with him and try to make him useful. On the other hand, sometimes people are just not well suited to the work they are being assigned; maybe Chris is just not a good fit for the team, maybe he is really just incompetent, maybe he lied about his certifications or degrees or knowledge. The point of the lowest level of management is to know such things, and to use their judgment (consider what I said about Catherine -- good at motivating people but not good at other management responsibilities).

    (From what I hear, though, it is more often the case that someone can be useful on a team if they receive just a bit of support from their boss -- it should be rare that there is nothing that can be done)

    Now, if for some reason a person cannot be fired even though they are just not able to handle their work -- they are the CEO's nephew, there is a law that prevents them from being fired, whatever -- then you have a bigger challenge. I am not sure what the best solution is for that sort of thing...

  24. Re:I must be coming back from too far away... on Take a Free Networking Class From Stanford · · Score: 1

    Keep in mind that "news for nerds" does not just mean "news about things that nerds are paid to do;" it also means "news about things that affect nerds or might otherwise be of interest." Considering how poor the general understanding of computers and computer networks is among the majority of the population, and the fact that the poor understanding of technology leads people to institute or accept policies and to make choices that Slashdot readers typically think are bad, a course that is supposed to help the non-technical public understand important technical topics counts as "news for nerds."

  25. Re:Excellent idea, but... on Take a Free Networking Class From Stanford · · Score: 1

    You would think so, but let's put it this way: a large number of the undergrads I have met are baffled by the Monty Hall problem, and that includes those who have actually taken probability in college. Probability is just not taught very well these days.