TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Interesting Codebases

344 pointsby markpapadakisover 7 years ago

14 comments

joshmarlowover 7 years ago
If you enjoy going through interesting code bases and learning some new tricks and patterns, you would probably enjoy &quot;The Architecture of Open Source Applications&quot; ([0]) - each chapter is a description about the history and architecture of a separate open source project. Whenever learning a new technology, I usually try to find a chapter in this series about it.<p>[0] - <a href="http:&#x2F;&#x2F;aosabook.org&#x2F;en&#x2F;index.html" rel="nofollow">http:&#x2F;&#x2F;aosabook.org&#x2F;en&#x2F;index.html</a>
评论 #15384176 未加载
swangover 7 years ago
one of my biggest issue with looking through codebases is, where do i start?<p>if i&#x27;m not familiar at all with the language, or more specifically how the language architectures the program, i&#x27;m just going to be spending a lot of time looking at stuff that probably isn&#x27;t the meat and bones of the library&#x2F;app.<p>take for example, his first suggest codebase, seastar. i haven&#x27;t done c++ in years (school, using turbo borland) so where do i look? &quot;apps&quot; maybe? nope just seems to be a folder of libraries. ah, probably the core folder. whoops there are 20+ files&#x2F;headers. should i dig into this assuming that&#x27;s where most of the code for the app&#x2F;library is?<p>i suppose it would probably be nice if there&#x27;s a site that explains how most programming languages layout their code. e.g) javascript generally is laid out similarly now, as is ruby&#x2F;rails. so a site to explain the general layout structure would be kinda cool. it&#x27;s kinda late at night so maybe i&#x27;m overthinking this.
评论 #15383033 未加载
评论 #15382920 未加载
评论 #15384448 未加载
评论 #15384025 未加载
评论 #15383404 未加载
评论 #15391531 未加载
评论 #15387332 未加载
评论 #15382896 未加载
评论 #15383263 未加载
评论 #15383099 未加载
评论 #15390535 未加载
runlevel1over 7 years ago
Redis is a code base I&#x27;ve been impressed with.<p>Short, readable functions and good comments make it quite easy to follow.<p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;antirez&#x2F;redis" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;antirez&#x2F;redis</a>
评论 #15385224 未加载
评论 #15385297 未加载
apetrescover 7 years ago
I guess I&#x27;ll be that guy and say that I highly doubt the author has taken more than a cursory glance at more than half his list. He certainly hasn&#x27;t had the deep epiphanies he&#x27;s implying from each of them.<p>Seriously, he expects people to believe he&#x27;s evaluated the code of the Linux kernel, the Chrome browser, Postgres, LLVM, Tensorflow (just to name a few, less than half of his list), deeply enough to be able to make statements like &quot;finest codebase in [x, y category] that I&#x27;ve seen&quot;, while also being the CTO of a company?
评论 #15385120 未加载
评论 #15385515 未加载
评论 #15386405 未加载
评论 #15386771 未加载
nextosover 7 years ago
Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp<p><a href="https:&#x2F;&#x2F;norvig.com&#x2F;paip.html" rel="nofollow">https:&#x2F;&#x2F;norvig.com&#x2F;paip.html</a><p>Classic expert systems, but IMHO not outdated. I think they will make a comeback soon once we understand how to integrate probabilistic reasoning, logic and connectionist approaches.
irfansharifover 7 years ago
There was some discussion on the very same for an Ask HN[0]. Copying my comment from there I&#x27;ve found the google&#x2F;leveldb[1] source code to be immensely educational, authored by Jeff Dean and Sanjay Ghemawat. The implementation of leveldb is similar in spirit to the representation of a single Bigtable tablet[2].<p>[0]: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=13854431" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=13854431</a><p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;google&#x2F;leveldb" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;google&#x2F;leveldb</a><p>[2]: <a href="http:&#x2F;&#x2F;research.google.com&#x2F;archive&#x2F;bigtable.html" rel="nofollow">http:&#x2F;&#x2F;research.google.com&#x2F;archive&#x2F;bigtable.html</a>, section 5.3
simplegeekover 7 years ago
Great achievement to have read so much code. Honestly, I felt a little depressing for not having read this much code.<p>As an aside, how do you read codebases? Do you read every single line to understand what&#x27;s going on? Or you get general idea about design&#x2F;architecture? What are the proven strategies to read code bases?
laGrenouilleover 7 years ago
If you are interested in reading codebases but find some of the larger projects intimidating, I suggest checking out Timothy Davis&#x27; sparse matrix library CSparse: (<a href="http:&#x2F;&#x2F;people.sc.fsu.edu&#x2F;~jburkardt&#x2F;c_src&#x2F;csparse&#x2F;csparse.html" rel="nofollow">http:&#x2F;&#x2F;people.sc.fsu.edu&#x2F;~jburkardt&#x2F;c_src&#x2F;csparse&#x2F;csparse.ht...</a>).<p>It is is used internally for sparse matrix representations in Python, R, and Matlab. The entire library fits into 2100 lines of concise yet well documented C code. It is now mostly installed bundled with SuiteSparse, but the link above has the 2006 codebase from the original stand alone library.
dunhamover 7 years ago
Back in high school and college I spent a lot of time reading code. I was on the Amiga, and remember reading Matt Dillon&#x27;s stuff (a C compiler with library, the DME editor, and Dnet), Tim Budd&#x27;s smalltalk, David Betz&#x27; &quot;advsys&quot; (which inspired me to read a book on parsing and automata), and other stuff that I&#x27;ve since forgotten.<p>These days, it&#x27;s hard to find time between work and an absolute deluge of interesting stuff to study and play with.
wiremineover 7 years ago
This is great! We need more of these sorts of posts. There is so much the community can learn from excellent code bases. Thx for posting!
评论 #15385160 未加载
drejover 7 years ago
Adding golang&#x2F;go to the list. It&#x27;s interesting to read how an actual language is implemented, also it&#x27;s fairly well documented (most of the documentation is extracted from the codebase, so all the crucial bits have to be there).<p>There are a few parts of the codebase that were automatically transpiled from C, but the rest is usually very readable.
ben174over 7 years ago
I&#x27;ve always found thefuck to be a great Python code base which is nicely organized and easy enough to wrap your head around. Also an easy project to contribute to.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;nvbn&#x2F;thefuck" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;nvbn&#x2F;thefuck</a>
rdiddlyover 7 years ago
The codebase I inherited and now maintain is &quot;interesting&quot; too, but more like this:<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;May_you_live_in_interesting_times" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;May_you_live_in_interesting_ti...</a>
LiamPaover 7 years ago
I always look to requests in how python should be used:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;requests&#x2F;requests" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;requests&#x2F;requests</a>