Hacker Newsnew | past | comments | ask | show | jobs | submit | kaffiene's commentslogin

Are you kidding? You are a moron - this is as close to a smoking gun as you can get. You did get the part that there was NO relationship between the meaningless search phrases and the returned page right? What POSSIBLE situation could explain Bing returning the Google returned page without recourse to Google's search?


Google created the relationship when they enabled user tracking features in IE and Bing Toolbar, then used a specially created Google page as the HTTP REFERER to the desired page. Go ahead and duplicate the experiment using a non-Google page or file. I'll bet Bing "steals" those results, too. Google seeded Bing, plain and simple.

Note also that the example search links in the blog post are all from the non-SSL Google search. User tracking doesn't necessarily rely on the HTTP REFERER in this case, since the browser already has access to all of the necessary information. But it would still be interesting to see the experiment repeated using the SSL-encrypted Google search, which disables referrer information, along with non-Google sources.


Do you really go around calling people morons? Is it just on the internet, or do you do it in real life where you're not anonymous too?

If it's the first case, then that's a pretty cowardly way to act. If it's the latter, then you should just be ashamed of yourself in general.

Calling names is not OK. I'm pretty shocked you got any up-votes for your comment at all, and I'm ashamed of everyone on the site who gave you the bump.

EDIT: AT time of posting this comment, he had +8. My faith has been restored in the HN community.


There's no clear indication that the clickthrough analysis is specifically targetting Google, vs. targeting any search engine or even targeting any page with that text in the URL query string, etc. Maybe it is, but they haven't shown it.


While I don't really agree with Google here, I don't think that distinction particularly matters. If you buy the premise that they're "stealing" from Google then it equally applies to everyone.


Fair enough, though I don't think that's the only POV - you could analogize it to ripping off an existing song wholesale vs. making some kind of collage of short samples from 10 existing songs.


>Are you kidding? You are a moron - this is as close to a smoking gun as you can get. You did get the part that there was NO relationship between the meaningless search phrases and the returned page right? What POSSIBLE situation could explain Bing returning the Google returned page without recourse to Google's search

Eh? Then why did it happen only in 6% or 7% of the cases tested and not close to 100%, a fact that the blog conveniently glosses over?


I've looked at it and thought it looked like a very clean and (for a functional language) quite readable. But the ties to MS's VM dooms it IMO. If they made it cross platform (JVM and / or native compilation) and put it in third party hands, then it might stand a chance.

BUT, I can't see Joe Public programmer adopting a functional language, even one as nice as F#


I've been writing Java for a while now. I've never seen nor written code anything like that. Heavy use of generics is usually hidden away in APIs and don't usually occur in non-trivial ways in normal code.


It's not that much of a hyperbole...

    Map<String, Map<String, Map<String, Map<String, String>>> > meta_data = new LinkedHashMap<String, Map<String, Map<String, Map<String, String>>> >();
    ....
    for (Map.Entry<String, Map<String, Map<String, Map<String, String>>> > schema : meta_data.entrySet()) {
I really would rather just type:

    meta_data = {}
    ....
    for schema in meta_data.iteritems():


This has become a bit simpler with Java 7: http://weblogs.java.net/blog/forax/archive/2009/08/27/diamon...

EDIT: link to better article


If you've got a structure like that, you've got bigger problems than the verbosity of the declarations!


Oh come on, it's not that ridiculous to have a map only 4 levels deep. (Though I'll admit the code there is a patch-job over a much worse design that will all be refactored one day...) It's just ridiculous to express in Java. JavaScript's pretty much built on the idea of nested objects/maps.

    new Ext.Panel({
        width: 400,
        height: 400,
        title: 'Pie Chart with Legend - Favorite Season',
        renderTo: 'container',
        items: {
            store: store,
            xtype: 'piechart',
            dataField: 'total',
            categoryField: 'season',
            //extra styles get applied to the chart defaults
            extraStyle:
            {
                legend:
                {
                    display: 'bottom',
                    padding: 5,
                    font:
                    {
                        family: 'Tahoma',
                        size: 13
                    }
                }
            }
        }
    });


That's fine. My point is, it's extremely uncommon to come across this kind of structure in Java-land. Typically, there'd be separate classes for these objects - so you'd end up with a Panel class with fields width, height, title, renderTo and items. Items would be another class with it's subsequent fields. And so on with no maps in sight.

You're example Java declaration doesn't seem to actually capture the Javascript code you've got there - ie each initial string does not map to another Map - in some cases it just maps to an integer or string.

By the way - I totally agree that the declarations of stuff in Java with generics is way too verbose.


You mean code that was interesting to write, and not just another fucking web template?


Saying that you can't think functionaly in Java is not a "bad habit" - that's a style choice. Likewise, being verbose is not a bad habit - it's an issue of style.

As for global state - using singletons is a design decision. If you don't like them, don't use them!

So many people on HN hate on Java just because they've made the switch to functional programming. All power to you, but none of what's good about FP makes Java bad - it's just different.

I'd agree that there are some inherent design issues with Java - I've never liked primitives and I don't like how generics were implemented but other that that, it's a really excellent tool for a number of tasks. Just because it doesn't look like what you like, doesn't make it bad (this reminds me of when Java came out in the first place and all the C++ programmers were saying that it was useless because it didn't have operator overloading. not bad, just different!)


I think it's telling that the Hacker News crowd has almost nothing to say about this article. America is burning. The elite don't care.


That sums it up very well.


It should be an operating system. In practice, it's a religion


GCC targets way more platforms and compiles way more languages than the Intel and MS compilers do. That's not an apples and oranges comparison.


I think you mean that is an apples to oranges comparison (or its not an apples to apples comparison).

In any case, fair enough. I tried to detangle the contributors, and while its easy to do for language, it's harder to for target. I suspect 90% of the commits are ARM or x86/AMD64, but w/o spending more time than I care to, it's hard to know.

With that said, you'd still expect, with GCC long history of being open source and open source being such a clearly superior dev model to have surpassed most commercial compilers, but that hasn't been the case in perf. Now maybe one might make the argument that perf has never been the metric for gcc, but it has always been portability. But that would also lend credence to why open source is not an ideal model for many companies -- your (the open source project's) metric of success is not the metric that we care about.


You need to know what's in the Java libraries if you want to write to the Java libraries. If your code is all self contained, then you don't. So - open a Swing JFrame and you need to know where that is in the API and how to call it.


Practically, I don't think it really matters at all. But it's a very significant symbolic move. It sends a message about where the Java community is now in relation to Oracle.

Of more concern will be Apache's attitude to new development in Java. Will they continue to use it and to make cool new stuff in Java, or is this a breaking point for them in terms of using the tech?


You can't do sophisticated GC in C. The memory model of the JVM is important - it knows what is a pointer and what is data, which is important for efficient GC.


If course you can. But you will have to write a memory manager for that and make the compiler keep track of what your pointers point to. I don't know enough about Vala to say it's not desirable given its syntax and what it assumes about the memory management the program does, but it's not impossible.

It may be a whole lot of work.


actually, you can do consevative GC in C just fine without any special support in compiler, see Boehm's GC. Which is actually what was until recently used in Mono and also extensively used by various other runtimes (gnu java, ecl, many scheme implementations...)


True, but it would be uglier than if the compiler hid the CG behind a wall of syntactic sugar.


Well, the only difference you see is that you call GC_malloc() instead of malloc() (and that can be redefined, even link-time), and that on some platforms (at least Cygwin and AIX, maybe also Solaris) you need to call GC_INIT() from main().


Yes, but that should be placed in the C code, not in the Vala sources. Assuming it's a c#/Java-like language, the programmer should be spared from this job.


In case of Vala I think that required modifications are pretty well limited to underlying runtime library (gobject) and do not touch compiler too much. But on the other hand they will be quite invasive across whole Gtk/Gnome platform.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: