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!
Long-time HN lurker here! Was excited to see this discussion around my major interests of Talmud, Kabbalah, and tech.
There are a lot of misconceptions and mystique surrounding the Talmud. I'd like to take the opportunity to clarify some fundamental aspects, as relates to the discussion here:
The famous "Talmud page" (discussed in the links in the parent comment) was set by a Christian printer in the 16th century.
It emulated a common layout in medieval Christian manuscripts for Christian primary texts and commentaries [0].
The analogy of the Talmud to a hypertext isn't especially apt, IMO. The Talmud indeed extensively cites Bible and Mishnah, and uses lots of technical terms. In this regard, a better analogy is to legal literature (which is what the Talmud in fact is). While being couched as a (fictional) "conversation"/dialogue between rabbis who lived over the course of ~400 years (100 CE to 500 CE).
In fact, Kabbalah (as another commenter mentioned) is a better example of a “hypertext,” since it’s full of recurring symbols that point to different Sefirot and other core concepts.
(By way of credentials: I hold an MA in academic Talmud and Kabbalah, write on these subjects in several venues, and have presented at academic workshops. Over the past two years, I’ve also been developing digital-humanities projects related to this work.)
> The analogy of the Talmud to a hypertext isn't especially apt, IMO.
Isn’t it? Every page of the Talmud includes marginal notes (Masoret HaShas, Ein Mishpat, Torah Or) giving cross-references to relevant parts of the Torah, Talmud and other legal codes. In a web-based version I think it would be natural to represent those with hypertext.
That's awesome!! Thank you very much! I would have next asked you, what do you think of those apps for studying the Talmud, https://www.sefaria.org/app et al, but in those links you already mention it. Looking forward to reading these, thanks!
Sefaria is incredible, it's revolutionized access to classical texts. And their API gives full and complete access. My vibe-coded Talmud reader website fetches Talmud, Bible, and translations from Sefaria, you might be interested in checking it out :)
This looks amazing. Took me some time to find the author (https://fabiomaia.eu). Will drop a message to ask if it'd be possible to have a similar tool for Python. I find it useful to teach new engineers how to find the source code in the cpython repository, check if the code is Python or C, and understand what the code does (some times the docs are a bit lacking/confusing for newcomers).
> Will drop a message to ask if it'd be possible to have a similar tool for Python.
Why not create your own? This is as wild as open-source expectations of a speedy implementation, addressing issues quickly, etc. Folks always want more and more.
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.
> 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.
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?
I love your UDP packet flow tool, kudos for making that! I've always wondered how packets move through an OS. Also interesting how many gotos I see all over the place, even though everyone says "goto is the devil". Then again maybe this code was written long before that "proverb" came into existence.
You know, I think this Explorer is exactly the tool many of us lacked. Reading the Linux kernel source always felt daunting — thousands of files, confusing paths, complex structure. This feels like a “map” that helps you orient yourself, see how parts interconnect, how VFS works, how modules tie together. Yeah, sometimes a feature breaks (API limits, errors opening directories), but even so — this is a great way to peek “under the hood,” understand the architecture, and take the first step. Big thanks to the folks behind it.
I believe it's a navigation tool, with pointers to important parts of the code. Useful for those that want to learn about the code base but do not know where to get started.
Agree. The VFS is a delight to read. It's a good intro to the kernel pattern of using function pointers to provide a generic API which other functionality can plug into, simply by implementing the appropriate functions. In this case you'll see all the filesystem drivers implement the VFS operations.
I really like this reactive guide style interface, which maybe could be quite a good project idea like mdBook[1] but also you to insert quizzes/examples alongside static notes
Very interesting! I was kind of expecting that this was going to use LLMs / coding agents to explain the kernel as you stepped through it. But this is a nice app.
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.
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)
Long-time HN lurker here! Was excited to see this discussion around my major interests of Talmud, Kabbalah, and tech.
There are a lot of misconceptions and mystique surrounding the Talmud. I'd like to take the opportunity to clarify some fundamental aspects, as relates to the discussion here:
The famous "Talmud page" (discussed in the links in the parent comment) was set by a Christian printer in the 16th century.
It emulated a common layout in medieval Christian manuscripts for Christian primary texts and commentaries [0].
The analogy of the Talmud to a hypertext isn't especially apt, IMO. The Talmud indeed extensively cites Bible and Mishnah, and uses lots of technical terms. In this regard, a better analogy is to legal literature (which is what the Talmud in fact is). While being couched as a (fictional) "conversation"/dialogue between rabbis who lived over the course of ~400 years (100 CE to 500 CE).
In fact, Kabbalah (as another commenter mentioned) is a better example of a “hypertext,” since it’s full of recurring symbols that point to different Sefirot and other core concepts.
(By way of credentials: I hold an MA in academic Talmud and Kabbalah, write on these subjects in several venues, and have presented at academic workshops. Over the past two years, I’ve also been developing digital-humanities projects related to this work.)
References:
[0] https://seforimblog.com/2023/06/from-print-to-pixel-digital-...
[1] https://www.ezrabrand.com/p/beyond-the-mystique-correcting-c...
> The analogy of the Talmud to a hypertext isn't especially apt, IMO.
Isn’t it? Every page of the Talmud includes marginal notes (Masoret HaShas, Ein Mishpat, Torah Or) giving cross-references to relevant parts of the Torah, Talmud and other legal codes. In a web-based version I think it would be natural to represent those with hypertext.
That's awesome!! Thank you very much! I would have next asked you, what do you think of those apps for studying the Talmud, https://www.sefaria.org/app et al, but in those links you already mention it. Looking forward to reading these, thanks!
Definitely!
Sefaria is incredible, it's revolutionized access to classical texts. And their API gives full and complete access. My vibe-coded Talmud reader website fetches Talmud, Bible, and translations from Sefaria, you might be interested in checking it out :)
https://chavrutAI.com/
Source code here:
https://github.com/EzraBrand/replit-chavrutai-2
I've been vibe-coding it over the last few months using Replit, it's been a really cool experience
The goyim know btw
This file from chapter 1 cannot be opened: arch/x86/kernel/entry_64.S ("Failed to load file").
It's also not visible in the directory tree on the left.
(Oddly enough another comment mentioned this already and is voted dead. Why?)
This looks amazing. Took me some time to find the author (https://fabiomaia.eu). Will drop a message to ask if it'd be possible to have a similar tool for Python. I find it useful to teach new engineers how to find the source code in the cpython repository, check if the code is Python or C, and understand what the code does (some times the docs are a bit lacking/confusing for newcomers).
> Will drop a message to ask if it'd be possible to have a similar tool for Python.
Why not create your own? This is as wild as open-source expectations of a speedy implementation, addressing issues quickly, etc. Folks always want more and more.
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.
> 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.
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
I love your UDP packet flow tool, kudos for making that! I've always wondered how packets move through an OS. Also interesting how many gotos I see all over the place, even though everyone says "goto is the devil". Then again maybe this code was written long before that "proverb" came into existence.
You know, I think this Explorer is exactly the tool many of us lacked. Reading the Linux kernel source always felt daunting — thousands of files, confusing paths, complex structure. This feels like a “map” that helps you orient yourself, see how parts interconnect, how VFS works, how modules tie together. Yeah, sometimes a feature breaks (API limits, errors opening directories), but even so — this is a great way to peek “under the hood,” understand the architecture, and take the first step. Big thanks to the folks behind it.
I don't get it. I can't pull master, I can't grep, I can't edit and I certainly can't gmake there.
What's the use?
I believe it's a navigation tool, with pointers to important parts of the code. Useful for those that want to learn about the code base but do not know where to get started.
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.
Agree. The VFS is a delight to read. It's a good intro to the kernel pattern of using function pointers to provide a generic API which other functionality can plug into, simply by implementing the appropriate functions. In this case you'll see all the filesystem drivers implement the VFS operations.
Love this! Small bug but when changing files, it doesn't reset to position 0 in the file (at least on Firefox on Win11).
I really like this reactive guide style interface, which maybe could be quite a good project idea like mdBook[1] but also you to insert quizzes/examples alongside static notes
[1]: https://github.com/rust-lang/mdBook
Very interesting! I was kind of expecting that this was going to use LLMs / coding agents to explain the kernel as you stepped through it. But this is a nice app.
This is super cool. Love the little icons in the left and would be nice if they were clickable.
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!
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.
It's a better navigation and overall quicker way to read 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
Even if it was the same, how problematic would it be ?
I don't see all those versions, and for some reasons my fans turned on with the elixir link lol
Were the quiz questions generated by a human or AI?
The very first sentence of the guide is "It's not X—it's Y. It does Z". Safe to assume the entire thing is AI generated.
This is very nice. It would be interesting to see the same for other code bases like emacs and vim.
I don't know why you're getting downvoted. It would be wonderful if there was same site for all the big open source projects
Thanks for sharing OP! It seems quite some people liked it, so I'll be listening to feedback and see what to do next. :)
Can I somehow deploy it locally?
I appreciate the learning guidance.
when I try to open arch/x86/kernel/entry_64.S. it just says: Failed to load file Failed to fetch file: File: arch/x86/kernel/entry_64.S
maybe its a bug?
I love this.
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]
[dead]