Domain: krugle.com
Stories and comments across the archive that link to krugle.com.
Comments · 12
-
Have you tried Krugle?About a year ago, I took advantage of my employer's "Innovation" program to promote our internal use of a code-search tool called Krugle. I took point in contacting Krugle, arranged for a free demo period, and administered the demo on a machine in our network. Of course, I fell afoul of the "Innovation" program, because my version of "Innovation" was something to help us develop a better product. In fact, the program was intended to find a better color for the box, so my Krugle effort was lost on them, but hey I'm not bitter.... Ok, on to the point. I got a dozen developers to participate in the evaluation of a Krugle copy running inside our firewall. It indexed millions of lines of legacy code, organized across a dozen different projects. In my opinion, and I believe the majority of other evaluators as well, being able to search our code exhaustively was a major benefit in getting "arms around" the code base. It changes your outlook. You start asking questions like
- Where are all the places that a different component calls this API?
- What the heck does error code 4872339 mean, and who generates it?
- How many derived classes override this virtual function?
If you surf on over to Krugle.com, you will see that they now offer a free evaluation copy as a standard product. If you want to get a feeling for what can be done with the tool, just check out Krugle.org, where lots of open-source projects are indexed online. I would definitely recommend using the free evaluation tool as a way of speeding your high-level understanding of any new-to-you code base.
-
Have you tried Krugle?About a year ago, I took advantage of my employer's "Innovation" program to promote our internal use of a code-search tool called Krugle. I took point in contacting Krugle, arranged for a free demo period, and administered the demo on a machine in our network. Of course, I fell afoul of the "Innovation" program, because my version of "Innovation" was something to help us develop a better product. In fact, the program was intended to find a better color for the box, so my Krugle effort was lost on them, but hey I'm not bitter.... Ok, on to the point. I got a dozen developers to participate in the evaluation of a Krugle copy running inside our firewall. It indexed millions of lines of legacy code, organized across a dozen different projects. In my opinion, and I believe the majority of other evaluators as well, being able to search our code exhaustively was a major benefit in getting "arms around" the code base. It changes your outlook. You start asking questions like
- Where are all the places that a different component calls this API?
- What the heck does error code 4872339 mean, and who generates it?
- How many derived classes override this virtual function?
If you surf on over to Krugle.com, you will see that they now offer a free evaluation copy as a standard product. If you want to get a feeling for what can be done with the tool, just check out Krugle.org, where lots of open-source projects are indexed online. I would definitely recommend using the free evaluation tool as a way of speeding your high-level understanding of any new-to-you code base.
-
Re:Sesame Street & the Importance of Bilingual
GetStringLen()? This one seems too short for a real German word. Here's something more realistic:
BuildImpersonateExplicitAccessWithName
And speaking of ridiculously long function names, this one from a chess engine seems to take the cake (without the space):
IterativeDeepeningAlphaBetaSearchUsingKillerMoveOrderingAndTranpositionTable SimpleMaterialAndPositionalEvaluationChooseRandomly BetweenBestMovesStrategy
-
Search will help
Navigating through the source is key to understanding; a good approach to this is to use search, which is ideal for all sorts of ad hoc investigation.
One source code search option is Krugle Enterprise, which can crawl and index the entire code base directly out of the SCM tool. It also finds code-related information, such as check-in comments, references to bugs, and can even be pointed out requirements and design documents that caused the code to be written in the first place (assuming those exist!). Because Krugle parses the code, it can tell the difference between a function call, a function definition, a comment, etc. It's then easy to see, for example, how and where a given interface is being used, even if it crosses language and functional boundaries. Krugle serves up search results from inside the wirewall alongside results from over 2.5 billion lines of Open Source code, too.
Disclaimer: I'm an employee of Krugle. You can check out a demo at http://www.krugle.com/. -
Re:Still doesn't understand the code itself
Sembiance is 100% right that treating code as text will not lead to relevant results. You need to understand the contents. With http://www.krugle.com/ we do parse the code understanding not only the differences between a function call or call definition, but also comments. We take this into consideration when determining ranking - along with the size of the project, amount the codes been used, etc.
-
Re:Source code search engine?
Another is krugle which I've used occasionally.
-
Re:Problems with "++" searches
http://www.krugle.com/
have you been there? I recall it being mentioned on digg or something. I rarely code, and when I do its a basic BASH or Python script, nothing serious. Figured I would apss this on. -
Pure FUD
-
Re:What, no Haskell?
Haskell is available on http://krugle.com/.
-
Add a bit of DiversityI'm almost convinced that programmers are afflicted with 'ADD' as a side effect. It's very easy to get bored with a programming task (especially one that is boilerplate) so we go off on a tangent trying to automate the process of writing boilerplate code.
I find that when spending too much time looking at the same code, it starts becoming 'vague' and I feel as if I'm in a fugue. It's akin to the same thing as writing a story or some e-mail and thinking that you've misspelled the words 'it' or 'and'. It may very well be correct, but it looks foreign and you try to fix something that isn't broken. At that point, it's time for a mental break.
I actually tend to take at least three breaks a day for about five to ten minutes each. The first two, I read Slashdot; usually around 10:00am and the other right before lunchtime. I don't eat out often, but I do pick up lunch and then around 4:00pm, I check out the latest 'IT' curiosity posted on The Daily WTF http://www.thedailywtf.com/. I also check Slashdot again right before I leave so I don't miss some of the few gems posted here.
A lot of IT shops have their eye on Web browsing, but they usually won't pay mind to it unless you're not producing or you have a tendency to frequent sites that raise an eyebrow or two (hint: pr0n sites tend to fall in that category). I do like to visit sites geared towards developers, such as GotDotNet http://www.gotdotnet.com/, CodeProject http://www.codeproject.com/, CodeGuru http://www.codeguru.com/ and the latest "up and coming" Krugle http://www.krugle.com/ code search engine. Sometimes visiting those sites will give a tidbit or two that is useful; you may run across some code or solution to a problem that interests you. Also, you may end up learning something that you'll run into in the future. (Coders tend to re-invent the wheel if they don't have the code handy; however, if the code is there, they tend to add spinning rims to it.)
Adding a bit of diversity to the routine helps keep you on the edge and refreshed to approach a problem in a new light.
-
Krugle
If I'm looking at third-party code (instead of my own), I like to use Krugle. It's still in beta and I was lucky enough to get a beta invite, but it's an extremely powerful tool for searching through repositories and documentation.
-
"Borrowed" text from Google Privacy PolicyThese guys want to be like Google so much they even "borrowed" some of Google's text for their privacy policy: