Slashdot Mirror


User: Timothy+Brownawell

Timothy+Brownawell's activity in the archive.

Stories
0
Comments
1,507
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 1,507

  1. Re:Welcome to the world of OSS on Contributing To a Project With a Reclusive Maintainer? · · Score: 1

    Better than a programmer disappearing off the face of the earth leaving code he wrote on a workstation backup in a closet somewhere, were it will never be able to be used by anybody else.

    Why? Are we all pack-rats?

    Writing new code would take a certain amount of effort. Making sense of the code and trying (and failing) to locate the maintainer also takes a certain amount of effort. How do we know the first is always greater than the second?

    Proliferation of dead projects also clutters search results, and should make it harder to find the live projects.

  2. Re:Memes on Ten Things We Still Don't Understand About Humans · · Score: 4, Interesting

    Does anyone else just immediately stop listening when they see words like 'meme'?

    Perhaps 'meme' is a fnord.

  3. Re:fnord (snippets) on Bjarne Stroustrup On Concepts, C++0x · · Score: 1

    A few bits from the "article" that seemed interesting, like the interviewer was being a bit of an ass. Approximately every other paragraph is supposed to be italicized, and in fact does have the <i></i> tags, but that somehow doesn't seem to be showing up.

  4. Re:still no function pointers for me :( on Bjarne Stroustrup On Concepts, C++0x · · Score: 1

    In my opinion, the main thing lacking in c++ is that it's not possible to get a pointer to a function in a class instance. This meant that any code based on the windows API could not be "eloquently" wrapped into objects.

    What do you mean? Are you saying that "void(X::*y)(int)" (declare y as a pointer to a member function of class X that takes an int and returns void) doesn't exist? That classes can't contain function pointers as member variables? Something else?

  5. Re:Why not just do duck typing? on Bjarne Stroustrup On Concepts, C++0x · · Score: 1

    And, BTW, duck typing is *not* the same as type inference, which is what you see in ocaml and Haskell.

    I know the difference, it looks like I just misremembered what Ocaml can (or can't) do:

    # type aaa = X | Y | A;;
    type aaa = X | Y | A
    # type aaa = X | Y | A;;
    type aaa = X | Y | A
    # type bbb = X | Y | Z;;
    type bbb = X | Y | Z
    # let foo e = match e with X -> 5 | Y -> 4 | _ -> 0;;
    val foo : bbb -> int =
    # let bar e = match e with X -> 5 | Y -> 4 | A -> 2 | _ -> 0;;
    Error: This pattern matches values of type aaa
    but a pattern was expected which matches values of type bbb
    #

  6. Re:Why not just do duck typing? on Bjarne Stroustrup On Concepts, C++0x · · Score: 2, Insightful

    Only since Python and particularly Ruby fans started using it as a way to market a feature in their pet language (dynamic typing coupled with dynamic dispatch) that's been available in existing languages for *many* years. It's a marketing term, nothing more. It adds nothing to the actual discussion, other than to sound all neat and cutsey.

    Standardized terminology adds quite a lot to any discussion.

    And I would define it as dynamic typing and binding. Nothing more. The language determines, at run time, how to bind a method call to an object. It's just that simple.

    What do you call what Ocaml does?

    Templates, on the other hand, are realized at compile time.

    C++ templates are a turing-complete functional programming language, and are executed by the compiler. What you think of as "compile time" is the same as "runtime" for the templates.

    What I should've said is that duck typing == dynamic dispatch + dynamic typing. Either way, it's hardly a new idea. And it's an idea that does *not* fit in a language that's meant to be strongly, statically typed (eg, C++).

    The principle of duck typing says that you shouldn't care what type of object you have - just whether or not you can do the required action with your object.
    CeePlusPlus: Templates can create compile-time polymorphism via DuckTyping (as used in AndreiAlexandrescu's ModernCeePlusPlusDesign as well as Microsoft's ActiveTemplateLibrary).
    In computer programming, duck typing is a style of dynamic typing in which an object's current set of methods and properties determines the valid semantics, rather than its inheritance from a particular class or implementation of a specific interface. [...]"when I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck."

    Duck typing does not require dynamic dispatch, and does not (strictly) require dynamic typing. All it requires is that what matters is "I have a multiply() method" rather than "I am a number".

  7. Re:Why not just do duck typing? on Bjarne Stroustrup On Concepts, C++0x · · Score: 1

    First, what you young bucks like to call 'duck typing', as cutesy as that sounds, the computing science world calls 'dynamic dispatch'. And it's hardly a new concept (see Smalltalk for a classic example). But, hey, what's old is new and shiny again, right?

    No. Dynamic dispatch is what for example virtual methods (or multimethods) do, where which version of the code gets called depends on the types of the arguments. Duck typing is where instead of you telling the compiler what types of arguments are allowed, it either figures it out entirely on its own (ocaml, I think) or just checks at runtime instead (dynamic languages).

  8. Re:BIG need to dramatize on Bjarne Stroustrup On Concepts, C++0x · · Score: 1

    Concepts in C++ should have had the same effect for Generic Programming in C++ that C++ had for Object Oriented Programming in C. The should have democratized generic programming and brought forth a renaissance in C++ library design. Instead, petty politics killed the most exciting change to C-like languages in years.

    Given "Things could have been much worse. In particular, we could have made the seriously flawed "concepts" part of the standard." and "By building directly on the pre-Frankfurt concepts and applying modifications along the lines I suggested in "simplifying the use of concepts" we could have had something acceptable (IMO) within months, but that will not happen now. Instead, we must re-evaluate the basics of concepts and rebuild more or less from scratch (relying on the experience gained so far)â"and experiment. My stated estimate is that that will take on the order of five years, but that it will happen.", I'm thinking that concepts being delayed (not killed) means they'll actually be significantly better that they would have been without being kicked out of this particular revision of the standard.

  9. Re:Concepts aren't enough! on Bjarne Stroustrup On Concepts, C++0x · · Score: 1

    Second thing on my must-have list is a pre-pre-processor. I'm tired of writing all these header files all the time. I want a way to generate them programmatically, at compile time.

    That would actually be kinda cool. Have something that will take your file and pull out function declarations, pull out the public parts of your class definitions, and rewrite your classes to use the pimpl idiom to hide the private parts properly. It'd also be good to have it get rid of slicing problems, but first you'd have to be able to overload the "." operator and determine the base classes of your template parameters.

  10. fnord (snippets) on Bjarne Stroustrup On Concepts, C++0x · · Score: 1

    Which conclusions do you draw, if any, from the failure of concepts? How do you feel about this whole affair?

    You mean from the decision not to ship concepts more or less as is for C++0x? I am not of the opinion that concepts have failed. My position was that we needed only a few weeks to "fix" what in my opinion were serious usability problems. Obviously, a majority of the committee didn't agree with that timescale. [...] Things could have been much worse. In particular, we could have made the seriously flawed "concepts" part of the standard.

    The specification of concepts has taken seven years. By contrast, the standardization of the entire STL took about half that time. What is so complicated about concepts?

    I count the concepts work as started in 2002; I presented my first design papers in 2003. In 1994 Alex Stepanov presented a complete implementation of the STL to Andrew Koenig and me, but 2002-to-2009 and 1994-to-1998 are not comparable time lines. Alex had been working on the STL from at least 1976.

    So perhaps the conclusion is that concepts were doomed to fail because they try to fix so many things at once, by transforming C++ into an almost new language? After all, the whole notion of templates is a bit problematic in C++â"what the programmer writes or reads is quite different from the actual (unseen) code that the compiler generates and parses when it processes a template instance.

    No. I don't think that concepts were doomed to fail. Also, I don't think concepts were trying to fix many things or to transform C++ into an almost new language. [...] I do not think that templates are "a bit problematic." For starters, they are not macros. Programmers should no more worry about the transformations a compiler performs on template code to produce executable code than they do about the transformations compilers do for non-template code to produce executable code

    In March 2009, several months after the acceptance of Concepts into the WD, Howard Hinnant was the first to ask: "What is the risk in requiring Joe Coder to be concept-aware? What is the benefit?" It's surprising that these questions hadn't arisen much earlier during the design process. Doesn't that indicate the committee should have more checks and balances, especially when it comes to adding a new feature that is as pervasive as concepts?

    I suspect some members of the committee will seriously resent those questions and consider them proof of ignorance or ill will. [...] The committee operates according to ISO rules. Those are quite ponderous and biased in favor of not upsetting status quo. [...] I don't think we need more formal "checks and balances." If anything, the balance may have tilted too far toward caution for the long-term good of the language.

    However, the committee has no similar "field research lab" for core language features. Consequently, pervasive core language features might be incorporated into the WD without sufficient experience and testing. That's what happened with concepts I believe. Would a "staging core C++" organization be feasible and useful?

    You are wrong in your characterization of what happened to concepts. In that case, we did have a "staging lab." It was conceptGCC, the people working on concepts (mostly at Indiana and Texas A&M universities), and the people trying to use concepts in libraries (many from Boost).

    know I'm going to get a lot of flak for this but I'm starting to sense a Concepts déjà vu with rvalue references. Initially, rvalue references were meant to be transparent for most users but that's no longer the case. Joe Coder will probably have to know what a move constructor is; that function overloading rules have changed;

    I object to the "Joe Coder" moniker. At best, it is patronizing. Realistically we are all "Joe Coder" outside our little comfort zones.

    It's no secret that I've never been fond of concepts. However, I can understand and perh

  11. Re:Not Reading It on The Mice That Didn't Make It · · Score: 1, Informative

    I'm not reading this article because it's on 20 different pages. STOP THAT SHIT.

    Seriously. There really needs to be some way to administer a small electric shock to both the submitter and the editor for things like this.

  12. Re:Optimization on AMD's OpenCL Allows GPU Code To Run On X86 CPUs · · Score: 4, Insightful

    So now programmers can write code that will work on either processor and will be optimized on neither. Brilliant. I'm sure this is somehow a great step forward.

    -sigh-

    Um, what? How does the existence of a compiler that generates x86 code prevent the existence of an optimizing compiler that generate GPU instructions?

  13. Re:Its only a matter of time.... on Will Mainstream Media Embrace Adblockers? · · Score: 1

    Host all static files (including ads) on one server using Content Addressed Storage

    And lose positions in the search engines, which use keywords in URLs to help determine relevance.

    Eh, they can't be planning to stick with that for too long, and your main pages probably come out of a CMS instead of being static anyway.

  14. Re:Its only a matter of time.... on Will Mainstream Media Embrace Adblockers? · · Score: 1

    The ad company could just run the server (if the files were truly static, they could do so at pretty low cost).

    Maybe. When not running adblock, I've noticed that a large part of page load time often seems to be waiting for ad servers. So I think that ad companies must not have proper incentives to make their servers fast... but for per-view ads they really will need to trust the admin of some machine talking directly to the reader (and I suppose running their own program on someone else's hardware wouldn't work, that someone else could fairly easily do things like make fake page requests from arbitrary addresses).

    Still, users who wanted to block those ads could participate in a system that let them flag content that was an advertisement and subscribe to a list of content that had been flagged as advertising (there would be some issues to deal with as far as unreliable users, but I doubt it would be a significant problem).

    That would actually be pretty good, since users would likely only report the annoying ads. So there should be some feedback as to what annoys people and what doesn't. Assuming the definition file doesn't grow to something like 20MB.

  15. Re:Its only a matter of time.... on Will Mainstream Media Embrace Adblockers? · · Score: 1

    Its only a matter of time before they figure out how to circumvent adblocking software. The more that use it, the more likely it will be that they'll find a way around it.

    Host all static files (including ads) on one server using Content Addressed Storage, all URLs look like http://hostname/sha1_hash . Maybe have a program controlled by the ad company that either reads the server log file as it's written or proxies all http connections and counts the ones that correspond to the advertisements.

  16. Re:And? on Bing Search Tainted By Pro-Microsoft Results · · Score: 1, Funny

    Surprised, why?

    Reality has a well-known anti-Microsoft bias, so any pro-Microsoft results are clearly due to tampering.

  17. Re:VirtualBox huh? on Best Free Open Source Software For Windows · · Score: 1

    VirtualBox doesn't include USB support in the Open Source version

    I thought this changed recently?

  18. Re:And they said XML was easy to parse on XML Library Flaw — Sun, Apache, GNOME Affected · · Score: 1

    If Oracle doesn't support that, then I would say their implementation is broken.

    I'd just suspect it's more than 4 years old (hmm, looks like the 10gR2 we're using was actually released in 2005, and that RFC is dated October 2005). The "standard" is "this seems to be what most people are doing" rather than "here's the definition of a cool new format".

    Clearly, you can represent tree style data with CSV, but it has more flexibility than you think.

    Hm, cool. Also, ick.

    Too many people roll their own CSV, because it seems so simple. Then they don't quote and escape quotes properly blaming any issues on garbage data.

    ...and then I have to tweak it into the csv dialect that Oracle understands.

  19. Re:And they said XML was easy to parse on XML Library Flaw — Sun, Apache, GNOME Affected · · Score: 2, Informative

    Except CSV isn't a standard.

    The IETF might disagree with you.

    "This memo provides information for the Internet community. It does not specify an Internet standard of any kind. "

  20. Re:Open source on XML Library Flaw — Sun, Apache, GNOME Affected · · Score: 1

    All that aside, the way these projects' being open source will make this better is by making a patch come out sooner. The community knows there is a problem. Someone will get on finding it right away, and in a day or two we will see patches getting pushed out that fix it. There's no sitting around helplessly hoping we don't get DoSed until someone at MegaSoft Corp. decides this is worth fixing and rolls a patch.

    This is because the Community has unlimited volunteer resources available on very short notice, and large corporations with many paid full-time employees do not.

  21. Re:And they said XML was easy to parse on XML Library Flaw — Sun, Apache, GNOME Affected · · Score: 1

    CSV FTW.

    What happens when your data contains \r or \n characters? (I know Oracle's sqlldr / external tables at least will reject that row, and I don't believe they recognize any escape sequence for this.) What happens if the data has commas in it, and the .csv was generated by something that doesn't add quotes?

    What do you do if your data is more complicated than a simple table?

  22. Re:Cause or effect? on Psychopaths Have Brain Structure Abnormality · · Score: 1

    Ok, why is the increased sale of ice cream correlated to the increased number of shark attacks?

    Probably that both are caused by hot weather.

  23. Re:Why is this done in software at all? on Entropy Problems For Linux In the Cloud · · Score: 1

    You don't really need them... but if you're designing the hardware, they're probably the cheaper option.

  24. Re:Not really seeing an issue on Bell Starts Hijacking NX Domain Queries · · Score: 1

    Maybe I'm misunderstanding, but I get the impression from the summary that Bell is hijacking domain queries, meaning that users can't easily choose not to use their provider's DNS services.

    Your ISP always provides a couple of caching DNS resolvers, and it tells your computer about them when you get your IP address (ie, provided by the DHCP server). So your computer will by default send all DNS queries through your ISPs DNS resolvers, and they can send you whatever garbage results they want.

    This is most likely "only" Bell making their DNS resolvers (that everyone uses, because they're the default) malicious, and not them redirecting traffic mean for other DNS servers to their servers.

  25. Waiting for DNSSEC... on Bell Starts Hijacking NX Domain Queries · · Score: 5, Informative

    Isn't this sort of forgery exactly what DNSSEC is supposed to prevent?

    (And no, don't go suggesting DNSCurve. It doesn't protect against your ISPs caching resolver being malicious like this.)