Welcome to WebmasterWorld Guest from 188.8.131.52
Forum Moderators: open
My goodness, this is not "Google's dictionary"; it's dictionary.com. Dictionary.com in turn licenses content from American Heritage, which is the source of the definition you quoted.
Thanks for correcting me. I did wonder how to attribute it.
I should probably have said "Using Google's dictionary/thesaurus feature..." ;)
C is an intrinsically ugly and dirty language.
I think you missed out a '++' there.
I suspect that its advanced string handling, and other features mean that Delphi programmers would be at an unfair advantage.
Delphi has 'advanced string handling'? It's no better than C++'s way of doing things. Languages like Perl, yeah, sure, regular expressions and string handling out the wazoo.
I am quite confused that languages like Python, Perl, PHP, and Ruby have been omitted from the contest, since Web applications are exactly what those languages are (mostly) good at. C# and VB.NET are primarily Microsoft server based (Mono is not really high-time yet), and Google is a UNIX shop, which makes that allowance rather confusing.
I wonder if Google's going to be shifting certain areas of their business over to Microsoft boxes. Can't see it making any sense, but you never know..
"Like developing efficient implementations for large-scale mathematical problems, such as running Google's Pagerankô algorithm on a graph of 3 billion nodes and 20 billion edges."
I wonder if the ratio of edges to nodes says anything about the LOG of PR? For the folks who determined what LOG was appropriate -- considering they were mathmatical or CS Ph.D.s, I wonder what kind of mathmatical or statistical measures they might employ to determine the LOG that was most appropriate...and what that might allow one to infer if anything as to the LOG of PR? Just wondering.
[edited by: midwestguy at 10:08 pm (utc) on Sep. 23, 2003]
Timed challenges like this are silly. Heaven help us if Google actually runs their shop like a Topcode contest.
Reading the entire "big problems" statement makes me think it means "very large scale computing challenges" rather than "we need your help, we are in over our heads." But it is probably a double entendre implying a little of the latter as a marketing come-on to perspective employees.
On the Overview page is the following:
"Google is looking for engineers with the programming skill to rewrite the world's information infrastructure. The Google Code Jam 2003 is one way we hope to find them. While we don't impose arbitrary deadlines on our engineers, we do put a premium on well-implemented code. And we appreciate the thought process required to create it. In fact, we appreciate clear thinking in all its forms, from puzzle solving to chess mastery (one of our interns was an International Grand Master)."
I wonder if Google limits their focus *when hiring* to mainly mathematical thinking types; or do they consider folks quite gifted in other types of thought processes to be valuable in coming up with interesting ideas for their search engine -- like those gifted at linguistic/logical thinking -- or the types of eclectic mix of rapid and logical thought that makes one a great poker player?
Maybe they could use a few non-mathematical worker bees at the Googleplex. What do they mean by "we appreciate clear thinking in all its forms" when it comes to hiring? Sometimes coming up with the *what* to do trumps the ability to come up with the fastest algorithm, as important as that is (especially since they are likely "heavily weighted" in that regard, Ph.D. wise, already). Dare I say even those with marketing genius would be valuable contributers to work at the plex....
After all, not every gifted -- let alone genius level thinker -- has their thoughts molded through overtly mathematical channels and applications in life.
FWIW, I think its a wise and judicious addition of these types of folks to the mix that would likely keep Google ahead of those hounds constantly nipping at their heels in the race for search engine supremacy in the years to come.
It's very clear to me that Google DOES enormously value diversity, not only in the traditional sense of a person's ethnic background, but also in terms of academic focus, career experience, personality traits, personal interests, and so on.
One commonality amongst Google folks I've met is self-assuredness. Though this is often in tandem with extroversion, it's not always so. Rather, Google folks are confident in their ideas and abilities.
So yes, Midwestguy, they DO hire marketing geniuses (I'm friends with one of their brilliant international corporate marketers, who IS brilliant!) :)
However, I'd agree that Google needs to do a better job on their Web site reaching out to marketing and left-brain types, given that so much of the verbiage there currently lasers in on recruiting top engineers and programmers.
Oh, and Midwestguy... I think I'm an honorary 'brother' of you; Even though I'm a California Boy, I earned my degrees at Northwestern and Indiana University :D
Delphi has 'advanced string handling'? It's no better than C++'s way of doing things.
Am I to take it that C++ implements reference-counted strings with a theoretical limit of 2GB length with the length and reference-count stored at -ve offsets so that the whole structure can be directly typecast into a null-terminated string. And, of course, try..finally clauses are implicitly added to all functions that require them to ensure correct clean-up even if an exception is raised.
In all honesty, I have never used C++ but I have not heard that these features exist. If they do then I stand corrected.
Not putting down this idea or Google. On the contrary I am admiring a company that can attract folks to hack for them for free (well if you don't make the top 5 you are doing it virtually for free - okay a t-shirt might be worth entering :) ).
This is insanely clever. Don't do expensive headhunting for top notch programmers to solve problems, instead have a contest to draw them out.
I agree, although I have a slightly different angle on it.
I think Google will get the TYPE of programmers they want from competitions, rather than generally looking for 'great' programmers. The truly amazing programmers who have a grasp on business and develop systems people will pay big bucks for are already doing it. They're less likely to be in the contest.
But there are a lot of smart unemployed programmers out there with little business sense, and can prove to be major assets to Google, as they make great employee programmers and thinkers.
I know quite a few top notch programmers who could never develop a whole system on their own, yet they're still amazing when it comes to being employed and working on a project with others. These are the guys Google needs, I'd imagine.
Am I to take it that C++ implements reference-counted strings with a theoretical limit of 2GB length with the length and reference-count stored at -ve offsets so that the whole structure can be directly typecast into a null-terminated string.
One downside to C++ is that while there are standards controlling it.. they're standards, whereas Delphi is somewhat more proprietary and controlled.
In C++, with the standard library, you'd deal with strings as classes, in a similar way as you can in Delphi. String length is not really an issue these days. Even VBScript and JScript can handle 2^31 characters in a string! :-)
Beyond that, I can't comment much, I don't know what the 've offset' you mention is. I'd also ask why you'd want to typecast into a null-terminated string, but that might be going off-topic even more than I already have. You're welcome to StickyMail me though, I think you've gone over my head... I'm more of a pragmatic language monkey :-)
Now if they just allowed for that neato language... oh, what was that with the robot turtle that drew lines on paper? Wasn't it LOGO or something? :D
Oh my goodness, I just checked. It is!
Talk about fond memories... :)
joined:Apr 30, 2003
The basic original PageRank formula is of itself fairly simple, but produces big computations which is certainly a problem number crunching wise, it can get so big.
Problemo 1. PR algo get's big computations, these at some point need to be stopped, Plex needs to get a handle on this.
However, there are other problems.
Fighting spammers, of the redirect/codecloak type is one problem, but I don't think a big one, theys seem to have they quite good spam protection, though I have reported a big redirecter and it's still there weeks later, getting more successful!
PageRank needs to be combined with other factors to determine rank, and this is I believe where Google actually has the biggest problem, no content!
Problemo 2. Traditional determining factors such as keyword placement/frequency on listed pages have had it on Google, which is what's really making a nonsense of results it shouldn't be struggling with.
That's why I think they need to start from scratch.
I think they should have a dedicated 'spam' bot, all it needs to be programmed to do is seek out the 'tricky' techno spam redirects/cloaks etc etc.
I think they should have a dedicated 'links' bot, all it needs to be programmed to do is follow links for links PR calculation, but it needs to be controlled well, otherwise it gets too big and goes to pot, being a links specialist though, it will be able to penalise for spammy type linking.
I think they should have a dedicated 'content' bot, all it needs to be programmed to do is check content, incl. simple disguises etc.
Three bots will visit, at the same time, and spam bot will follow content bot who will follow links bot, and they will not move on until each has it's necessary info, hence they will always all visit at the same time, each with a specific purpose, each reporting individually.
It will be essential though that links AND content are factored, currently you can rank top ten for keywords you dont even have on your pages, and obvious and disasterous failure of thecnology, as is the situation currently.
Still around? wow
For those who haven't heard of Kylix, it is Delphi for Linux. In other words, Borland Pascal is alive kicking, thriving and very highly regarded in the programming community.
"-ve" is a shorthand for "negative", therefore "-ve offset" should now make sense. As for why you would want to typecast into a null-terminated string - you need to when dealing with API calls (or functions in DLLs). As for the length - having it stored is faster than having to calculate it and makes for much faster memory management and manipulations such as concatenation.
OK, let's get back on topic.
There are many types of programmer. An organisation like Google requires mostly boring team-players. It also requires a few genius hacker types who can solve problems (albeit using dirty code) quickly and it needs team leaders. A search engine company also needs programmers expert in statistics. There are indeed other programming skills - too many to mention in fact.
The point is, the Code Jam is likely to find the genius hacker types and that is all.
I would like to see some understanding coming from you :)
And about Google -- they simply rock. Micrusuft has always been placing their problems under the bed, but Google admitt them and works in a nice way in the Quest of Solve them. Veeery nice :)
I am aware that for many readers and contributors to these forums, English is a second language. Generally, I use simple grammar and vocabulary though perhaps I err occasionally. I use the shorthand "-ve" and "+ve" so commonly that I don't notice that I'm doing it. I'm not aware that I've used any other unusual language in this thread.