KRUGLE BY: Roli Shrivastava. STORIES COLIN SAYS “ It was the first day at my new job and one my...
-
Upload
kristina-smith -
Category
Documents
-
view
214 -
download
2
Transcript of KRUGLE BY: Roli Shrivastava. STORIES COLIN SAYS “ It was the first day at my new job and one my...
STORIESSTORIES
COLIN SAYSCOLIN SAYS “ “It was the first day at my new job and one It was the first day at my new job and one my new colleagues told me that they were looking for a my new colleagues told me that they were looking for a specific type of semaphore implementation in Java. I said specific type of semaphore implementation in Java. I said 'hey, have you tried to find it using Krugle?' He fired up the 'hey, have you tried to find it using Krugle?' He fired up the page, entered his search details and was faced with several page, entered his search details and was faced with several pages worth of results, something traditional search had pages worth of results, something traditional search had failed to do. Proof, if any were needed, that Krugle.com is failed to do. Proof, if any were needed, that Krugle.com is not only cool, it makes you look cool at your new job too.not only cool, it makes you look cool at your new job too. ” ”
Rick SaysRick Says “ “I needed to find a good hashtable I needed to find a good hashtable implementation in pure C. I knew it must exist in some implementation in pure C. I knew it must exist in some corner somewhere. Coding it myself is dirty work and I corner somewhere. Coding it myself is dirty work and I didn't want to reinvent the wheel. So I tried Krugle. My very didn't want to reinvent the wheel. So I tried Krugle. My very first time using it, and I found what I needed.first time using it, and I found what I needed. ” ”
Pedro SaysPedro Says “ “No longer a developer...Krugle is developing No longer a developer...Krugle is developing
for me...for me... ””
R U A DEVELOPER??R U A DEVELOPER??
most powerful development strategy is…..most powerful development strategy is…..
SEARCH !!!SEARCH !!!
Developers looks for:Developers looks for:– Reuse shopping-cart project , knows someone has builtReuse shopping-cart project , knows someone has built– Why a function call is throwing an error !!!Why a function call is throwing an error !!!
SOLUTION :SOLUTION :
KRUGLE MAKES SEARCH EASY AND EFFICIENT KRUGLE MAKES SEARCH EASY AND EFFICIENT
TO “KRUGLE” OR NOT TO “KRUGLE”TO “KRUGLE” OR NOT TO “KRUGLE”
why would anyone write code from scratch when why would anyone write code from scratch when it already exists? it already exists? – It takes more time It takes more time – It costs more money It costs more money – Its Pointless Its Pointless
““If it’s been coded, we’ll help you find it”If it’s been coded, we’ll help you find it”
ABOUT KRUGLE ABOUT KRUGLE
An innovative search engine An innovative search engine
Designed by developers, for developers Designed by developers, for developers
Meaningful search experienceMeaningful search experience
Developers can easily find codesDevelopers can easily find codes
Can locate / fix problemsCan locate / fix problems
Learn new thingsLearn new things
Share knowledgeShare knowledge
Supports a long list of languages : C, C++, JAVA Supports a long list of languages : C, C++, JAVA etcetc
ABOUT KRUGLE continued …ABOUT KRUGLE continued …
Krugle actively crawls & indexes & maintains the Krugle actively crawls & indexes & maintains the most comprehensive collection ofmost comprehensive collection of– Active repositories in the worldActive repositories in the world– authoritative publicly available repositories in authoritative publicly available repositories in
the world the world
This includes over 350 repositories, This includes over 350 repositories, – hundreds of thousands of active projects and hundreds of thousands of active projects and – millions of source code files. millions of source code files.
Repositories include: Repositories include: – Sourceforge, Apache, KDE, Savannah, Tigris, Sourceforge, Apache, KDE, Savannah, Tigris,
Mozilla, Redhat, IBM, Rubyforge, Python, Perl, Mozilla, Redhat, IBM, Rubyforge, Python, Perl, and Eclipse. and Eclipse.
““SEARCH for CODE”SEARCH for CODE”
Krugle allows you to search from selected Krugle allows you to search from selected "channels" of information. "channels" of information. – Channels include Code, Tech Pages and Project. Channels include Code, Tech Pages and Project.
Each channel is associated with a colored tab at Each channel is associated with a colored tab at
the top of the KRUGLE screen.the top of the KRUGLE screen. Code channel gives instant access to 10 million Code channel gives instant access to 10 million Open Source & publicly available code filesOpen Source & publicly available code files
““SEARCH for PROJECTS”SEARCH for PROJECTS”
Click on the “PROJECTS” Search tab Click on the “PROJECTS” Search tab
Enter the name of the Open source projectEnter the name of the Open source project
Information will include :Information will include :– A project descriptionA project description– Development languageDevelopment language– Project homepageProject homepage– Licensing informationLicensing information
Krugle has crawled over 50,000 publicly available Krugle has crawled over 50,000 publicly available projects. projects.
““SEARCH for TECH PAGES”SEARCH for TECH PAGES”
Originally, Krugle was a “code only” search Originally, Krugle was a “code only” search engineengine
But, developers required additional capabilitiesBut, developers required additional capabilities
Users needed simultaneous access to :Users needed simultaneous access to :– DocumentationDocumentation– Bug ReportsBug Reports– Discussion ThreadsDiscussion Threads– Legal InformationLegal Information– Release newsRelease news– Application notesApplication notes
““TECH PAGES”TECH PAGES”
The “Tech Pages” are good for finding:The “Tech Pages” are good for finding:– API DocumentationAPI Documentation– Bug reportsBug reports– Forum Threads and DiscussionsForum Threads and Discussions– Release newsRelease news– Reviews and White PapersReviews and White Papers
Krugle has crawled over 35 million technical Krugle has crawled over 35 million technical pages. pages.
““SEARCH SELECTED”SEARCH SELECTED”
Users can track code relationships and Users can track code relationships and dependencies dependencies
developers are able to select any term or groups developers are able to select any term or groups of terms in the code of terms in the code – specify where to search (file, project, all) for specify where to search (file, project, all) for
that specific term that specific term – what code instances to find (definitions, calls, what code instances to find (definitions, calls,
etc.) etc.)
““SAVING & SHARING RESULTS”SAVING & SHARING RESULTS”
Krugle allows you to save a reference to your current Krugle allows you to save a reference to your current search results search results
11stst way is : Saving the Link way is : Saving the Link
““SAVING & SHARING RESULTS”SAVING & SHARING RESULTS”
22ndnd Way is : Saving in .txt format Way is : Saving in .txt format
““ADDING COMMENTS“ADDING COMMENTS“
With Krugle :With Krugle :– add a comment to your current file, by using add a comment to your current file, by using
the the
"Add Note" button "Add Note" button – The notes feature allows you to enter a title for The notes feature allows you to enter a title for
the note that summarizes its purposethe note that summarizes its purpose– Add keywords in the tag field that will help Add keywords in the tag field that will help
match the note to search terms match the note to search terms – Tags can be publicly viewable by all Krugle Tags can be publicly viewable by all Krugle
users or kept private for your use only users or kept private for your use only
INTEGRATIONINTEGRATION
Krugle supports Subversion and CVS repositories.Krugle supports Subversion and CVS repositories.
Archive support coming soon! Archive support coming soon!
BROWSER PLUG-INBROWSER PLUG-IN
Firefox 1.5 & 2.0Firefox 1.5 & 2.0– Krugle Code Search Krugle Code Search – Krugle Tech Pages SearchKrugle Tech Pages Search – Krugle Project Search Krugle Project Search
Browser Plug-in Continued …Browser Plug-in Continued …
Toolbar (IE 6 and IE 7)Toolbar (IE 6 and IE 7)
LOOKING FOR KRUGLE ??LOOKING FOR KRUGLE ??
GOTO GOTO www.krugle.comwww.krugle.comTo Install krugle as a plug-in to To Install krugle as a plug-in to – IEIE– FirefoxFirefox– EclipseEclipse
GOTO GOTO
http://corp.krugle.com/product/getpluginshttp://corp.krugle.com/product/getplugins
TECHINCAL DETAILSTECHINCAL DETAILS
Search MethodologySearch Methodology– The parser is syntactically aware; The parser is syntactically aware;
allowing search on specific code features allowing search on specific code features function callsfunction callsfunction definition function definition class definition, as well as comments. class definition, as well as comments.
Camel-case tokenizing Camel-case tokenizing – function name like callMe will be tokenized function name like callMe will be tokenized
“ “call” & “me”call” & “me”Similarly, applies to underscores Similarly, applies to underscores Other common punctuations and literalsOther common punctuations and literals
TECHNICAL DETAILS contd…TECHNICAL DETAILS contd…
Relevance Ranking Relevance Ranking — Code — Code
Advanced relevance ranking algorithms usesAdvanced relevance ranking algorithms uses– code characteristics code characteristics – project activity project activity
brings the most relevant items to the top of the brings the most relevant items to the top of the search results list. search results list.
Advanced Query Qualifiers for code search allowsAdvanced Query Qualifiers for code search allows– User to search in a specific source repository User to search in a specific source repository
sitessites– Find code by filename, func/class def, Find code by filename, func/class def,
func/class callsfunc/class calls
TECHNICAL DETAILSTECHNICAL DETAILS
– Tech Pages Sophisticated relevance ranking algorithms uses
– presence of software development terminology
– link analysis brings the most relevant items to the top of the
results list.
Advanced Query Qualifiers for tech search allows– User to search in a specific url or sites
TECHINCAL DETAILSTECHINCAL DETAILS
Project Meta Data Project Meta Data – Tied to codeTied to code– Makes it possible to search for code Makes it possible to search for code
Done using human language description Done using human language description – what function the code performs?what function the code performs?
COMPARE with GOOGLE??COMPARE with GOOGLE??
““Look and Feel” of Krugle is much better than GoogleLook and Feel” of Krugle is much better than Google
Options of Code, Tech Pages and Project ReportsOptions of Code, Tech Pages and Project Reports
Speed ?? ( I m not sure )Speed ?? ( I m not sure )
““GOOGLERS” are more in number than “ KRUGLERS”GOOGLERS” are more in number than “ KRUGLERS”
GOOGLE seems to be more general thoughGOOGLE seems to be more general though
KRUGLE has “FORUMS” of its OWN for discussions and KRUGLE has “FORUMS” of its OWN for discussions and blogs.blogs.