News for hackers. Stuff that matters.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by jkldotio on Sunday May 04, 2014 @06:48PM (#7696149)
While he'd been working with and thinking about the problem for a long time the speed at which Linus produced Git always amazes me: "development of Git began on 3 April 2005...On 16 June, the kernel 2.6.12 release was managed by Git...Torvalds turned over maintenance on 26 July 2005".[1] Perhaps he should have some more breaks for side projects.

[1]https://en.wikipedia.org/wiki/Git_(software)

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by riquito on Sunday May 04, 2014 @07:10PM (#7696212)
During his speech at Google "[after reviewing the alternatives] the end results was I decided I can write something better than anything out there in two weeks. And I was right"

http://www.youtube.com/watch?v=4XpnKHJAok8&feature=youtu.be&...

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by jordigh on Sunday May 04, 2014 @10:42PM (#7696754)
Writing the basics of a DVCS in two weeks isn't a unique feat. Mercurial was created in almost exactly the same way, and was faster than git (and still is, e.g. for blame and clone operations) and actually was conceived with a UI from the beginning.

I'm pretty sure the only reason git took most of the mind share instead of hg was (1) github (2) Linus admiration.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by codemac on Monday May 05, 2014 @12:49AM (#7696974)
Well, you're also missing some reasons:

- git has an 'email' centric workflow

- The index with git (git add -i) awesome for people doing patch maintenance

- the rebase workflow is great when you want to maintain against an upstream that you expect someone other than you to commit your changes to, or you have a "pre-publish" phase.

It's almost like those reasons follow the linux workflow.. almost perfectly.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by Argorak on Monday May 05, 2014 @04:45AM (#7697542)
> - git has an 'email' centric workflow

Which is surprising, given how rough all the email-involving commands of git are. Badly documented (git-send-email man page doesn't even come close to documenting all options properly), awful error reporting and a badly explained (although, in itself, quite sane) workflow when sending the patches.

When setting up my email setup, I consulted the underlying Perl script more than the docs :(.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by jordigh on Monday May 05, 2014 @09:48AM (#7698510)
Sigh, I wish people would actually know about Mercurial. It was created for the exact same reason as git, at the same time, and is also intended for kernel development. In particular,

- Mercurial also has an email-centric workflow, look at its mailing list: http://mercurial.markmail.org/search/?q=#query:+page:1+mid:p...

- The staging area can be achieved in hg in several ways, or it can be avoided as desired. One easy way is to just pick apart your commit with hg (c)record --amend and just keep adding to your commit as necessary.

- Rebasing has also been available in hg forever (and wasn't available in git from the beginning). We also have some really interesting changes brewing for rebasing in Mercurial: https://www.youtube.com/watch?v=4OlDm3akbqg

These ideas in hg were all for following the Linux workflow too.

Nothing against git, but it's important to not deify Linus as if he were a unique genius. He has his flaws, and so does the software that he's responsible for.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by bronson on Monday May 05, 2014 @11:46AM (#7699206)
Mercurial went a long way down the "never modify history!" road (i.e. never rebase). Turns out that attitude, while theoretically pure, isn't very pragmatic. There are lots of valid reasons for rebasing.

Hg eventually came around but, for me, the damage had been done. It's the second biggest reason I went with git.

(The biggest, of course, is you use git if you want to interact with kernel devs. But lots of kernel devs hated git in 2005/2006. Mercurial had a reasonably big window of opportunity... all imo, fwiw)

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by dredmorbius on Monday May 05, 2014 @10:55AM (#7698871)
I've used both.

Mercurial beat git past the starting gates, but git has the advantage of being used on a very widely used, widely developed, immensely high profile project. While Hg has its own commendable set of projects, git has simply won the mindshare battle.

Could be worse: there's arch and bzr and probably some others.

Hell, even GNU/EFF are looking to ditch their own VCS in favor of git from what I understand.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by jordigh on Monday May 05, 2014 @11:11AM (#7698975)
Yes, that's true git's main advantage is how widespread it is.

GNU Emacs decided to switch from bzr to git, but GNU as a whole doesn't have a recommended VCS yet. In GNU Octave we will keep using hg. I don't think the EFF is too public about which VCS they use.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by dredmorbius on Monday May 05, 2014 @03:27PM (#7700594)
I meant to type "GNU/FSF". I thought I caught myself and corrected the "EFF" bit. I knew I was going to write that. And damnit, I did.

But yes, I meant "FSF", not "EFF".

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by read on Monday May 05, 2014 @07:19AM (#7697865)
- git has an 'email' centric workflow

That's a good observation. Git seems to assume its distributed issue-tracker is email.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by zurn on Monday May 05, 2014 @02:32AM (#7697175)
Those aren't big things outside Linux.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by throwaway7767 on Monday May 05, 2014 @07:16AM (#7697857)
Email centric workflows are used for lots of projects other than the linux kernel.

My workflow for a lot of the projects I contribute to is something like:

edit -> commit (repeat as necessary) -> rebase -i -> format-patch -> send patchset by email

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by stiff on Monday May 05, 2014 @01:00AM (#7697010)
Every occasion is good to start a flame war, isn't it?
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by huhtenberg on Monday May 05, 2014 @02:46AM (#7697217)
(3) C implementation

There's a strong aversion of using tools done in Python outside of Python community. It is irrational, but it being an inherently interpreted language puts it into the same perception bucket as Perl and who'd want to use a control system written in Perl?

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by dima55 on Monday May 05, 2014 @02:57AM (#7697243)
Dude, python IS in the same bucket as perl. The list of pros and cons when compared to C is identical.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by huhtenberg on Monday May 05, 2014 @03:17AM (#7697302)
Shhh... don't tell HN.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by annnnd on Monday May 05, 2014 @10:11AM (#7698626)
There is one difference - you need an external tool to properly obfuscate Python source code. :)
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by read on Sunday May 04, 2014 @08:11PM (#7696391)
Something's still not clear about his assumptions in that talk. He says "you just continue to work" and "you could do everything you would do" [if you were connected online]. But this is not true when it comes to integration of source control with issue-tracking.

If you integrate source control with issue-tracking, you start to want source code changes to correspond to issue numbers, and changes to be pushed if an issue is in a certain state or owned by a specific developer. But you can't get this information when you are offline without access to the issue-tracker.

Either there's a case for distributed issue-tracking too, which would give you that information, or issue-tracking being centralized pushes back on source control wanting to be distributed.

I wish this was addressed in Git's assumptions.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by modeless on Sunday May 04, 2014 @09:08PM (#7696544)
Sounds like you want https://www.fossil-scm.org. Distributed version control with integrated wiki and bug tracking, from the creator of SQLite.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by selectnull on Monday May 05, 2014 @12:14AM (#7696908)
Another option is Veracity by Sourcegear. http://veracity-scm.com/
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by hrjet on Monday May 05, 2014 @12:34AM (#7696946)
Their DVCS comparison page is very informative: http://veracity-scm.com/compare/
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by ithkuil on Sunday May 04, 2014 @09:31PM (#7696590)
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by mtdewcmu on Monday May 05, 2014 @05:19AM (#7697626)
I've been mulling over issue tracking lately, since I hate Jira and all the other ones I've used. Wouldn't issues being in states and having owners violate the distributed model? Version control used to have file owners and locks, which is the same thing, and git broke from that.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by reledi on Monday May 05, 2014 @12:26AM (#7696924)
According to his recent save format post [1], he spends a lot of time thinking about something before he starts prototyping.

> So I've been thinking about this for basically months, but the way I work, I actually want to have a good mental picture of what I'm doing before I start prototyping. And while I had a high-level notion of what I wanted, I didn't have enough of a idea of the details to really start coding.

So two weeks seems reasonable to me, especially if he built a prototype first. (Did he?)

1: https://plus.google.com/102150693225130002912/posts/X2XVf9Q7...

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by pags on Sunday May 04, 2014 @10:36PM (#7696745)
Isn't he blurring the line between "commit" meaning creating a state you can roll back to (in all version control systems), and "commit" meaning pushing to the "official" code base in a non-distributed system? In other words, some issues with non-distributed systems that he highlights (having to keep an elite group deemed smart enough to integrate changes, for example) still exist when pushing to a consensus "official" instance of a distributed repo.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by jordigh on Sunday May 04, 2014 @10:47PM (#7696763)
His language is pretty muddled in this talk. It's clear he didn't really spend a lot of time thinking about precise and unambiguous language for all of the things he was talking about. He also seems to conflate "branch" and "clone".

This muddled language later turned into a muddled UI that was supposed to get cleaned up, but never did.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by pags on Sunday May 04, 2014 @10:55PM (#7696778)
I can't help but think that he was conveniently leaving out details that give the entire story - clearly he thinks the audience are unintelligent sheep, so surely they'll take him at his word, right?
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by kdd44 on Monday May 05, 2014 @08:21AM (#7698091)
In what way does git conflate "branch" and "clone"?
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by richardwhiuk on Monday May 05, 2014 @03:35AM (#7697364)
Probably because those two actions are identical in CVS, SVN etc, which most people at the talk were familiar with, unlike the commit and push states in a DVCS (hg, git, bzr etc).
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by zenbowman on Sunday May 04, 2014 @09:35PM (#7696602)
Yeah, that was a great talk. I highly recommend people watch it.

He was definitely right about that, what I like about Linus is he really does seem to prefer to do things in as concrete and simple a way as possible instead of getting mired in abstractions.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by jonalmeida on Sunday May 04, 2014 @11:04PM (#7696793)
He mentions that git wasn't half as good if it wasn't for the help he got after his initial creation that made it cleaner and better.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by legulere on Sunday May 04, 2014 @07:23PM (#7696243)
I wonder how much thought he put into it before he started programming, especially as BitKeeper wasn't really uncontroversial earlier.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by GFK_of_xmaspast on Sunday May 04, 2014 @09:27PM (#7696580)
Given the git interface, one wishes it had been "a little more".
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by tcheard on Sunday May 04, 2014 @10:42PM (#7696755)
What exactly is wrong with the git interface?
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by grannyg00se on Sunday May 04, 2014 @11:49PM (#7696862)
Parent is downvoted but this seems like a valid question to me. The interface consists of git sub commands and their flags. One could argue that there are too many flags, or even too many commands, but why not offer flexibility when you can as long as you keep sane defaults?

I think that git commit, init, add, fetch, branch, checkout, merge, and push all have sane defaults and anybody can pick up very basic git usage using those commands in less than a few hours.

Things get complicated when you start looking at the details, but I don't see any way around that. And the interface doesn't change. It's just a matter of learning more flags and commands.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by kasey_junk on Monday May 05, 2014 @09:33AM (#7698433)
I have tons of little problems with it that would be silly to enumerate, but they fall into 3 broad categories. 1) Terrible tab completion support. 2) Multiple command/option permutations that do nearly the same thing with small subtle differences. 3) Lack of cohesion amongst the community around best practices (especially with regards to branching/merging/rebasing).
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by danielweber on Monday May 05, 2014 @10:41AM (#7698789)
Each git command seems like it was done by its own subcommittee without regards to what the other commands do. Functionality overlaps. Mnemonics from one command don't carry to another. I forget the specific example, but one command would be colorized with command line options, and another would be colorized with environment settings.

It's very un-Unix.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by oneandoneis2 on Monday May 05, 2014 @07:41AM (#7697924)
I've asked this a time or two, and the answers I've received so far have always boiled down to:

"I don't know how to use git"

or

"I don't know how to alias complex commands I use frequently"

Maybe you'll have better luck with the responses you get :)

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by rectangletangle on Monday May 05, 2014 @03:51AM (#7697410)
I'll admit it's a little bit strange, but it's not like you can't just alias frequently used commands that are more complicated. Besides, Git's utility makes up for this by far.

Then again, I alias nearly all the CLI programs I use frequently. Grep's recursive search is aliased to `sr`, Python to `py`, Django's `manage.py runserver` to `run`.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by Argorak on Monday May 05, 2014 @04:55AM (#7697563)
Which means that you have to learn "what to alias". It is still a huge problem for beginners.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by rkwz on Monday May 05, 2014 @05:34AM (#7697663)
Not sure why downvoted, but this is a genuine concern.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by brongondwana on Sunday May 04, 2014 @07:26PM (#7696256)
Given all the kerfuffle about init systems, I'd love him to write a good small init process.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by vezzy-fnord on Sunday May 04, 2014 @07:36PM (#7696285)
Pretty sure finit is helping with that: http://troglobit.com/finit.html

That, and runit has been around for a while, though I don't know much about it.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by startling on Sunday May 04, 2014 @08:31PM (#7696450)
If he were to write an alternative, it would be given undue preference over others. He probably knows this.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by dredmorbius on Sunday May 04, 2014 @10:04PM (#7696681)
Doubtful.

We've already got a world with multiple inits. The rationale for adopting systemd is ... troubling. Clearly, Linus has some issues with the team involved, though I don't know whether or not he's also concerned with the deep coupling.

Hauling systemd out of udev (or offering a systemd-free alternative) would also make me far happier.

Complexity is the enemy of reliability. An expression dating back, I've recently discovered, to January, 1958, and The Economist Newspaper.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by ithkuil on Sunday May 04, 2014 @09:33PM (#7696595)
Some people would indeed prefer to have only one (benevolent) dictator.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by gkya on Sunday May 04, 2014 @09:47PM (#7696637)
“Benevolent” is among the least becoming adjectives to Linus' dictatorship.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by droopyEyelids on Sunday May 04, 2014 @10:28PM (#7696728)
I think you're confusing "benevolent" with "deferential" or "polite".
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by dredmorbius on Monday May 05, 2014 @10:53AM (#7698860)
There's a lot of argument over just what that term means.

Many moons ago in an organizational behavior / group decisionmaking book whose title I can never keep in mind, I read a fascinating chapter on various group structures for decisionmaking.

Of the various models, the one which works best under more circumstances is that in which there is a leadership role (so there's no indecision over what decision has been made or when it's been taken), but that role is collectively assigned based on merits.

In other words, the leaders' tenure is at the consent of the group as a whole, and can be transfered. The one decision over which the leader has no effective say (or at least: no more than any other individual) is over the question of leadership.

Strikes me as very much the model that's followed by the most successful free software projects.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by gkya on Monday May 05, 2014 @11:20AM (#7699035)
> Strikes me as very much the model that's followed by the most successful free software projects.

I believe Linus learning some manners for himself would hardly slow down neither of Linux or Git, and nor would make him a lesser leader. Seriously, there are better ways of putting things forth, than execrating persons who contribute to Linux/Git for a living, on public mailing lists. Leaders need be responsible of their public speech. Someone who is writing curse words in all caps is not speaking responsibly by definition.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by dredmorbius on Monday May 05, 2014 @05:42PM (#7701466)
Theo de Raat is another famously short-tempered project leader.

In both cases, the result doesn't seem to have hurt what matters: the project themselves and the utility they provide their users.

The goal of the projects isn't to protect tender egos. It's to get shit done and make the right decisions.

Linus answered one woman who'd criticized his behavior by noting that a key issue for him was making absolutely unambiguously clear how good or bad a given technical suggestion was. And he does that.

Here we go: https://plus.google.com/102150693225130002912

Because if you want me to "act professional," I can tell you that I'm not interested. I'm sitting in my home office wearing a bathrobe. The same way I'm not going to start wearing ties, I'm ALSO not going to buy into the fake politeness, the lying, the office politics and backstabbing, the passive aggressiveness, and the buzzwords. Because THAT is what "acting professionally" results in: people resort to all kinds of really nasty things because they are forced to act out their normal urges in unnatural ways.

As I commented at the time:

There's something to be said for being an equal-opportunity asshole, in a fair and balanced manner.

And in running the most effective, successful, beneficial, and largest OS development project the world has ever seen.

I see Linus's behavior as being an instance of Celine's Second Law:

Accurate communication is possible only in a non-punishing situation.

https://en.wikipedia.org/wiki/Celine's_laws\#Celine.27s\_Sec...

"Huh?" you say?  But Linus is punishing communication.

No.  Linus is communicating.  He's expressing a clear view of what is or isn't valuable.  The punishment isn't in rating the quality of contributions to the kernel, or usefulness of others' participation in the LKML.  It's in criticizing the communications methods used to convey that feedback.

Yes, it may be insensitive.  But fuck sensitivity

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by gkya on Tuesday May 06, 2014 @07:44AM (#7703826)
Acting professional and being a moral vandal that runs around smashing people on a public mailing list is so far apart, there is a nice point to sit in between as a frank, sincere and straight out leader, that also knows how to speak and communicate. One can “express a clear view of what is or isn't valuable”, with a language that's not vulgar.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by dredmorbius on Wednesday May 07, 2014 @07:51PM (#7713258)
Your label doesn't fit.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by kdd44 on Monday May 05, 2014 @08:20AM (#7698084)
It's sad that people get so hung up on bashing personality differences (not flaws) that they can't even see the much greater good that some people do. Politeness is just the toleration of stupidity and the acceptance of mediocrity.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by gkya on Monday May 05, 2014 @10:57AM (#7698887)
kdd44, SHUT THE F*CK UP[1]. And please, go kill yourself, the world will be a better place[2].

[1] https://lkml.org/lkml/2012/12/23/75

[2] https://plus.google.com/u/0/+LinusTorvalds/posts/1vyfmNCYpi5

Edit: No need to be as explicit as Linus to be sarcastic.

Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by kdd44 on Monday May 05, 2014 @07:37AM (#7697911)
Yeah "small" -- because that's obviously the only metric with any value.
Re:Linus Torvalds Receives 2014 IEEE Computer Pioneer Award by JustSomeNobody on Sunday May 04, 2014 @09:42PM (#7696626)
Because he likely doesn't spend half his time worrying about stupid crap like ORMs and DI frameworks.