HNHacker News
TopNewBestAskShowJobs

sransara

26 karma · joined March 2, 2019

Hi, I am Sam.
submissionscomments
sransara··on Some Git internals
I wrote my self a note about this last year to demystify the internal data structure [0], if you want to check it out. But the TLDR straight to rabbit holes; is that commits are a directed acyclic graph (DAG) [1]. And the file tree snapshot is a fully persistent trie [2]. And the commit DAG points to different snapshots. Branches are name shortcuts to commits.

[0] https://sransara.com/notes/2019/build-yourself-a-git/ [1] https://en.wikipedia.org/wiki/Directed_acyclic_graph [2] https://en.wikipedia.org/wiki/Persistent_data_structure

sransara··on Chess tactics explained
Hikaru's videos are very entertaining. This[0] was pretty fun to see. Not the best example of his instructional videos.

[0] https://www.reddit.com/r/chess/comments/k34chd/exactly_just_...

GM Daniel Naroditsky's channel[1] is the best instructional I have seen. His speedrun series is very good. He takes the time to stop and explain his thought process while playing the game. And then after few games he does a deeper analysis and answer any questions. The moment that sold me was when he showed how they use chess engine to do preparations at their rating level.

[1] https://www.youtube.com/c/DanielNaroditskyGM

On a side note, I have been working on a bughouse[2] chess web app in my spare time[3]. It's not ready for HN traffic yet though. Bughouse is not getting a Queen's Gambit anytime soon. But I would love to see more steam behind online bughouse as well. It is my favorite variation. The need for team work and communication makes it very lively.

[2] https://en.wikipedia.org/wiki/Bughouse_chess [3] https://utopia.buddychess.com/

sransara··on Write yourself a Git (2018)
Thanks for sharing. I too agree on this: "... Git is complex is, in my opinion, a misconception... But maybe what makes Git the most confusing is the extreme simplicity and power of its core model. The combination of core simplicity and powerful applications often makes thing really hard to grasp..."

If I may do a self plug, I had recently written a note on "Build yourself a DVCS (just like Git)"[0]. The note is an effort on discussing reasoning for design decisions of the Git internals, while conceptually building a Git step by step.

[0] https://s.ransara.xyz/notes/2019/build-yourself-a-distribute...