
A new Linux kernel source code cross-referencer inspired by LXR - kerneldeveloper
https://github.com/free-electrons/elixir
======
jlarocco
Here it is running: [http://elixir.free-
electrons.com/linux/v4.12-rc2/source](http://elixir.free-
electrons.com/linux/v4.12-rc2/source)

It's nice, but I prefer [http://lingrok.org/](http://lingrok.org/). It's
definitely easier to browse previous versions using Elixir, though.

~~~
kerneldeveloper
Yeah, OpenGrok is also an awesome cross reference engine. However, its
installation steps are a little difficult, especially for some non-web
developer. I once wanted to host OpenGrok on my VPS, but I finally gave up :)

------
cyphar
I noticed the other day that free-electrons had swapped their interface to the
new one. It's nice they decided to make it free software (using git on my
local machine always has taken quite a long while -- so long that I wrote my
own .git parser in shell so that it could efficiently generate my terminal
prompt).

~~~
i336_
Oookay, we're going to need the gist of how you built that. That sounds cool.

~~~
cyphar
It's quite crude, since all I needed was the current branch name and the hash.
git internally does a bunch of cache warming and verification that make it
slower, so I just don't do that. The code is in my dotfiles[1].

I've been meaning to update it to include more information but I really don't
want to have to touch packfiles in shell.

[1]:
[https://github.com/cyphar/dotfiles/blob/acbd9096a1daead80ba5...](https://github.com/cyphar/dotfiles/blob/acbd9096a1daead80ba50ebef3fa1b6fdb5a89a2/.zsh/prompt#L49-L153)

~~~
i336_
Thanks! Parsing git information without using git has always been mildly
interesting to me :)

This is most definitely for zsh, FWIW; I choked slightly on `echo $var[1,12]`
for a minute there. That's not a problem - you wrote this for your shell
prompt, you use zsh, it makes sense to use zsh features - I'm just noting that
others might need to do a bit of porting.

(I personally use bash by choice myself because it's the most widely installed
shell and I don't want to switch until I fully know how to make the most
concise and least surprising use of it.)

------
akavel
How does it compare to the other existing solutions? (LXR? LXRng? OpenGrok?
I'm not an expert here)

Does it work for other code (not Linux kernel) too? What are the requirements?
Would it e.g. work for SQLite? Lua?

------
dang
We've taken "Elixir" out of the title above because otherwise the thread will
be about nothing but that.

How about we treat this as an exercise in community self-discipline and see if
we can resist the name-bait? I know it's hard.

~~~
cyphar
I don't understand, the project is _called_ Elixir. Isn't it against HN rules
to editorialize titles -- I would assume "The Elixir Cross Referencer" is the
valid title for such a submission.

~~~
tomhoward
There's a reason they're called _guidelines_ not _rules_ :)

We don't want them to be rigidly enforced for their own sake, we want them to
help cultivate more interesting discussions.

So, when a case arises in which the original title causes a discussion to be
bad (e.g., it is becoming dominated by off-topic discussion of the fact that
the project's name causes it to be mistaken for an established project that's
already well known to the community), that surely warrants a deviation from
the guidelines, no?

------
microcolonel
Name collisions really should be getting less common, not more, given how easy
it is to search things today.

~~~
pmorici
There are only so many words in the language.

~~~
microcolonel
If by so many, you mean more than 170,000 in active use, plus all the puns,
plays on words, or portmanteaus which don't qualify as words but can easily be
the name of a software project.

~~~
lmitchell
And there are 10 million Github repos out there!

So yeah... we're running out. ;)

~~~
kerneldeveloper
Maybe we have to concatenate some words and create a new word which doesn't
exist in English dictionary to get a unique project name :)

