Mary Rose Cook

maryrosecook.com · Personal blog · on HN since 2008

Mary Rose Cook, a programmer and educator, writes about Git internals, functional programming, a small Lisp interpreter and teaching.

What HN saysHN commenters repeatedly recommend her Git from the inside out essay as the piece that helped them understand Git.
43HN people shared it
20linked it in comments
44stories submitted
1.6Kstory points
5 months agolast shared
2008people per year2026

Most-shared posts

  1. 1
    Git from the inside out
    13 people · 60 points · first shared 2015 · 2 comments on HN
  2. 2
    A practical introduction to functional programming (2013)
    10 people · 564 points · first shared 2015 · 151 comments on HN
  3. 3
    Git in six hundred words
    5 people · 286 points · first shared 2015 · 108 comments on HN
  4. 4
    Little Lisp interpreter
    3 people · 163 points · first shared 2017 · 21 comments on HN
  5. 5
    Git in six hundred words
    3 people · 7 points · first shared 2015 · 1 comments on HN
  6. 6
    Dijkstra’s algorithm and the Fibonacci heap
    2 people · 246 points · first shared 2014 · 95 comments on HN
  7. 7
    Become an AI-Augmented Engineer
    2 people · 6 points · first shared 2025 · 1 comments on HN
  8. 8
    What I do when a student asks for help
    2 people · 4 points · first shared 2016 · discussion on HN
  9. 9
    Using encapsulated development to code on my phone
    2 people · 3 points · first shared 2026 · 1 comments on HN
  10. 10
    How I implemented 2D collision detection in Pistol Slut
    1 people · 90 points · first shared 2011 · 35 comments on HN
  11. 11
    Andro.js
    1 people · 49 points · first shared 2012 · 13 comments on HN
  12. 12
  13. 13
    A practical introduction to functional programming
    1 people · 4 points · first shared 2013 · discussion on HN
  14. 14
    Hacking and transience
    1 people · 3 points · first shared 2010 · discussion on HN
  15. 15
    Machine.js, a library for making behaviour trees
    1 people · 3 points · first shared 2011 · discussion on HN

What HN people wrote when they linked it

leobakerhytch · 2020-12-18
You might like to try Write yourself a Git [0] (discussed here previously [1]). YMMV, but I find the best way to learn something deeply is to get hands on. Less of a chance of convincing yourself you understand something that you really don’t. For less of a time commitment, Git from the inside out [2] is a really nice explanation of the internals, from initializing a repo and the files that creates in the .git directory, all the way to pulling from and pushing to remotes. [0]: https://wyag.thb.lt/ [1]: https://news.ycombinator.com/item?id=19386141 [2]: https://maryrosecook.com/blog/post/git-from-the-inside-out
seleniumBubbles · 2019-03-14
This is great, thanks for sharing. People in this thread might also appreciate this essay: https://maryrosecook.com/blog/post/git-in-six-hundred-words And the more expanded version: https://maryrosecook.com/blog/post/git-from-the-inside-out It really helped me comprehend Git enough to start understanding the more complex work flows.
maryrosecook · 2008-10-14
Excellent! Glad to hear the recommendations are good. I find links between artists and recommend based upon that. These links include: being recommended by a human, being on the same record label, being mutual admirers, playing gigs together, being posted to the same mp3 blog, being on the same mixtapes and so on. I wrote a post on my blog that gives a comprehensive account of how the recommendation system works: http://www.maryrosecook.com/post/show/130 And, yes, I know the UI is horrible.
chmaynard · 2021-04-05
This article/video by Mary Rose Cook is helpful: https://maryrosecook.com/blog/post/git-from-the-inside-out
JustSomeNobody · 2018-12-05
Here's another article on FP in Python for those who'd rather an alternate than go to kite.com. https://maryrosecook.com/blog/post/a-practical-introduction-to-functio… Edit: After scanning the kite.com article for a second time, I see the author actually links to Mary Rose Cook's article.
dvddgld · 2018-02-24
Now this is high quality content, thanks for sharing! This caught my eye too https://maryrosecook.com/blog/post/little-lisp-interpreter
azeirah · 2017-05-28
I don't think you can do any better than to look at Mary Rose Cook's blog posts and heavily annotated Git implementation in JavaScript https://maryrosecook.com/blog/post/git-from-the-inside-out
chubot · 2017-04-27
scandox · 2016-10-27
There's also this from the same author: https://maryrosecook.com/blog/post/git-in-six-hundred-words She's a really clear informative writer
kang · 2016-02-07
Yesterday I was reading this blogpost (http://maryrosecook.com/blog/post/scarface-prince-of-the-city-and-piet… so as soon as I clicked this link I thought no way can a computer learn to do what I read yesterday on its own! I had read headlines about computer-generated images but had never seen them, yet I managed 9/10, anticipating that an artist's technique is not just relation between color etc. but a philosophy. Edit: Also, it is not a turing test in true sense, since it's one sided. It would be turing test if I tell them what to draw & then it's tough to distinguish between what an artist & computer paints.
jonjacky · 2015-07-27
Mary Rose Cook: http://maryrosecook.com/blog/archive Julia Evans: http://jvns.ca/blog/archives/ also http://jvns.ca/projects/ Most of their articles are about technical topics beyond the beginner level, but each has some articles about learning and teaching in their archives. Tara Mahoney: https://medium.com/the-chronicles-learning-web-development-at/the-chro… By a web designer self-taught in HTML/CSS, learning Ruby/Rails at a coding bootcamp.
mattchew · 2015-07-24
Don't think this is the one you're thinking of, but I do like Mary Rose Cook's intro to fp using Python: http://maryrosecook.com/blog/post/a-practical-introduction-to-function…
julian25 · 2015-06-28
Seems like some images are broken on that link...here is an alternate version: http://maryrosecook.com/blog/post/git-from-the-inside-out
Procrastes · 2015-01-22
I really liked your "Git in 600 words.[1]" I think it will help clear up some confusion for some of my VCS wary colleagues. 1. http://maryrosecook.com/blog/post/git-in-six-hundred-words
graue · 2013-03-15
This reminds me a bit of Mary Rose Cook's story, "When I died": http://maryrosecook.com/post/when-i-died-2
logicallee · 2017-04-08
Here is an explanation, it's the top when when I googled "easy explanation of functional programming." https://maryrosecook.com/blog/post/a-practical-introduction-to-functio… Please read it. Do you know functional programming now? Do you get it? Do you get the point of it? Did you "grok" the whole reason that the functional paradigm exists? In my opinion that article fails to meet the test. In its very first paragraph it calls out some negative approaches that assume too much or are too hard; in the second paragraph it does the same thing. >The assertion that no one is able to explain functional programming is rather extreme and doesn't pass the sniff test. It's certainly easy to falsify my claim. You can do so with a single link. So if anyone is able to explain functional program in a way that makes it clear and easy, and really lets people grok its purpose and approach, where is that explanation? Where are the benefits that people reap by reading it? The fact is, the resources I have reviewed fail that metric. The people who teach it aren't actually able to explain it easily and well. You suggest that "perhaps [I] mean to say that it is very difficult to explain" -- maybe so, but that is still a reason why it is not true that if someone understands something, then they can also explain it. Here we have a clear example where this is not the case. There are also many more examples in the arts and sciences. Not everything can be explained. …
agumonkey · 2015-07-24
Just in case, a few years back I've seen an article on functional programming in python. Mostly arithmetic but the patterns were very pretty (think Euclid algorithm generalized). I never managed to find it again. If that rings a bell to someone, I'll be forever virtually indebted. - http://www.ibm.com/developerworks/library/l-prog/ - http://kachayev.github.io/talks/uapycon2012/#/ - http://anandology.com/python-practice-book/functional-programming.html - http://maryrosecook.com/blog/post/a-practical-introduction-to-function… - http://rosettacode.org/wiki/Numerical_integration#Python

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close