Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    G

    Greg Hurrell

    wincent.com · Personal blog · on HN since 2008

    Greg Hurrell writes about Vim, the Command-T plugin, Git, Relay and software development.

    Visit blogHN submissions
    ProgrammingOpen Source & Linux
    What HN says

    Commenters praise Command-T as a fast file opener for Vim, like him for his Vim and Relay work, and cite his Git merge post.

    Stats for nerds
    33HN people shared it
    19linked in comments
    547story points
    Jul 2022last shared
    2008people per year2022

    Top posts on HN

    1. 1
      Git: Bram Cohen vs Linus Torvalds
      8 people · 306 points · first shared 2008 · 98 comments on HN
    2. 2
      Grieving for Apple
      2 people · 129 points · first shared 2020 · 96 comments on HN
    3. 3
      Betting on the wrong horse
      1 person · 42 points · first shared 2015 · 14 comments on HN
    4. 4
      A Look Back: Bram Cohen vs. Linus Torvalds
      3 people · 35 points · first shared 2019 · 2 comments on HN
    5. 5
      Old Stuff That Rocks
      1 person · 25 points · first shared 2015 · 5 comments on HN
    6. 6
      A tale of three filter-branches
      1 person · 3 points · first shared 2017 · Discussion on HN
    7. 7
      Searching for the Holy Grail
      2 people · 2 points · first shared 2017 · Discussion on HN
    8. 8
      Why vim
      1 person · 2 points · first shared 2013 · Discussion on HN
    9. 9
      How to make a fast fuzzy search
      2 people · 1 points · first shared 2018 · Discussion on HN
    10. 10
      Radioactivity
      1 person · 1 points · first shared 2020 · Discussion on HN

    What HN people wrote when they linked it

    • notaddictedMay 2012

      Flashback: Discussion of merging

      2009: Git: Bram Cohen vs Linus Torvalds
      http://news.ycombinator.com/item?id=505876

      which refers to

      2007: A look back: Bram Cohen vs Linus Torvalds
      http://www.wincent.com/a/about/wincent/weblog/archives/2007/07/a_look_back_bra.php

      which refers to

      2005: Re: Merge with git-pasky II.
      http://www.gelato.unsw.edu.au/archives/git/0504/2153.html

      Where Linus says:

      For example, it seems like most SCM people think that merging is about
      getting the end result of two conflicting patches right.

      In my opinion, that's the _least_ important part of a merge. Maybe the
      kernel is very unusual in this, but basically true _conflicts_ are not
      only rare, but they tend to be things you want a human to look at
      regardless.

      The important part of a merge is not how it handles conflicts (which need
      to be verified by a human anyway if they are at all interesting), but that
      it should meld the history together right so that you have a new solid
      base for future merges.

      In other words, the important part is the _trivial_ part: the naming of
      the parents, and keeping track of their relationship. Not the clashes.

      For example, CVS gets this part totally wrong. Sure, it can merge the
      contents, but it totally ignores the important part, so once you've done a
      merge, you're pretty much up shit creek wrt any subsequent merges in any
      other direction. All the other CVS problems pale in comparison. Renames?
      Just a detail.

      And it looks like 99% of SCM people seem to think…

    • hasenjSep 2010

      I think this post is missing the point entirely.

      The strength of git has nothing to do with "magically resolving all possible corner cases". That was never the intended purpose of git.

      To quote Linus himself:

      > The important part of a merge is not how it handles conflicts (which need to be verified by a human anyway if they are at all interesting), but that it should meld the history together right so that you have a new solid base for future merges.

      > In other words, the important part is the _trivial_ part: the naming of the parents, and keeping track of their relationship. Not the clashes.

      http://www.wincent.com/a/about/wincent/weblog/archives/2007/07/a_look_back_bra.php

      In other words, there are corner cases where git might fail to resolve conflicts automatically.

      If git does manage to resolve some obscure corner case on its own, it would be mostly accidental; it's not why git is better than svn.

      git would still be an awesome tool even if it didn't handle all the obscure corner cases.

    • michaelmcmillanNov 2014

      I always find these essays interesting, not necessarily because I agree with them, but rather because Paul has a very special way of looking at things.

      [...] being mean makes you stupid.

      Linus Torvalds is definitely not stupid, but I would not hesitate to call him mean [1]. But you can't deny that he's successful and certainly he's not stupid [2].

      Business and open source seem to both center around the same things: creating something people want [3] and surrounding yourself with other smart people. I would imagine that the latter is hard if you're mean - but not impossible. Take Linus or Steve Jobs, none of whom are very nice.

      [1] https://www.youtube.com/watch?v=5PmHRSeA2c8#t=883

      [2] http://www.wincent.com/a/about/wincent/weblog/archives/2007/07/a_look_back_bra.php

      [3] http://paulgraham.com/good.html

    • oscarduignanAug 2010

      Something like the vim command-t plugin (https://wincent.com/products/command-t/) can make filenavigation very fast. That, the already mentioned C-j, C-k, C-h, C-l bindings, nerdtree, and bufexplorer (http://www.vim.org/scripts/script.php?script_id=42) and you're set for speedy file navigation. Then when you're comfortable with that there are things like taglist.vim to take advantage of ctags to kick it up a notch further!

    • DocSavageApr 2008

      I came across this analysis of an old Bram Cohen argument with Linus Torvalds on git philosophy:
      http://wincent.com/a/about/wincent/weblog/archives/2007/07/a_look_back_bra.php

      I think the relative simplicity and originality of git concepts is fueling the avalanche. Scott Chacon has been doing some cool stuff implementing Git in Ruby (http://github.com/schacon/git-ruby/tree/master) and possibly ActionScript.

    • alenmilkJul 2022

      The thing is that git is not supposed to be smart when it comes to merging.
      https://wincent.com/blog/a-look-back-bram-cohen-vs-linus-torvalds

      At the end of the article: This is a clearly ambiguous merge and it simply wouldn’t be right for your version control system to try "resolving" it for you.

      So the strategy is that if there is any doubt you have to manually fix conflicts. This is by design.

    Related

    One Big Flukeonebigfluke.com36 people

    Go's power is in emergent behavior

    One Big Fluke
    Personal · last shared 2024
    Tim Bradshawtfeb.org20 people

    The lost cause of the Lisp machines

    Tim Bradshaw
    Personal · last shared 2025
    John Wiegleynewartisans.com49 people

    Monads in pictures

    John Wiegley
    Personal · last shared 2026
    GNOME Blogsblogs.gnome.org490 people

    AirPods fast connect security vulnerability

    GNOME Blogs
    Company · last shared 2026
    Lambda the Ultimatelambda-the-ultimate.org615 people

    Simon Peyton Jones Elected into the Royal Society Fellowship

    Lambda the Ultimate
    Publication · last shared 2026
    Atlassian Blogblogs.atlassian.com154 people

    Git? tig

    Atlassian Blog
    Company · last shared 2023
    thoughtbot Blogrobots.thoughtbot.com441 people

    Neat

    thoughtbot Blog
    Company · last shared 2026
    Coding Horrorblog.codinghorror.com2.1k people

    Farewell Stack Exchange

    Coding Horror
    Personal · last shared 2026