derek_farn writes, "Google now has a page that supports source code searching. I hope they extend it to be more programming-language aware (e.g., search for identifiers and functions) like the specialist code search sites (Krugle, Koders, and Codease), who probably now have very worried investors. I don't see any option to search for Cobol. I guess there is not a lot of Cobol source available on the Internet, even although there is supposed to be more Cobol source in existence than any other language (perhaps that statement is not true in the noughties)." From the Cnet.com article: "Google engineers, many of whom participate in open-source projects, already use these code searching capabilities internally. Since it is a Google Labs project, the company is not yet seeking to monetize searches through ads."
This reveals a lot of email addresses in code. It's giving the spammers email addresses on a plate. (within a geek targeted audience) That's definitely not funny but scary.
It's true that not a lot of people write COBOL today, but the submiter was talking about legacy code. No wonder they're not on the Internet: not only they are from a pre-Internet era, but the vast majority of it is from corporations that keep their code very closed.
Well... if we want to quibble...:) Basic was intended as a teaching language and so the language incorporated lots of syntax and ideas from the 2 major languages of the time: COBOL and FORTRAN.
BASIC eventually begat that idiot bastard child 'Visual Basic' and syntacticly hasn't changed much since. So you could say that there is a lot of COBOL in 'Visual Basic'. Sure, it became object focused and now OO, but it still resembles COBOL. So COBOL lives on, as Visual Basic. It will not die:)
I made a simple search for "fade file:.js" in order to find a javascript function that would fade a div or table or anything really (I know scriptaculous [aculo.us] offers this already, just curious as to what's out there). I found something but the header of the file read:
All Code herein is Copyright 2005 Match.com
Do not copy, reproduce, reuse or sell any code herein
without the express, written consent of Match.com.
For information contact webmaster@match.com.
All Rights Reserved.
Which is expected. However, that means this tool isn't useful for finding a method or function or class I can use and then using it... it seems to be restricted to one of two uses. If I'm looking for code that does natural language parsing, I could hope a comment somewhere contains NLP as a description of what's going on. Or, I could look for libraries out there with methods and then search for those methods to see how other people used them to get an idea of how they work. The vast majority of this code seems to be just web development front-end code at least from the few searches I've done. Too bad, that's a very small part of programming.
Not really, you can just tokenize the code, removing the issue of white space, comments and formatting completely, and just treat identifiers as a token type vs even looking at the name - then you're just doing a pure structural comparison of the code. Plenty of other things you could do too to normalize the code and factor out any trivial rewritings (changing parenthesis, etc). Any smart code comparison would look for function by function matches to factor out trivial reordering, and would anyways operate o
At last we can use regexps and search on all the important characters between the alphanumerics! For example the prefixed '@' in PHP - very hard to figure out what this is, without reading the reference cover to cover. Now at least we can search the codebase and hope to see some useful comments preceding it, or figure out from context what's going on.
Open Source projects that you know are written in COBOL? I don't know of any. It is a lot of legacy code. There is very few new projects being started in COBOL.
This is pretty cool.. i hate trying to search code on normal google, it usually filters out most of the search characters and you end up with nothing useful.
Now if only they'd add regex searching to normal google (unless it already has it and i'm missing it?)
Whenever I search for something code related on the web it's usually because I want to know how to do something. In such cases I dont really know what the code itself would be (i.e. the reason why I'm searching) so this wouldn't help at all. I suppose if you were looking for specific code it could be useful, but why would you be doing that? That would likely be your own code, so wouldn't a simple grep be easier?
I'm sure I'm missing something here - Google doesn't (usually) release useless new products:)
If you're unaware of how to do something from a design standpoint, you're right that viewing code is not necessarily going to help. This tool, however, works great for more specific issues related to syntax, etc. I've already used this to see examples of ItemTemplate [google.com] in C#. A simple search on regular google yields examples, but it also returns a lot of crap.
When considering TMTOWTDI, looking at other code similiar to yours can be very helpful, and (for me, at least) can help break out of a code writers block when I've been working with a particular chunk of code for too long.
It's a good start. They really need to start searching Subversion/CVS repositories as well. One of the most obvious things that they seem to have missed is to index all the Sourceforge downloads.
As a programmer who needs to solve a problem I need a place to find answers to the problem I am solving. Searching for a code won't do it because I am looking for an answer and not how to code it. To find answers I use Omgili [omgili.com] - it is a vertical search engine that search ten of thousands of forums and millions of discussions. Usually someone already asked my question and hopefully it has an answer. It is highly recommended for troubleshooting and specific problems/questions.
I just had a need for this very thing. I've been looking for an implementation of the Minkowski sum [wikipedia.org] in Java. And Google had it [google.com]. So if you need to implement a particular algorithm that someone else might have already implemented, this is the way to find it.
I can't find any of the software with my name on it that's on SourceForge, though.
I agree, it is rather funny. My favourite is so far:
/usr/src/linux/arch/sparc/kernel/ptrace.c: /* Fuck me gently with a chainsaw... */
But I also stumbled upon this little gem in/usr/src/linux/net/core/netfilter.c:
/* netfilter.c: look after the filters for various protocols. * Heavily influenced by the old firewall.c by David Bonn and Alan Cox. * * Thanks to Rob `CmdrTaco' Malda for not influencing this code in any * way. *
Anyone knows if there is a story behind this comment? Is it a private joke on taco, or did he piss them off?
the one thing everyone will search (Score:5, Funny)
Re:the one thing everyone will search (Score:4, Funny)
if (gates == NULL)
gates = (HINF **) Hmalloc (sizeof (HINF *) * 10);
int_fast16_t reserved1;
Parent
Re: (Score:2)
My first thought was this [google.com]. I didn't think anyone actually used those in real life.
Re: (Score:3, Funny)
- Calendar.continuation_for_the_fucking_khtml_brows
Re:the one thing everyone will search (Score:4, Informative)
This could be abused by email spammers.
Search for: http://www.google.com/codesearch?q=%40 [google.com]
This reveals a lot of email addresses in code.
It's giving the spammers email addresses on a plate. (within a geek targeted audience)
That's definitely not funny but scary.
Parent
COBOL hasn't been topdog for a while (Score:2, Interesting)
As scary as that sounds.
Re:COBOL hasn't been topdog for a while (Score:5, Insightful)
Parent
Re:COBOL hasn't been topdog for a while (Score:4, Interesting)
"IDENTIFICATION DIVISION" "DATA DIVISION" DISPLAY PROGRAM-ID SECTION
No need for Google to develop a special search for what look less like a computer program and more like a plain text file.
Parent
Re: (Score:3, Interesting)
Basic was intended as a teaching language and so the language incorporated lots of syntax and ideas from the 2 major languages of the time: COBOL and FORTRAN.
BASIC eventually begat that idiot bastard child 'Visual Basic' and syntacticly hasn't changed much since. So you could say that there is a lot of COBOL in 'Visual Basic'. Sure, it became object focused and now OO, but it still resembles COBOL. So COBOL lives on, as Visual Basic. It will not die
And while I am on the
Restricted Use Due to Copyrights (Score:5, Interesting)
All Code herein is Copyright 2005 Match.com
Do not copy, reproduce, reuse or sell any code herein
without the express, written consent of Match.com.
For information contact webmaster@match.com.
All Rights Reserved.
Which is expected. However, that means this tool isn't useful for finding a method or function or class I can use and then using it
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Thankfully... (Score:2)
But honestly, this might have some bells and whistles but I don't see myself getting rid of my regular expression searches any time soon.
What's that I hear???? (Score:5, Funny)
Dang, this a neat tool.
Re: (Score:2, Insightful)
Re: (Score:3, Insightful)
Why? This makes it easier to check for plagiarism.
Re: (Score:3, Insightful)
Any smart code comparison would look for function by function matches to factor out trivial reordering, and would anyways operate o
Non-alphanumerics at last! (Score:4, Informative)
e.g. "@fopen file:.php"
Re: (Score:2, Informative)
Re: (Score:3, Informative)
Useful for including a file that might not be there, for example...
How many (Score:2)
Awesome! (Score:2)
Now if only they'd add regex searching to normal google (unless it already has it and i'm missing it?)
mmmm regex
Useful to whom? (Score:5, Interesting)
Whenever I search for something code related on the web it's usually because I want to know how to do something. In such cases I dont really know what the code itself would be (i.e. the reason why I'm searching) so this wouldn't help at all. I suppose if you were looking for specific code it could be useful, but why would you be doing that? That would likely be your own code, so wouldn't a simple grep be easier?
I'm sure I'm missing something here - Google doesn't (usually) release useless new products :)
Re:Useful to whom? (Score:4, Insightful)
If you're unaware of how to do something from a design standpoint, you're right that viewing code is not necessarily going to help. This tool, however, works great for more specific issues related to syntax, etc. I've already used this to see examples of ItemTemplate [google.com] in C#. A simple search on regular google yields examples, but it also returns a lot of crap.
When considering TMTOWTDI, looking at other code similiar to yours can be very helpful, and (for me, at least) can help break out of a code writers block when I've been working with a particular chunk of code for too long.
Parent
"Given enough eyeballs... (Score:3, Informative)
Well, it looks like that's not really the case: http://www.google.com/codesearch?hl=en&lr=&q=++%5
I hope this service will help improve code quality...
Re: (Score:2)
I never made that typo, and never saw it on other's code.
Impressive.
No need to search for Cobol? (Score:5, Funny)
Well, that's one entire season of "Battlestar Galactica" rendered entirely pointless. Thanks a lot!
A good start.. (Score:5, Insightful)
Re: (Score:3, Informative)
Not that useful (Score:2, Interesting)
security hole search (Score:5, Insightful)
http://www.google.com/codesearch?hl=en&lr=&q=Wher
Re: (Score:2, Informative)
searched for backdoor password (Score:5, Interesting)
The old saying is true . . . (Score:5, Funny)
Your Search (Score:4, Funny)
Some advice (Score:2)
For online services : Don't put up code that states explicitly, not for production [google.com] .
For users : Stay away from online services that put up code that states "not for production". :-)
cpan.org
...
twiki.org
osuosl.org
Doesn't seem to work too well (Score:2)
Proof (Score:5, Funny)
Oh crap! (Score:4, Funny)
I found orgasm code! (Score:4, Funny)
void Mammal::mate( Mammal& partner ) {
M_partner = partner.getId();
if( partner.getPartnerId() != M_id ) {
return;
}
if( M_gender == 0 ) {
partner.mate( *this );
return;
}
assert( M_gender == 1 );
int x = M_x, y = M_y;
switch( M_direction ) {
case EAST: x--; break;
case NORTH: y++; break;
case WEST: x++; break;
case SOUTH: y--; break;
}
if( !M_field->in( x, y ) ) return;
int cx = M_x, cy = M_y;
M_x = x;
M_y = y;
orgasm();
partner.orgasm();
Mammal* child;
child = new Mammal( *M_field, cx, cy, NEWBORNENERGY, *this, partner );
M_energy -= CHILDBIRTHENERGY;
M_population->add( *child );
printf( "MATE(%d,%d)->%d(%d) ", M_id, partner.getId(), child->getId(), child->getGeneration() );
partner.printState();
printGenotype();
printState();
child->printGenotype();
child->printState();/**/
}
void Mammal::orgasm() {
M_energy -= MATINGENERGY;
M_result = 1;
}
Moo (Score:3, Funny)
This is great: finding algorithms (Score:3, Interesting)
I can't find any of the software with my name on it that's on SourceForge, though.
K&R vs. Alii (Score:3, Interesting)
Re: (Score:2)
I would have tried it anyhow, considering that it was cited in the article summary.
(Sorry couldn't resist) :-)
Re:I like this search better - fucking funny as (Score:4, Funny)
LOL your search has now uncovered the hidden angst of a million programmers :
Parent
Re:I like this search better - fucking funny as (Score:5, Interesting)
/usr/src/linux/arch/sparc/kernel/ptrace.c
But I also stumbled upon this little gem in
* Heavily influenced by the old firewall.c by David Bonn and Alan Cox.
*
* Thanks to Rob `CmdrTaco' Malda for not influencing this code in any
* way.
*
Anyone knows if there is a story behind this comment? Is it a private joke on taco, or did he piss them off?
Parent
Re: (Score:2)
*sob*
Re: (Score:2)
Maybe SCO can use it to find the millions of lines of misappropriated code that "got lost" in Blepp's suitcase?
Re: (Score:2)
Sorta like your post.