Hacker News new | past | comments | ask | show | jobs | submit login
A new Linux kernel source code cross-referencer inspired by LXR (github.com/free-electrons)
51 points by kerneldeveloper on May 27, 2017 | hide | past | favorite | 16 comments



Here it is running: http://elixir.free-electrons.com/linux/v4.12-rc2/source

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


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 :)


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


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


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


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


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?


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.


When I submitted this topic, I hesitated about whether should I add "Elixir" to the title. I know this may confuse some people because "Elixir" is also a programming language. However, I think project's name may also help people to distinguish it from other projects, so I add it. It seems that this title indeed causes it to be mistaken for something else and I'm sorry for that.


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.


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?


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


There are only so many words in the language.


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.


And there are 10 million Github repos out there!

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


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 :)




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: