Productivity Tool(s)

sharad singla
([email protected])
Forward Integration...

...Backward Integration


Mike testing, mike testing...

Hello 1, 2, 4...
Hello 1, 2, 4...

"wicked fast"

source browser!

Setting it up...

Written in Java

  • Web server (Tomcat7, GlassFish)
  • JDK 7 or 8
  • exuberant-ctags

On Ubuntu...

  • sudo apt-get install exuberant-ctags tomcat7 openjdk-7-jdk ant git
  • mkdir ~/workspace
  • cd ~/workspace
  • wget

On Ubuntu, contd...

  • sudo /etc/init.d/tomcat7 start
  • On browser, check http://localhost:8080
  • tar -xvzf 0.12.tar.gz
  • cd ~/workspace/OpenGrok-0.12
  • ant
  • sudo ./Opengrok deploy
  • On browser, check http://localhost:8080/source

Indexing the source code...

  • cd ~/workspace/OpenGrok-0.12
  • sudo ./Opengrok index
  • sudo /etc/init.d/tomcat7 restart

How it does, what it does?

Inverted index

An inverted index is an index data structure storing a mapping from content, such as words or numbers, to its locations in a document or a set of documents.

A forward index, in contrast, maps from documents to content.


  • org.opensolaris.opengrok.analysis (a.k.a. Analyzer Guru)
  • org.opensolaris.opengrok.index
  • org.opensolaris.opengrok.history (a.k.a. History Guru)
  • org.opensolaris.opengrok.web
Higher up the management chain,
they do less (specialized) work.
Creator: Doug Cutting

Creation: Lucene

The popularity of Lucene
At the core of Lucene's logical architecture is the idea of a document containing fields of text. This flexibility allows Lucene's API to be independent of the file format.

Text from PDFs, HTML, Microsoft Word, Mind Maps, and OpenDocument documents, as well as many others (except images), can all be indexed as long as their textual information can be extracted.

Is this helpful?

Is this simple?

Amdahl's Law

What does it mean?

Amdahl's law is used to find the maximum expected improvement to an overall system when only part of the system is improved.

It is often used in parallel computing to predict the theoretical maximum speedup using multiple processors.

80/20 or 90/10 principle

"A program spends 90% of its time in 10% of its code"
Make the common case faster (Amdahl's law)

...and easier! (human nature)


It's a Chrome extension.

Allows configuring search engines.

Vim plugin
  • :let b:ogs_app_url = 'http://localhost:8080/source'
  • :OgSetProject linux
  • :Og full keepalive



The significance of the open flower bracket...
The logo has a opening flower bracket.

This is a common block start symbol in languages like C and Java.

It has no closing bracket to signify open source.

Thank You!