5 ms·
Bram Cohen: I have a question for the version control experts
- kefs 14y agoHis question on StackOverflow: http://stackoverflow.com/questions/14077470/is-simplified-semantics-for-the-blame-command-a-good-thing http://stackoverflow.com/questions/14077470/is-simplified-se...
- mitchi 14y agoWhen I left for my friend's for a couple of beers I quickly glanced at his StackOverflow question. It was a copy paste of his facebook post. I thought "Mmm, this is probably getting closed". Turns out I was right :)
- InclinedPlane 14y agoThrough the magic of the voting system it has now been reopened.
- mh- 14y agoand through the magic of StackExchange, it is now reclosed.
- deleted 14y ago[deleted]
- deleted 14y ago[deleted]
- g2e 14y agoOff topic, but I'm glad seeing people use facebook as a sort of blogging platform. If written in notes, I'm quite sure even photos could be embedded. Your RSS reader would simply merge with your news feed.
- seiji 14y agoMy <thing I haven't used in three years> would merge with my <thing I've never had, seen, or would want to use>?
- pyre 14y agoBut it's not interoperable elsewhere. This would would work for others on Facebook, and wouldn't work if one were to leave Facebook. In other words, if everyone decided to use Facebook as their blogging platform, then their entire audience would be locked-in to Facebook.
- seiji 14y agoTheir unstated goal is to become The Internet itself. They want to curate content, only show people what they want, and have you never leave their site. Do not trust.
- drivebyacct2 14y agoWhy? How is that better than using WordPress and RSS?
- g2e 14y agoYou're right, it's really not. I suppose I just connect more so with a facebook profile than with a traditional blog.
- csense 14y agoIf you use Facebook as your blogging platform, the dollars generated by showing ads to your audience go to Zuckerberg. If you host your own Wordpress install, the ad dollars go to you. If you're Mark Zuckerberg, bloggers blogging on Facebook is better than bloggers blogging elsewhere. That's the circumstance under which blogging on Facebook is better.
- jspthrowaway2 14y agoWhile I tend to agree with this exact comment (since it's Facebook specifically), I don't agree in spirit because administering your own Wordpress install takes time. That time might be valuable for some. I'd certainly run my own Wordpress, but not everybody wants to.
- misleading_name 14y agoI like the Quora/cats comment.
- saurik 14y agoI also liked the response: the claim that StackOverflow would be a better forum than Quora for this kind of question; StackOverflow closed the question as "non-constructive", as they specialize in "concrete questions with factual answers"... honestly, Quora seems like the perfect place for this kind of thing.
- deleted 14y ago[deleted]
- bentoner 14y agoI like it! Doing it this way will mess up the blame for non-unique lines like else if { but I don't think that matters because you are unlikely to care where such lines come from. (You could fix this anyway by doing unique lines first, then using the blame of those to make better choices for the non-unique lines.) See also the more complicated variant at the end of this post from the git mailing list: http://marc.info/?l=git&m=116070384211583&w=2 http://marc.info/?l=git&m=116070384211583&w=2
- DannyBee 14y agoBlame is always messed up anyway, because there is no right answer. You may as well choose what is quick to compute and looks okay. Version control systems are not storing what actually changed between files, they are storing the smallest set of differences between them. IE Given two versions of the same file, and the history graph A->B they store how to reproduce the bits of B from the bits of A. This is completely unrelated to how B actually got that way. So in turn, they use textual diff algorithms to approximate how B was formed from A. Even moving back into the text world, there is still no right answer. It only tells you one of the possible ways that A was transformed into B. It would be perfectly valid for the text diff algorithm to say "every line in A was removed, every line in B was added". This in turn would give you a blame that pointed to that rev for everything. Most textual diff algorithms "try" to do something sensible, but blame is essentially trying to turn applesauce back into apples. Even git's more "advanced" blame can be completely messed up by the internal text diff doing dumb things. All that said, one of the reasons you may like it is because it's basically what everyone actually does.
- bentoner 14y agoAll that said, one of the reasons you may like it is because it's basically what everyone actually does. Please correct me if I'm misunderstanding, but Bram is proposing to do blame without using the diffs, a nice simplification and not something I'm aware of other version control systems doing.
- pjscott 14y ago
- fleitz 14y agoBlame is pointless, and needed only for pathological organizations. The point of these tools is not to assign blame but to find the last working revision of the code. If a commit inherits from multiple commits then there could be multiple working last revisions. Think of it like sailing when the mast breaks, you don't who last touched the mast, you care how to get the mast back up. In truth the totality of world events leading up to the moment the mast broke is what lead it to break. This is not important, what is important is how to right it. If the question is viewed in terms of righting the ship then the point is to identify the last revision that worked, conversely the 'broken' revision is the next one. Realistically, to solve the problem you'd want a genetic algorithm that could turn on and off each change in each revision to find the combination that yields the most fit iteration of the code.
- zachrose 14y agogit config alias.praise blame
- icebraining 14y agoBazaar actually has blame, praise and annotate, all synonyms!
- zootm 14y agoSo does Subversion :-)
- pjscott 14y agoWait, what? My most common use case for blame is finding out who to ask about some code that I don't fully understand. Often a quick "git blame" and a short conversation can save a lot of time.
- deleted 14y ago[deleted]
- Too 14y ago
- quink 14y agoBeyond the question and reading entirely too much into it, what's the inventor of BitTorrent, out of all things, doing writing version control? Between this and BitTorrent Live, are we going to see something that will blow every model of content distribution, including BitTorrent, out of the water? If nothing else, torrents with version control would frankly be mind-blowing. Think of a single TV show torrent, which could be updated again and again. Then think of TV broadcasting and content distribution of the program being shown through such an above torrent and an overlay, and ads, being played in on the client-side? Thinking away the rights issues and DRM, this might be the future of live TV and content distribution.
- dochtman 14y agoBram Cohen did VCS before Linus and Matt Mackall did it: http://en.wikipedia.org/wiki/Codeville http://en.wikipedia.org/wiki/Codeville http://freecode.com/projects/codeville http://freecode.com/projects/codeville
- enneff 14y agoI would imagine it's a totally separate project.
- InclinedPlane 14y agoYou are aware that the same man who created winamp also created gnutella, right? Sometimes geeks have different projects, sometimes some of those projects are more subversive than others.
- atesti 14y agoI wonder if I will be able to read this post in 3 years. I'm sure Facebook will have deleted it by then and the link will get dead in 6 month already for sure (first break it, maybe fix it later) Is archive.org even allowed (by Facebook's robots.txt) to archive this? It's sad if technical people post important information on Facebook Edit: facebook's robots.txt has this: User-agent: *, Disallow: /. :-(
- simonw 14y agoNow that Facebook use clearly designed URLs (/bram.cohen/posts/10152387480820183 in this case) I have a lot more faith in them keeping this kind of thing working. It's extremely valuable content for them, especially with their recent emphasis on the timeline and capturing the story of people's entire lives.
- ersii 14y agoOne possibility is that Facebook stops existing. Now, I won't speculate what the probability is or isn't - but none the less, it's a possiblity. On the other hand, there's also possiblities such as; Facebook losing or deleting the content, Bram Cohen deleting the content or his account.
- ersii 14y agoIf you try to manually crawl the post with Internet Archive's "liveweb" project (which inserts stuff into Wayback Machine for live lookups) you'll get: "Page cannot be crawled or displayed due to robots.txt." So no, the Internet Archive will most likely not archive public Facebook posts - because of Facebooks robots.txt. The IA respects and honours the domains robots.txt. I've taken a snapshot of the post with my own script which will put it into a IA Wayback Machine friendly format (WARC).
- morphle 14y agoThe version control in Squeak, based on Smalltalk-80, has been in use for over 16 years, probably even 32 years. The community of Squeak has been entirely happy with it, it could perhaps be made even more convenient with more diff analysis tools. For every snippet, even a single line in a method, all the versions are kept around and the blame for the revisions to a previous version, including deletions, is always clear. The last version is active (there is no compiling fase in smalltalk, only auto compile for adaptive compilation). So your question is never relevant unless one wants to merge back after a fork. In that case diff tools should give a human the entire history, diffs and all its dependancies that are affected to see what happend when and how. It is indeed useful to see changes going back 40 years. In the case auto-merge-back is possible, the S unit test runner must check if it worked, but such a situation occurs only once in 10 years if at all. So to me there is not much to be desired in a version control system than the current method version control of Squeak.