I love tools like this. I remember using a similar one (made by Red Hat IIRC) that I used to look inside the sources for the Brazilian voting machine (I was asked to map duplicate files and functionality and simplify the codebase) in 2002. It was a desktop app with a very Motif interface.
Very neat. It reminds me a bit of how pages in the Talmud are laid out. From a gentile perspective, it was very interesting to me to see how hundreds (thousands?) of years of commentary are contained within the same page.
Code isn't linear the same way, and pages don't make as much sense, but that idea of layers of commentary rings out in this Linux Kernel Explorer as well. I very much like the notes on the side!
I love this idea. I like exploring code of interesting projects even if I don't intend to ever work on them, but in complex software I don't know much about it's hard to even find where are the most important basic parts. This allows me to easily find and see how some things in the kernel look like.
Found a bug: in the Chapter 2, when I click on "open" next to "mm/" or other dirs, I get an error: " Failed to load file - Invalid file response from GitHub API - File: mm/". I guess it's cause it tries to open the dir as a file, instead of something like pointing at the dir in the dir tree?
> API rate limit exceeded for 106.51.68.199. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)
The GitHub APIs that you are using to list files are getting rate-limited in my case. If somebody else is also facing this issue, just use a VPN or something like Cloudflare Wrap to change your ip - this should fix the issue.
P.S If you are the main dev, giving an option to the visitor to sign in using Github or use a caching layer will be really helpful to make this accessible for the new user.
Elixir is a great tool for exploring and cross-referencing the Linux codebase but
for a new person, Linux can come across as very intimidating and complicated. The above explorer makes it very interesting to explore the codebase. This is kind of like an interactive book on Linux internals, with every topic being referenced through code.
I love tools like this. I remember using a similar one (made by Red Hat IIRC) that I used to look inside the sources for the Brazilian voting machine (I was asked to map duplicate files and functionality and simplify the codebase) in 2002. It was a desktop app with a very Motif interface.
Very neat. It reminds me a bit of how pages in the Talmud are laid out. From a gentile perspective, it was very interesting to me to see how hundreds (thousands?) of years of commentary are contained within the same page.
https://www.reddit.com/r/interestingasfuck/comments/1acgks3/...
https://triberuth.wordpress.com/2016/09/23/my-talmud-layout-...
Code isn't linear the same way, and pages don't make as much sense, but that idea of layers of commentary rings out in this Linux Kernel Explorer as well. I very much like the notes on the side!
Talmud - the original hypertext (tm)
(*maybe, not 100% sure)
see also Pi, the movie, although it's more about numbers and the Kabbalah :) https://en.wikipedia.org/wiki/Pi_(film)
Asking a silly question… what piece of kernel code do you find the most awe-inspiring or impressive?
Maybe fs/select.c or the polling machinery.
I love this idea. I like exploring code of interesting projects even if I don't intend to ever work on them, but in complex software I don't know much about it's hard to even find where are the most important basic parts. This allows me to easily find and see how some things in the kernel look like.
Found a bug: in the Chapter 2, when I click on "open" next to "mm/" or other dirs, I get an error: " Failed to load file - Invalid file response from GitHub API - File: mm/". I guess it's cause it tries to open the dir as a file, instead of something like pointing at the dir in the dir tree?
Yes it's good idea and nicely executed.
For the same reason I created a couple of projects with the same goal of lowering the barrier to entry to the linux kernel:
- an app to follow the UDP packet flow in the linux kernel source code: https://dmkskd.github.io/linux-kernel-network-stack-visualiz...
- a (hopefully) simple way to play with the linux kernel source code on a mac: https://github.com/dmkskd/linux-kernel-debugging-on-mac
Kudos to https://github.com/FlorentRevest for all his work in the space
> API rate limit exceeded for 106.51.68.199. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)
The GitHub APIs that you are using to list files are getting rate-limited in my case. If somebody else is also facing this issue, just use a VPN or something like Cloudflare Wrap to change your ip - this should fix the issue.
P.S If you are the main dev, giving an option to the visitor to sign in using Github or use a caching layer will be really helpful to make this accessible for the new user.
Hey! Thank you for catching this issue and reminding me of the super naive implementation I went with. I will improve this! :)
It’s often better to overlay caching and other tricks on top of naive implementations than making the implementation more complicated.
How is this different from https://elixir.bootlin.com/linux
Elixir is a great tool for exploring and cross-referencing the Linux codebase but for a new person, Linux can come across as very intimidating and complicated. The above explorer makes it very interesting to explore the codebase. This is kind of like an interactive book on Linux internals, with every topic being referenced through code.
Look at the content in the right sidebar, this is like an interactive guide to the kernel.
The Elixir cross referencer does not have any special features to help you learn
I don't see all those versions, and for some reasons my fans turned on with the elixir link lol
Even if it was the same, how problematic would it be ?
This is very nice. It would be interesting to see the same for other code bases like emacs and vim.
Also: https://elixir.bootlin.com/linux/v6.17.9/source
Elixir works better on mobile despite being around for years.
Thanks for the observation about mobile responsiveness, I will improve it!
This is super cool. Love the little icons in the left and would be nice if they were clickable.
I love this.
Thanks for sharing OP! It seems quite some people liked it, so I'll be listening to feedback and see what to do next. :)
I appreciate the learning guidance.
Am I the only one that can't access the website due to certificate problems with the .dev?
I cannot reproduce. Would you mind sharing a bit more? The certificate is handled by Cloudflare Pages.
My bad, the network I was connected to didn't like the certificate for some reason. Cool project!
[dead]