Google Blogoscoped

Friday, July 9, 2004

Google Orthography

Via Websters Online Dictionary and other sources, here is the word “Google” in...

American Sign Language (ASL)

More about ASL...

British Sign Language (BSL)

More info on BSL...

Semaphore

More about Semaphore...

Braille

Braille is a tactile language so it is actually not looked at, but read by touch.

More about Braille...

Radiotelephony spelling alphabet

Golf Oscar Oscar Golf Lima Echo

More on the Radiotelephony spelling alphabet (also known as NATO phonetic alphabet)...

Morse Code

This translates to “dadadit dadadah dadadah dadadit didadidit dit”.

More about Morse code...

Chinese

In Chinese “Google” translates to “go go”, which means “dog dog”.

More Randomness

Internet killed the video star, but the urge to be exposed to random visuals – like these random photos found on file-sharing networks (not always safe for work) – is still alive. More randomness:

BoingBoing on Nigritude Ultramarine

From Cory Doctorow comes a nice, though somewhat inaccurate spin on the Nigritude Ultramarine story (after all it wasn’t Anil Dash who started bringing real blog content to the competition):

“A bunch of blog-spammers and google-spoofers (the euphemism is “Search Engine Optimization” – no doubt you’ve received spam offering you this “service”) set up a competition to see who could become the number one Google result for the previously unused phrase “nigritude ultramarine.” So they set about creating their link-farms and so forth.

Then Anil Dash, a blogger who works for SixApart, decided to kick their asses. These spammers’ google-whuffie was puny relative to Anil’s popular, much-linked blog, and when he created a post and asked his readers to link to him using “nigritude ultramarine” as the link-text, he won the competition handily.”
– Cory Doctorow, Anil kicks linkspammers’ asses (BoingBoing), July 8, 2004

The Google Programmer

There’s a lot more to programming than logic, language skills, pattern recognition, and plain computer knowledge. Like talking to others a lot, and thinking a lot, and being very critical of what you do. (Imagine a movie director who shoots a scene, and after the scene is over a detailed and critical review is handed to him – well, that’s what the compiler or interpreter does every time you run a newly written script.) But these things are pretty obvious to everyone.

The number one non-obvious skill for a good programmer is being lazy*. That is because a lazy programmer will first ask if the task at hand is necessary at all, and often finds a short-cut decreasing the ultimate workload (not only his own). Also, being lazy means writing terse code, which later on is easy to maintain and debug by others. The lazy programmer will tell you his top priority is to write the tools that will one day replace him (sounds risky in terms of a career, but this day hardly ever comes – after every task solved, new unsolved tasks pop up in fast succession).

*Actually, this is obvious to any programmer, just not so much to outsiders. Programmers are also aware of the irony in this. A programmer might spend a day writing a tool which will save him one hour of monotonous work. Then again, it’s often these tools we find evolving into something bigger, which ultimately might save much more than one hour of work.

These days, being lazy is not enough. To be a good programmer, you also need to know how to use Google. Of course this doesn’t mean you just need to know how to open a browser and enter “Google.com” (thought that’s already an improvement to opening a help file on your computer). It also doesn’t mean you need to know the advanced Google search syntax (though that won’t hurt). Actually it all boils down to knowing the right words to trigger a successful search.

There are different search tactics you can use to help you complete your program.
One is to imagine how someone would name a completed function that does what you need. After all you find source code snippets for all kind of problems online.

Let’s say we are writing PHP code and we would like to have an array of all possible anagrams based on a string. This is certainly a nice challenge to program ourselves, at least if we never did it before (and if we ever did it, we already stored it in a re-usable library – programmers don’t like to program the exact same thing twice, unless they sense starting from scratch will give them a more optimum solution). But remember rule number one: programmers are lazy. So instead of programming this, we can try searching Google for...

...and so on. We always search Google and Google Groups (These are just examples; I don’t know if any of these queries returns our solution. The point is, they might.)

If we don’t find the right function, we can try to think of a question someone asked in a newsgroup. Like, “How do I get an array of anagrams based on a single string?”. We do not know the exact question phrase, so we have to be vague. Naturally being to vague yields too many irrelevant results; mixing the right amount of vagueness with a precise phrase often is the key to a successful Google search. So we would try...

You can see I always include “PHP”, because people would ask this programming question for any number of languages, like Perl or C#. (Only if I’m very desperate and my other searches don’t get good results would I try to look for e.g. VBS code to then convert it to Python.)

If we still didn’t get the right function, we might be creative and think of synonyms for our focus word. (What I mean by “focus word” is the critical term for a search which drastically reduces the result set – surrounding words just define the type of page returned.) We can use a Thesaurus, like the one at Dictionary.com, but more often than not we have some words stored in our own memory as well. So instead of looking for an “anagram” we might look for...

...and so on. There are still more approaches than the ones above, and possible combinations of them. Here are some query types I find myself using quite often (continuing with the anagram example):

If all else fails, we might also of course ask in a newsgroup, try Google Answers, or (duh) write the whole function ourselves. (Of course, a good programmer knows how to do that as well.) If that fails too, well, we still have a chance of going back to step one and ask if we actually need to do what we think we have to. As the saying goes, it’s not about thinking outside the box, but knowing its true size.

Nigritude Ultramarine in Plug In Magazine

Plug In Magazine has an article on the Nigritude Ultramarine challenge [PDF] (page 19 – followed by an article on Gmail on page 21). [Thanks Emil.]

Advertisement

 
Blog  |  Forum     more >> Archive | Feed | Google's blogs | About
Advertisement

 

This site unofficially covers Google™ and more with some rights reserved. Join our forum!