Slashdot Mirror


User: An+Elephant

An+Elephant's activity in the archive.

Stories
0
Comments
27
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 27

  1. Re:what I did on Learning Programming In a Post-BASIC World · · Score: 1

    Oh well.

    My two examples were really of one principle: Code's look should be a hint to its function, and violating that is a problem. The point of the first example, for instance, was not that the 'z' line is necessarily incorrect; the point was that the programmer who wrote it was unclear about her intentions, effectively saying one thing to the computer and another to human readers. This being a problem is not a myth; it's common sense.

    Your claim comes down to: No, such violations do not matter (or never happen in practice). You even claim to have some quantitative argument to support that. I doubt the argument will hold -- most such studies conflate to many factors to make strong positions on one language feature or other. And barring such data, your position seems quite irrational.

  2. Re:what I did on Learning Programming In a Post-BASIC World · · Score: 1

    coding styles or languages have nothing to do with bugs

    You have got to be kidding.

    In general, managed-code languages killed a whole category of bugs that you find in C/C++ programs.

    In particular, Python's "if it isn't properly indented it won't work" approach prevents two kinds of bugs:

    1) As noted above, the statement-intended-to-be-under-if-but-isn't.

    if (a!=b)
      x = y;
      z = t;

    2) The bugs that follow from misunderstanding weirdly formatted code. I have seen code that looks like

    if (...) {
      do_something();
      do_something_else(); }
    // Note the close brace above
      do_a_third();
      for (i=1; i<N; i++) {
        do_4();
    }

  3. RMS: "just" supporting academic boycott on RMS Cancels Lectures In Israel · · Score: 1

    In a letter to one of the Israeli Activists, RMS writes:

    I saw that you sent an E-mail message canceling
    all of your talks in Israel in the upcoming visit.

    Not all of them -- only the ones at universities. It is the
    universities that the funders object to. I have one planned talk
    which is not at a university, which I still plan to give.

    Apparently RMS is OK with an academic boycott, as long as he gets to talk to somebody.

  4. Re:He was willing to speak in Israel at all? on RMS Cancels Lectures In Israel · · Score: 1

    There are about as many Jews in israel whose origins are in Arab and North-African countries as Jews of European descent. The claim that the state was erected "in order to oppress the people of the region" is patently false.

    While Israel has its faults, many of which related to how it treats its internal non-Jewish minority as well as the semi-occupied west bank, your presentation of its origins and current state are completely misinformed and misguided.

    In particular, Israeli prime minister (not president) Netanyahu made nothing like the statement you quote for him. His vision for the end of the conflict is unacceptable to Palestinians, but that's ok; no Palestinian leader has ever accepted any solution that is consistent with the existence of a Jewish state in the region.

  5. Vaughan-Nichols is an idiot on Paid Developers Power the Linux Kernel · · Score: 1

    "What's important about how Linux and open-source software is created isn't the side issues of how its developers are perceived or that its fundamental methodology produces better software; it's the politics, collaboration and empowerment of users"

    FTFY.

  6. Re:oh goody. on C# In-Depth · · Score: 1

    Amen. Exactly what I've been saying for a couple of years. There are only two things I would like to add:

    1) You missed an important factor in Java's favor: The availability of far superior IDEs. I have left the Java world, but I can tell you that VS2008 is still inferior to Intellij Idea 3.5 (of 2002).

    2) You probably mean (what the grandpa forgot) auto-implemented properties:

    int XXX { get; set; }

    which makes the equivalent Java look like an exercise in boilerplating.

  7. Pidgin, not Pigeon on Royal Society and Creationism In Science Classes · · Score: 1

    A pigeon is a kind of bird. A pidgin is a kind of language -- one that is created as a mix of others by children. It usually turns into a full-blown language within a generation or two.

    http://en.wikipedia.org/wiki/Pidgin

  8. Re:I fail to see how is this related to XSS on Yahoo! XSS Flaw Endangers its Users · · Score: 1, Informative

    You're reading his code wrong, and third-party cookies are not required.

    It's not what I would call "XSS" (those, I thought, had to do with code on one frame or tab accessing objects on another, and are therefore browser problems, not site problems); it's a JavaScript injection vulnerability. The link generated by the Ruby script, allegedly, inserts JavaScript code into a Yahoo page. This code is then executed with the same permissions as Yahoo code, and what it does is read your Yahoo cookies and submit them to some other site as request arguments.

    The Perl code then parses the submitted data into cookies and pretends to be Firefox accessing Yahoo with your cookies.

  9. Re:SysCon sucks... on Wallace's Second Anti-GPL Suit Loses · · Score: 4, Informative

    For those who scratch their heads in wonder, like I first did: Sys-con attributes the story to "Enterprise Open Source News Desk", but in the little letters in the end they give credit: "first appeared in Client Server News". That is www.clientservernews.com, which identifies itself as belonging to "G2 Computer Intelligence", with MoG as publisher.

  10. Re:My favorite: A Christmas Carol on Explaining Complexity in Software Development? · · Score: 1

    25*10^4 lines of code, stored in 25*10^6 bytes, would make your average line 100 chars long. That is, visually, your code would indeed look like a novel...

  11. Re:65000 passwords in 8 minutes? on NASA Hacker Gary McKinnon Interviewed · · Score: 1

    His nutjobness notwithstanding, you added up communications in both directions, then compared the sum against his upload bandwidth. Unless he needs to echo back the login and denial messages (which would surprise me a great deal), he only needs (by your numbers) 135*20=3.7kB/Sec upload. Although about triple that for download would exceed a 56K modem, see the other responses about compression.

  12. What versions? on Learning Java or C# as a Next Language? · · Score: 2, Interesting

    Java 1.5 is very different from older Java versions. Likewise, C# 2.0 is a lot different from 1.0. Of the two, C# seems to be evolving in much more interesting ways (and saying this pains me, as a Unix and OSS fan). The C# 3 spec drafts (available from MS, and mentioned on Lambda the Ultimate) bring in a lot of functional programming, for example. So, educationally speaking, if you are going to learn the newer versions, I would advocate C#. Note I'm doing so mainly for its non-OO features. As long as you only care about OO (and older versions), C#'s delegates are IMO an advantage, but the difference is not that big.

    If you're asking "which is more fun", though, then you have to remember that you work in an environment, not just a language. Visual Studio .NET 2003 is downright retarded in comparison with any major Java IDE, for any purpose other than GUI programming. I don't know yet about 2005, and I have a feeling that SharpDevelop or MonoDevelop are not better than VS.NET.

  13. Re:The GPL/LGPL worries me.... on Revising the GPL · · Score: 1

    While your 1 and 2 are essentially valid, point 3 is moot: When some company manages to retroactively claim a patent on some double-click feature, it becomes illegal to distribute the software freely, under any open source license; there's nothing wrong with the GPL there, the problem is with retroactive patents in particular and software patents in general.

  14. Re:Because it is a limiting language on Why is Java Considered Un-Cool? · · Score: 1

    The specific case where I cursed the most about not having delegates in Java was a little parser which had to modify a "result object" according to "events" detected in the input string. Nothing to do with UI. There was one state object, with many methods to effect the changes, and the most natural thing would have been to install those methods as callbacks in the more general parser object. Which I ended up doing, but I had to use reflection to do it, so I passed method names (strings) instead of method objects.

    Yuck.

  15. Re:Because it is a limiting language on Why is Java Considered Un-Cool? · · Score: 1

    Let me rephrase your parent post: Wrapping the function in an interface (anonymous class) or an inner class makes for cumbersome, cluttered code. Instead of code you can look at and see what it's doing, you get a place for documentation that can go miles out of sync with the code.

    Dynamic functions, my dear totally uninformed friend, are functions built on the fly by the program, in myriad ways -- basically, composing functions, applying higher-order functions to functions (look it up), and many other interesting things. C++ supports these notions in its standard library, in a header called <functional>, because they are elements of the functional programming paradigm. Java thinks functional is not useful, because it aims at a very low common denominator of programmers -- hence its uncoolness.

    What you said earlier about passing functions around amounts to "I am not familiar with the abstractions you like, therefore they are bad". This fits in with the head-in-the-wall object-oriented approach of Java, but is not good for you. If you want to evolve as a programmer, you'll always look for new ways to abstract things.

    You were wrong about the directions of casts, you were wrong about the meaning of templates. You should at least consider the possibility that your all-Java education (yes, it shows) has led you to miss a few other useful notions.

    BTW: the templates In Java 1.5 are indeed only syntactic sugar, because the JVM doesn't support templates and is itself cast in stone. The CLR -- which I generally don't think too highly of -- does make room for templates, and their implementation in C#2.0 will be closer in spirit to C++'s). And even though Java's generics are only syntactic sugar, they are a great improvement.

  16. Because it is a limiting language on Why is Java Considered Un-Cool? · · Score: 2, Interesting

    Java is considered uncool among good programmers because good programmers seek abstractions, and factoring out commonalities. Java limits painfully the set of abstractions you can express.

    The one most painful issue for me (when I wrote Java) was function objects. Java makes using functions as arguments, variables, etc. very painful (not to mention Lisp or Python's ideas of constructing functions on the fly). C# delegates cover a whole lot of that ground. I read the articles on java.sun.com explaining why there will never be delegates in Java; they are nothing but hubris and NIH syndrome.

    Then you have the issues with collections (to be fixed, we're told, in 1.5) -- the omnipresent downcasts. Now, go read Stroustroup about downcasts. In C++, there are exactly two situations where you really need downcasts:
    1) you're interfacing with non-C++ code, sending pointers back and forth
    2) A design error
    This is because C++ supports proper type abstractions.
    Then look at Python, Perl, JavaScript, or any other dynamic language: downcasts are not needed and make no sense.

    So -- the most common operation (modulu assignment and method call) in Java is one that is not needed in dynamic languages, and indicative of a design error in proper static-typed languages.

    Java forces one to repeat oneself, because it excludes important classes of abstractions. This is why it sucks, and why it is uncool.

  17. Re:...and beware of different dialects. on Foreign Language Learning Software for Arabic? · · Score: 1

    Actually, the spoken language is different in every country, and they're all different from the written language. The written language _is_ used orally in formal contexts; these include the media.

    As an example, in the written language, "I learn" translates to something like "Ana a'limu" (where the ' stands for the "ayin" consonant which does not exist in any Western language I'm aware of); in Egyptian and Palestinian spoken Arabic, this becomes "Ana Bat'alam", a totally different inflection. This is not a pronunciation issue: It's an entirely different form.

    Besides, there are issues of pronunciation w.r.t to the written language. E.g., Arabic has a letter pronounced like "J" in most places, but "G" (as in "go") in Egypt.

  18. Re:Turing was also... on Alan Turing, the Inventor of Software · · Score: 1

    ehmm, no. Actually I'm quite straight. And I think that a man who finds his sexual orientation condemned by society is more likely than others to have issues of gender his mind. The argument wasn't that putting gender in the test was so brilliant -- from the reaction of generations later, it wasn't -- but that it was a flavor affected by his homosexuality. And in this, his homosexuality affected one of his important achievements, and was, therefore, relevant.

    Ahh, forget reasoning. You're a homophobic troll.

  19. Re:Turing was also... on Alan Turing, the Inventor of Software · · Score: 1

    I didn't mean to imply that they should have named him "Gay Genius", only to remind people about the gender thing and note that it is probably related to his sexuality.

    I probably should have put it in a reply higher up the thread... I didn't intend to contradict you at all, I agree with most of what you said before and all of what you said now.

  20. Re:Turing was also... on Alan Turing, the Inventor of Software · · Score: 1
    I don't how it's relevant to discuss Alan Turing's sexuality in the context of his contributions to computer science.
    Actually it is relevant, if you know that in the original Turing Test the computer is not just generally asked to "pass for human"; the specific setting in which it is required to do so is a game where a man and a woman are trying to convince the referee about their genders (I think they're both trying to be the woman). Now, if you can replace a computer for one of the participants without the referee noticing, you pass the test.

    You think homosexuality is irrelevant to that?

  21. Doesn't that outlaw Interner Explorer? on Top Web Businesses Oppose Utah Spyware Law · · Score: 1

    "software that display advertisements...pop-up windows... without permission"

  22. Scroll lock lives on What's A 'Scroll Lock' And Why Is It On My Keyboard? · · Score: 2, Informative
    There is a Windows application that makes Scroll Lock perform its original function on most applications (not just Excel).

    It's here.

    (Plug alert: I work for Platonix; this is a toy).

  23. Another meaning of the name Alioth on Debian's Own SourceForge · · Score: 1
    This is probably entirely coincidental, but in Hebrew, an "Alia" means "a coming up" or "a going up" -- as in servers or websites, but also as in going uphill, or prices going up, etc. "Alioth" is the plural. And this is a very fitting name for a place where people can upload software...

    Thought you'd like to know.

  24. Re:relational databases, woo hoo on Evolutionary Database Design · · Score: 2, Informative
    In my opinion, there is no reason that an object-oriented environment cannot implement the relational model, and thus be a true relational database.

    You seem to have read the site, but missed some important points... Especially, their vehement opposition to objects as they are understood in most OO settings, and inheritance as it is understood in C++ and Java.

    In particular, object Id's (=pointers, references) violate the Information Principle, one of the basic tenets of the relational model.

  25. Re:Why web based? on Open Source Requirements Management Systems? · · Score: 1

    There are quite a few reasons for making it web-based; the main one is that applications -- and this includes company-internal applications -- require maintenance and upgrades; clients on each desktop make for a sysadmin's nightmare. Depending on context, platform-neutrality may also be important.

    Most of the advantages you cite for clients can be gained through Java applets, w/out compromising any of the advantages of being web-based.