Slashdot Mirror


User: brpr

brpr's activity in the archive.

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

Comments · 351

  1. Re:Nice troll. on C++ Creator Confident About Its Future · · Score: 1

    The C++ Standard wasn't finalized until 1998. We're seven years out from the Standard, and we've had good compilers for more than a couple of years now. GCC 3.0 is where I draw the line for "good C++ compilers", but Intel and other firms had good C++ compilers for a similarly long time.

    gcc 3.0? Are you serious? That version was chock full of bugs.

    Most C++ enthusiasts, myself included, will agree with you. In some ways, C++ is a lot like Perl. Larry Wall said about Perl, "The language is such a mess because the problem space is such a mess." The same applies to C++.

    The messiness of C++ has little or nothing to do with the "problem space". This is a really poor excuse for bad design. One of the measures of a good language is its ability to solve messy problems without the need to write messy code. One obvious example of a messy C++ (non-)feature which doesn't help to solve any problems is the reliance on header files. Watch how this destroys any hope of separate compilation when mixed with templates.

    You've also clearly never done serious programming with the Standard Template Library, where the algorithms are written so generically--and so consistently across different data types--that they can be plugged together in an almost limitless number of configurations.

    The STL has a consistent design, but the base C++ language doesn't. Important distinction. The STL is a decent library but it was hardly revolutionary. Type-safe generics were not a new technology at the time.

  2. Re:Translation on Havoc Pennington on GNOME 3's Future · · Score: 1

    So, in other words, you admit that you were talking crap about bookmarks?

  3. Re:Translation on Havoc Pennington on GNOME 3's Future · · Score: 1

    Erm, I'm running GNOME 2.10, and Nautilus has bookmarks. Just run it with the --browser command line option (gentoo gnome installs with an icon for this by default) and you get the normal non-spatial behaviour with bookmarks and all the other goodies. Personally, I use this mode for more heavy duty work, and the simpler spatial interface for browsing files in my home directory.

  4. Re:Just my $0.02 on Kernel Changes Draw Concern · · Score: 1

    It was later rewritten in a higher level language (I don't recall which one), but the original was definitely in VAX assembly. At the time, most OSs were written in assembly.

  5. Re:Stick with Java on Programming Language for Corporate UI Research? · · Score: 2, Interesting

    Mono seems to be pretty good in my limited experience of it. Unless you need the Windows forms API, of course. Ironically, Mono works better for me on Linux than Java (just try getting a modern JDK for PPC Linux!).

  6. Stick with Java on Programming Language for Corporate UI Research? · · Score: 3, Insightful

    Carry on using Java if you can, and switch if you have to. No point in changing language if you can avoid it (especially given how similar Java and C# are).

  7. Re:Culture Differences. on Study Shows China Tightens Internet Filtering · · Score: 1

    In America we are given the righ to free speach. And this is actually a dangious right to have. Free Speach can give ideas that people will miss interpreate and twist around, or give them ideas that could be harmful to society.

    Yes, quite right. It's dangerous if people can say whatever they like because it might give other people ideas. And having ideas is a subversive act! We must put a stop to people having ideas at all costs!

  8. Re:Non-violent resistance effective? on France May Require Biometric ID Cards · · Score: 1

    Oh, one part I forgot to reply to. The US allowed Saddam to use helicopters and posion gas to quell the uprisings. They explicitly allowed the helicopters to fly in no-fly zones (and of course, since they had complete control of the airspace, they could very easily have stopped them). The US didn't want to help the uprising, because they decided to keep Saddam in power.

  9. Re:Non-violent resistance effective? on France May Require Biometric ID Cards · · Score: 1

    If that's how you're looking at it, then phone taps on mobsters, subpeonas for financial records having to do with suspected stock fraud by corrupt CEOs - all sorts of routinely used law enforcement tools are fundamentally wrong. That's a much larger constitutional issue that overlaps with both the Patriot Act and many, many other statutes.

    Yes I agree, but so what? The Patrioat Act is a new low. Many of those "law enforcement tools" are fundamentally wrong. Remember, there's no point in having a police force to enforce the law if the police violate your rights more than the criminals do!

    My voting, then, leans towards those that would minimalize my government (and thus the taxes that it collects), and minimize its inclination and ability to interfere with myh life.

    Which party do you vote for then? Neither the Republicans nor the Democrats are going to cut public expediture.

    Because we have to. There are all sorts of compromises we make to purchase some expectation of security. I lock my doors. We license drivers. We take some people at their word when they join groups that loudly applaud the death of Americans. I don't want to heat the old saw about people who give up certain liberties deserving none. If that were true, then we'd have to be willing to live in a society with no laws, and you'd wind up with people banding together for protection, and we'd be right back to fuedalism.

    As you'll see from my sig I more or less agree with you here, but you go too far. Presumably, it follows from your argument that you won't mind if the government removes your right to own a gun (after all, you are far more likely to kill an American than most people living in the Middle East).

    Naturally the government has to be given a certain amount of power over its citizens or it wouldn't be the government. However, the powers currently granted to the US (and many other) governments are grossly disproportionate to the threat of terrorism, which has been more or less at the same level for several decades.

    How convenient! That's exactly what they're in the middle of doing. It seems very familiar: just like the Germans and Japanese seem to have their own governments, the Iraqis and Afghans are building their own. They're actually going to have a much easier time of it by not having to shoulder all of security work that we're helping with, which is why we'll be there for a while.

    Well, the Iraqis don't seem to think the US is giving them an easier time of it, since the vast majority of them want the US out. The real reason the US is staying is because democratisation in Iraq is a purely cosmetic element of the US strategy there. It's possible public opinion (both in Iraq and elsewhere) might pressure the US into giving the Iraqis something resembling democracy, but we'll have to wait and see. As the occupiers the US are in the commanding position of being the only force capable of securing a government, or training and equipping a replacement force to perform this function, so they currently have an effective veto on Iraqi government decisions. (A democracy, remember, involves considerably more than simply electing a group of people and referring to them as "the government" in casual discourse).

  10. Re:Non-violent resistance effective? on France May Require Biometric ID Cards · · Score: 1

    Not being much of a free-market capitalist, I tend to think of most of the "interference" of European governments in the economic affairs of their citizens as a good thing. You're correct that the US has, in the long historical perspective, a far better record on human rights than Europe. However, the Patriot act is an awful piece of legislation which (as you point out) extends existing illegitimate uses of state power to a frightening degree, as well as introducing entirely new powers. Extensions of state power in the aftermarth of IRA bombing were just as illegitimate. You're right that governments often use the threat of terrorist attacks as an excuse to extend their powers, but they shouldn't.

    Judicial oversight in the case of the Patriot Act is largely irrelevant -- there are some actions which judges should not be allowed to authorise. It's also not as pervasive as you suggest. For example booksellers may lose the right to challenge subpeonas for sales records, and judicial oversight means very little if the judge only hears the case for the prosecution (*). Again with secret searches (which are permitted by the act), there may be some kind of judicial oversight, but it is meaningless if the person searched can't challenge the legitimacy of the search in court (they are not even allowed to say that the search occured, an outrageous restriction on free speech). The FBI is not required to show that they have reasonable grounds for suspicion in order to have a search authorized, so the judge is perfectly within his authority to rubber-stamp more or less any search.

    Few of the new powers I've just mentioned are in fact "extensions" of existing powers. I don't recall them being used against child pornographers, or indeed anyone else.

    Then by who? France said that it would use its UN Security Council veto power to veto any explicit call for armed forces no matter what, under any circumstances...

    <snip>list of unpopular countries and organizations</snip>

    I was suggesting that the Iraqis did it by force, as they would have done already if the US hadn't stopped them. They are, after all, the only people who have the right to install an Iraqi government.

    (*) Obviously law enforcement agencies requesting warrents are not technically "the prosecution".

  11. Re:Non-violent resistance effective? on France May Require Biometric ID Cards · · Score: 1

    No, I don't think so. American attitudes towards constitutionally structured governance by the people runs deep, and is freshly reviewed every few years. Certainly there is the risk of some more EU-style government heavy-handedness as people are willing to trade perceived comfort and safety for some liberties, but I think we'll stay ahead, liberty-wise, on that front.

    Ahem, I think the US is more at risk from a loss of civil liberties than Eurpope at the moment. (Patriot Act, etc.)

    Against a guy who thinks and acts that way, the policy of removing him from power certainly did ultimately require the tactic of force.

    But not necessarily US force.

  12. Re:Students != Scripts on Computer Program Makes Essay Grading Easier · · Score: 1

    Professor should not be hired to churn out research papers or novels, or to go to symposia or meetings, or to sit in their offices and contemplate their navels all day - they should be employed to teach fucking students. Anything else is a pleasant distraction from their essential role in society. Apologies if this position seems a little aggressive, but I went to a university where CompSci professors were chosen based on their ability to churn out papers and make the department look good, and it was a fucking disgrace.

    You're going a bit too far here. If it wasn't for professors doing research, there wouldn't be anything to teach you.

  13. Re:Not the world's best plan on Computer Program Makes Essay Grading Easier · · Score: 1

    It's possible to train computer programs to translate text between languages by feeding examples of good and bad translations to pattern-recognition algorithms, which start with simple rules.

    No it isn't. At any rate, not to any interesting level of competence.

    This often works because that's how human judgement works: we learn just about everything by example and trial-and-error

    Well, learning is by definition something which relies on examples (or more broadly, empirical data), otherwise it isn't really "learning" in the usual sense of the word. This obvious fact tells us absolutely nothing about how learning is actually accomplished: it might proceed by a simple and highly-trained process of pattern recognition, or then again it might not. No-one really knows, and there's evidence pointing in both directions. In the case of language, there's massive evidence for a strong innate component (and you don't have to be an orthodox Chomskyan to believe this).

    There seems to be a common meme on Slashdot that "neural networks" are basically all there is to the brain. The belief is that (almost?) all learning can be accomplished by training networks over a large set of input-output pairs [*]. Now, this belief is just an article of faith. There is very little evidence which suggests that learning is actually so simple a process.

    [*] Of course this is one very dodgy thing about the process by which artificial networks are usually trained -- they are given the correct answers as examples. It is hard to see how the human brain could get prior access to the correct answers.

  14. Re:This story is a dupe, but on Metafor: Translating Natural Language to Code · · Score: 1

    Mono is really the first sensible language (Java doesn't count; it's not free) that has any mindshare for Linux, and let's face it the Linux world needs it.

    1) Mono is not a language.
    2) What about Python?

  15. Re:Naive view of natural language semantics on English To Code Converter · · Score: 1

    However, "John disliked Bill." is more likely the John object modifying it's on property of 'liking/disliking' the Bill object. The Bill object need not do anything based on the precise meaning of that sentence. If you had said that "John dislikes Bill, because Bill stole his ball." then it becomes clear that there may be a cause for John taking on the property of dislike. However, that is semanticly different than saying "Bill made John hate him."

    I agree, that's why I added "(indirectly)". The point is that there must be some cause for Bill disliking John, and it's probably John himself, or something indirectly related to John (e.g. John is black and Bill is a racist).

    As for "The ball is near John's foot." I don't think it is clearly absurd to give the properties you've listed, as long as we define 'near' apropriately using some sort of measurement. We should take for granted that if we're talking about positioning, we're dealing with some sort of 2d or 3d geometry. We must, of course, define near as some sort of distance threshhold. So, Foot or Ball needs a definite position, or they are simply always within that relative distance to each other. Without any more code around it, it most assuredly makes no sense. But, that's kind of a given.

    Right, but that means you have to treat lots of properties with special code. Now who is going to write that special code when Joe User wants to add a new property to the vocabulary? The examples in the article seemed to show a more straightforwward translation between sentence structure and OO structure, where you would get the kind of problems I was describing.

  16. Naive view of natural language semantics on English To Code Converter · · Score: 1

    I can't find anything about the details of this system in the links, but if it really is using such a simplistic mapping between sentence structure and OO design, it's going to get in trouble. For example, consider the fact that subjects of different verbs can have completely different semantic roles:

    John angered Bill.
    John disliked Bill.

    Translated into OO language, the first sentence talks about the John object modifying a property of the Bill object, but the second sentence talks about the Bill object (perhaps indirectly) modifying a property of the John object. I suppose it's possible that the system's database of common sense knowledge could be used to get around this sort of issue.

    However, there are more difficult situations, such as the one described by this sentence:

    Bill and John hate each other.

    It's not clear whether this situation should be represented by giving Bill the "hates John" property and John the "hates Bill" property, or by having a list of hates(X, Y) statements separate from the properties of individual objects (this would be much more efficient in some cases). The problem is more acute with some predicates than others; consider the following:

    The ball is near John's foot

    It is clearly absurd to give the ball a "near John's foot" property and John a "near the ball property" -- imagine how many properties each object would have to have if there were 100 objects in the same space!

    Finally, if you wanted to tell the system about a new verb, you'd have to have some way of telling it about all the verb's subtle semantic properties.

    It's possible that the system solves these problems, but I'll believe it when I see it. Natural language interpretation is very, very hard.

  17. Re:aha! LISP! on Miguel de Icaza Explains How To "Get" Mono · · Score: 1

    Someone already has, it's called Dylan. And it's not a problem anyway :P

  18. Re: I don't "get" Mono either. on Miguel de Icaza Explains How To "Get" Mono · · Score: 1

    Sorry, I've repeated my mistake of using "extern" instead of "export".

  19. Re: I don't "get" Mono either. on Miguel de Icaza Explains How To "Get" Mono · · Score: 1

    Nobody ever said C was expressive. If you don't think C++ is as expressive and powerful as, say, ML, you know very little about it.

    I'm perfectly aware of Boost. ML I find generally more expressive because it has type inference, a more compact syntax, garbage collection and a built-in list type. Most importantly, it has proper higher order functions and closures, which are a pain to simulate in C++, even with the boost lambda library.

    I do agree that with boost, C++ is bearable as a modern programming language, and is at least somewhat comparable to ML.

    C++ the language is mature. G++ is mostly there. Even "two years ago" it was in good enough shape that hundreds of the programs that come with your favorite distro are written in it -- many times more than all those in Perl, Python, Java, and C# combined. That you haven't noticed is because they work with no fuss. (Do you run *any* Java program that is not obviously a Java program?)

    Sure, C++ is good enough. Your original argument seemed to be that C++ was so good that Mono wouldn't be an improvement. This seems wrong to me, for the reasons I've already given. There are plenty of flaws in C++ which Mono (perhaps) doesn't suffer from. You point out that C++ programs tend to run more transparently than Java/C# programs. To the extent that this is true, it's an advantage for C++, but it surely has many other disadvantages compared to these newer languages.

    Support for "export" (not "extern") turns out not to be very important for portability, as very few other compilers support it either. Most people who think they want it are mainly concerned with not exposing their source code; which is not of much interest in the Free Software world.

    Read what I wrote more carefully. I noted that C++ code can be made portable by not using extern. The problem I pointed to was that separate compilation breaks down if you can't use extern.

    I should point out that I'm no big fan of C# or Java, being more of a functional programming groupie. But although they don't have such sophisticated type systems as C++, Java and C# are far more productive for most programming tasks, and are certainly worth having as alternatives to C++.

  20. Re:I don't "get" Mono either. on Miguel de Icaza Explains How To "Get" Mono · · Score: 3, Insightful

    C#, like Java, was designed to solve problems we don't have in the Free Software world. The compromises that are designed into the language make it, like Java, inherently less useful for Free Software than languages designed purely for performance and expressiveness.

    Even by the standards of the times C was just a straightforward block-structured procedural language. Compared to predecessors such as Lisp or even Algol it's not especially expressive. (I'm not bashing C here, I quite like it. But I wouldn't say it was particularly expressive, and it wasn't obviously designed to be so.)

    We already have a powerful, mature, and efficient language, proven effective for myriad successful Free Software projects. It's called C++.

    OK, efficient is reasonable, powerful is debatable, but mature?? It's only very recently that gcc has come close to supporting the C++ standard properly (and the same goes for the MS compiler, of course). C++ compilers in general have a history of being buggy and incomplete, going right back to the pre-standard cfront from AT&T.

    Miguel's unhappy experience with Microsoft's buggy pre-standard compiler (mislabeled "C++") has unfortunately led him astray. We need not be similarly misled.

    Two years ago, was g++ in a much better situation? You'll note that virtually no current compiler supports the extern keyword for templates, so C++ programmars still have to use a crippled language to get cross-compiler compatibility (if you're using a lot of templates, you pretty much lose the ability to compile modules separately).

  21. Re:Unacceptable mistakes on Regular Expression Recipes · · Score: 1

    OK, so there are tricks which allow counting. Try this one. A sequence of As and Bs, such that the first half of the sequence is the reverse of the second half. Again, if Perl regexps can't do this, they're not even as powerful as CFGs.

    (Note that I'm just trying to show that Perl regexps are less powerful than CFGs here. Whether or not this is the case, it is clearly not the case that they're Turing complete. I thought it might be more convincing to show that they're nowhere near being Turing complete).

  22. Re:Unacceptable mistakes on Regular Expression Recipes · · Score: 1

    As a challenge, can a Perl regexp match a string of the following form?

    A^n B^n C^n (i.e. X number of As followed by X number of Bs followed by X number of Cs, for any single value of X).

    If not, Perl regexps can't be more powerful than CFGs, and are consequentially not Turing complete.

  23. Re:Unacceptable mistakes on Regular Expression Recipes · · Score: 1

    Sorry, I didn't make myself clear. Of course the syntax of the Perl regexp could be parsed, but the language described by the Perl regexp could not be parsed, in the general case.

    Either Perl regexps are not Turing complete, or Larry Wall has solved the halting problem.

    And on the more practical side, Perl regexps are matched with strings efficiently. This would not be possible if they were (much) more powerful than CFGs, which are definitely not Turing complete.

  24. Re:Unacceptable mistakes on Regular Expression Recipes · · Score: 1

    (Researching this post [yes! researching!] I found a couple of mailing list posts from various peoplel suggesting that Perl regexes are Turing complete. If this is true [which I have not established], it's because Perl extends the concept of REs in various ways)

    If Perl "regular expressions" were Turing complete, it would not be possible to parse them (parsing would reduce to the halting problem). They may well be more powerful than real regular expressions, but they are probably less powerful than CFGs.

  25. Re:Visual Languages are Lacking on True Visual Programming · · Score: 1

    Everybody knows that the Egyptians used a written language of symbols referring to entire concepts rather than words. However, many people do not know that in every day practice, the Egyptians developed a linear form of the same language.

    Not quite right. The alphabetical form was not just used in "every day" practice, but also in official documents, inscriptions, etc. The alphabetical form developed out of a very early pictogram system, and in fact still used a small number of pictograms. To my knowledge, the Egyptians never had a fully developed pictogram system (i.e. they developed alphabetical writing before they developed anything close to Chinese or Japanese orthography).

    I think it is the case, however, that the symbols used in inscriptions were far more decorative and complex than those used for keeping records, etc.