KRUGLE BY: Roli Shrivastava. STORIES COLIN SAYS “ It was the first day at my new job and one my...

32
KRUGLE KRUGLE BY: Roli Shrivastava BY: Roli Shrivastava

Transcript of KRUGLE BY: Roli Shrivastava. STORIES COLIN SAYS “ It was the first day at my new job and one my...

KRUGLEKRUGLE

BY: Roli ShrivastavaBY: Roli Shrivastava

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.

FEATURES OF KRUGLEFEATURES OF KRUGLE

““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

SCREEN SHOTSCREEN SHOT

““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.

SCREEN SHOTSCREEN SHOT

““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

SCREEN SHOTSCREEN SHOT

““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

SCREEN SHOTSCREEN SHOT

““SAVING & SHARING RESULTS”SAVING & SHARING RESULTS”

22ndnd Way is : Saving in .txt format Way is : Saving in .txt format

SCREEN SHOTSCREEN SHOT

““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

SCREEN SHOT SCREEN SHOT

SCREEN SHOT 2SCREEN SHOT 2

INTEGRATIONINTEGRATION

Krugle supports Subversion and CVS repositories.Krugle supports Subversion and CVS repositories.

Archive support coming soon! Archive support coming soon!

IDE-Plug-IN for KrugleIDE-Plug-IN for Krugle

Eclipse Plug-in BetaEclipse Plug-in Beta

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.