Hacker Timesnew | past | comments | ask | show | jobs | submitlogin
"Not Rocket Science": The story of Monotone and Bors (graydon.livejournal.com)
71 points by luu on Aug 17, 2014 | hide | past | favorite | 12 comments


Whoa, Graydon Hoare wrote Monotone? Mind blown!

Huge blast of nostalgia: Back in the summer of 2006 when I was learning git for the first time (and leaving svn in the process), there was all this uncertainty in the community about which VCS was the best... a lot of people weren't even sure that DVCS was a good idea at all! Even so, the Linux kernel had been using git for a year at the time.

At the time there were git, and mercurial, bazaar, bitkeeper and its controversies... and I distinctly remember reading about Monotone! I remember reading how it was the inspiration for git's DAG. I was intrigued but sadly never actually tried Monotone because I was already too blown away by learning git.

It's funny. Git completely changed the way I thought about coding. Made me really, really realize the value of good data structures, and what a waste of effort parsing is. As a direct result, I became obsessed with an idea in late 2006--this idea of a truly next-generation programming environment. This idea of a language+editor+VCS where the ASTs and entire edit history would be stored in git's DAG. [1] So I worked on that for a while, but never really got anywhere...

... and then in late 2012, along comes Rust, which fulfills the language part of this language+editor+VCS trifecta in my mind. And Rust was a personal project by Graydon! So I'm just realizing now that Graydon conceived not only my ideal language, but also my ideal VCS! So that's why my mind's blown.

In short, Graydon is a prolific badass.

[1] It's really a very old idea of course; as old as Smalltalk. I think Steve Yegge attempted it with his Grok Project. See also: Subtext, Lamdu, Projucer. As for the future, Chris Granger and his team may very well pull it off with Aurora.


You forgot the Berlin windowing and GUI system, back in the 90s. Rotatable windows, alpha channels, super fast, and unlike X it was actually a GUI that you could style and so on. Yeah, there was a lot about it that was impractical for its time, but so was OS X.

Like you I discovered that Graydon was behind all these cool projects sort of by accident. He seems to keep a low profile.


Bors is one of my favourite parts about working on Rust.

Also, their "open source report card" is always hilarious: https://osrc.dfm.io/bors/


Coincidence -- I wrote a G+ post not two months ago talking about this same idea (what Graydon calls the "Not Rocket Science" principle). I was surprised to find that (as Graydon says) there doesn't seem to be a lot of tool support for this: https://plus.google.com/108917965951523281393/posts/6ERd4fha...


Just general commentary. If something really, truly works and you can prove it, then everyone will adopt it. If this isn't being adopted by everyone then there can only be two reasons: either it doesn't really, truly work -- because of some nasty details that you're soft-pedaling; or it simply needs more proof, which will inevitably come with time.

If it doesn't really, truly work, one reason could be that most corporate developers can barely write working code; writing test code that will hold the whole project up if/when it fails -- that's beyond what you could trust the average developer to write.

It may work well when you have a top-notch developer to write tests, or when the goals of the project are especially amenable to automated testing, but in the common case cause too much friction.

Edit: a more sinister reason that automated testing isn't used more, even if it might deliver better software, is that a lot of companies that are in the software business don't care much about defects. Many seem to care more about shipping features, even if those features are half-assed and buggy, than about shipping code that works. But, even so -- we're talking about no-brainers here. Even shoddy companies eventually adopt really obvious better practices, even if only by following the herd.


I disagree with your most general statement, and I feel this quote better reflects my experience:

  Don't worry about people stealing your ideas. If your
  ideas are any good, you'll have to ram them down people's
  throats.
    -- Howard Aiken


I think the reason we're not seeing eye to eye is that we're applying different standards. That quote makes a point PG has made (IIRC). He concluded that great startups don't naturally follow from great ideas. That's because ideas alone are seldom so great that they do all the work on their own: you still have to execute, and good execution is underrated.

This article is claiming to have an idea so great that literally anyone can employ it and benefit from it, though, and that's an awfully high standard.


"Just general commentary. If something really, truly works and you can prove it, then everyone will adopt it."

This is charmingly naive.


Here's an example of something that truly works: git. I don't think git was adopted because Linus is a silver-tongued salesman. I think the cost-benefit analysis was just lopsided in git's favor, and everyone adopted it. The reason it doesn't happen more often is that there aren't that many truly good, production-ready ideas out there that haven't already been done.


Maybe so, but you would have a more convincing (counter-)argument if you offered some counterexamples.



Technophiles have a tendency to fall in love with ideas that no one else cares about and assert that people that dont see what they see are fools. But capitalism enforces a degree of honesty. If you can put a cash value on the productivity gain some idea will provide, and it's a significant sum, then it's not much of a stretch to predict that it will prevail eventually. If the idea has no significant cash value, then it's only a mediocre idea. Sometimes we tech people have to be humble and accept that something we love is mediocre (especially when we try to start a company based on the idea and no one buys it).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: