I agree. If I do come by Digg occasionally, it's mostly to affirm that "Ah! This is why Slashdot is so much more fun to read these days!" And than I hurry back here.:-) This is even more true because I'm one of those people who mostly reads/. for the interesting, insightful and funny comments.
Your post must be the funniest which I've read in a long time: When the south pole melts, that's when you worry. Thanks for putting it down so concisely.:-D
Thanks for your elucidation. I've also been using Git a bit recently (for the same reasons you state) and have found it very satisfactory so far. Of course it'll take some time to familiarize myself with it to the same level of familiarity that I have with svn.
Contrary to Linux, FreeBSD uses a centralized development methodology which SVN is very well-suited for. (Now, if only they hurry up with the stable release of their merge-tracking, I could say that Subversion is perfect for a centralized development model.)
Then, there's the obvious licensing issue. GIT is released under the GPL, which, I'd guess, is a little too restrictive for BSD-style people.:P
Well, sorry but the page in question will just err in IE without the message. Hence the warning.:-) The best you'll get in IE is an XML tree because the document is served as application/xhtml+xml.
I would have preferred to serve a properly negotiated 406 but IE uses a wild card in its default Accept header which makes the server believe that it supports anything.
So, in short: the code does not render at all in IE. Sorry 'bout the insult.:-?
Why? Are you not supposed to be grateful for anything that anyone does (partly) in their own interest?
Anyway, just wanted an opportunity to say that, as a frequent user of free software, I myself am very grateful for these annual contributions to the open source community.
I've never used Perforce, but I've been a heavy SVN user for years and must say that the lack of merge tracking is truly a horrible miss. If there was some kind of bounty set for this, I might be very much willing to contribute from my meager pay.
You might be interested in reading on the Naastenliefde, Vrijheid & Diversiteit, a Dutch political party which is currently generating lots of steam and death threats for the party members here in the Netherlands.
Personally, I find this a very difficult subject. I found another comment in this thread that quite accurately summarizes the problems involved.
Thanks for your post. I found it very informative. I feel no need to try out a decentralized system anytime soon though because all the issues you describe are non-issues to me. I only develop on machines connected the the Internet, so I always have access to the repository. Also, the repository is shared by just a handful of developers, all of whom have full access. Most of the time I even shell into the repository hosting machine directly for my development. (My most frequently used working copy lives on the same machine.)
Nevertheless, it was very interesting to read about the kind of workflow for which decentralized solutions are more optimal. I now realize that I was more than a little bit ignorant about that.
Oh, I almost forgot: in the case that your question about my smoking wasn't purely rhetorical: despite my nick I don't smoke, not now, not ever;-)
Do note, though, that, when copying a file using SVN, the file's revision history is attached to the new file. In my opinion, this completely makes up for the lack of an "actual" rename function.
To explain it simply, decentralized systems allows me to have local intermidiate version of file. In centralized system, if I want my changes be protected or simply numbered (so I can rollback later), I have to commit working files into repository.
If my changes are at very very early stage and not yet ready for general use, commiting would force others to do additional steps to avoid using my new (raw, broken) version of file. If there are many commiters like that - and that's pretty normal with huge source code repositories - the life can easily become nightmare. (*)
I think these are the wrong reasons to use a decentralized solution. I don't know much about CVS, but SVN can easilly do what you're describing.
When I'm working, it often happens that I want to make a few changes which I want to be able to undo later. Usually this rollback will never actually happen, but killing my darlings can be difficult and the idea that my darlings are still somewhere safe in the revision history can be very dear.
However, if at this point my working copy is unstable, committing it could break the tree, now wouldn't you think?
And the best of all is that its not stored on some obscure RAID-less laptop somewhere. Instead it is stored on that secure, central server which all developer teams need to have. If you don't have one yourself, there are some Subversion hosting companies.
This way you can always keep a stable trunk, which makes regular deployment or releases (tags) very straight-forward. Merging changes back and forth is also very straight-forward. The only disadvantage of SVN is that it doesn't support merge tracking yet, so it's good practise to track merges in the log or in some property (as svk does).
You basically posted my message, although yours is considerately less verbose. I was interrupted by my boss for some "actual work" while composing my "first post", which is why you beat me to my own first post. For that I'll readily punish you with some game-induced violence. Or, then, maybe not.:-)
Personally, I don't think games induce violence as much as they inspire violence. Which is to say that, although the type of violent acts may very easily be copied from populair entertainment, I highly doubt if the amount of violence can be traced back to the amount of violent entertainment which is consumed.
When I decide to go on a murderous rampage to kill random people after having played a game of Carmageddon, it is obvious that my violence is inspired by the violence which is so abundant in that game. What is not obvious is that I wouldn't have found another way to express my violent needs for lack of creative inspiration. People have been torturing, maiming and killing each other for a little while longer than high-tech-taintment has existed.
I find increasing overpopulation to be a much more likely source of violence than increasingly violent entertainment. But, after all, a correlation does not necessarily indicate a causal relation. Such relations are difficult to prove without a rigidly set up experiment.
I've been using DIA for some serious work and created quite a few UML, ERD and network topology diagrams with it for my employer, but, with experience, I never came to actually like it.
There are some things I like about DIA.
The compatibility between the Windows and the Un*x versions has been a real enhancer when I had to have flowcharts made and modified between my brother who was on Windows through TurtoiseSVN and myself and another project member who are both (mostly) on Linux.
It's open source.
It works very transparantly and its file format is easy enough to parse and understand.
The things I dislike about DIA are more numerous, though. Just a few:
Connection points on most, if not all, objects are too few.
Not enough shapes.
I can't count the number of times I've deleted an object while trying to delete a character, because I forgat to press Right-Arrow, Backspace instead of Delete.
There's no way to indicate that two lines cross without touching, and it's also impossible to indicate the opposite.
There's a lot of inconsistency in editing the shapes between shapesets.
All in all, DIA has made my live easier though. And also, I'm not exactly a fan of some of the Windows alternatives such as Smartdraw.
At Sicirec, we've used Outlook (Express) with LDAP in the past. Outlook didn't even support LDAP autocompletion. So, basically, all the users went on to add all contacts to their local address books. The kind of synchronisation problems this caused were pretty annoying. But, even when the users ignored autocompletion, performing an LDAP search still required struggling through three to four dialogs.
Admittedly, Mozilla (and now, since 1.5, Tunderbird) has its inperfections too; why can't you globally set the default sort order for IMAP folders (bug 86845)? For the rest, Mozilla has served us great, though. Now, if Thunderbird's integration with server-side spam filtering would get a little more configurable, I would be even happier.
I agree. If I do come by Digg occasionally, it's mostly to affirm that "Ah! This is why Slashdot is so much more fun to read these days!" And than I hurry back here. :-) This is even more true because I'm one of those people who mostly reads /. for the interesting, insightful and funny comments.
Your post must be the funniest which I've read in a long time: When the south pole melts, that's when you worry. Thanks for putting it down so concisely. :-D
Dutch does have this distinction. Green is 'groen' and blue is 'blauw'.
My bad. I see you already linked to that techtalk in your original reply.
Thanks for the tips. I'll put them down for later reference.
I've been mostly introduced to it by the following Google Techtalk by Linus: http://www.youtube.com/watch?v=4XpnKHJAok8 This is also very much a recommendation.
Thanks for your elucidation. I've also been using Git a bit recently (for the same reasons you state) and have found it very satisfactory so far. Of course it'll take some time to familiarize myself with it to the same level of familiarity that I have with svn.
Good point... :P
Contrary to Linux, FreeBSD uses a centralized development methodology which SVN is very well-suited for. (Now, if only they hurry up with the stable release of their merge-tracking, I could say that Subversion is perfect for a centralized development model.)
Then, there's the obvious licensing issue. GIT is released under the GPL, which, I'd guess, is a little too restrictive for BSD-style people. :P
Good point. :-) Let's say that this site is very much just a personal toy. ;-)
Well, sorry but the page in question will just err in IE without the message. Hence the warning. :-) The best you'll get in IE is an XML tree because the document is served as application/xhtml+xml.
I would have preferred to serve a properly negotiated 406 but IE uses a wild card in its default Accept header which makes the server believe that it supports anything.
So, in short: the code does not render at all in IE. Sorry 'bout the insult. :-?
I once wrote a rhyme about this. Maybe you'll like it: http://www.bigsmoke.us/bloggers-block/
Why? Are you not supposed to be grateful for anything that anyone does (partly) in their own interest?
Anyway, just wanted an opportunity to say that, as a frequent user of free software, I myself am very grateful for these annual contributions to the open source community.
Do upon others as you would want to be done upon yourself. Would that work for you?
If you want to teach basic programming skills using Python, there's a very nice free book which can help: How to Think Like a Computer Scientist: Learning with Python
I've never used Perforce, but I've been a heavy SVN user for years and must say that the lack of merge tracking is truly a horrible miss. If there was some kind of bounty set for this, I might be very much willing to contribute from my meager pay.
Indeed, both elephants and ants can be called plant eaters. Nothing wrong with that.
You might be interested in reading on the Naastenliefde, Vrijheid & Diversiteit, a Dutch political party which is currently generating lots of steam and death threats for the party members here in the Netherlands.
Personally, I find this a very difficult subject. I found another comment in this thread that quite accurately summarizes the problems involved.
Thanks for your post. I found it very informative. I feel no need to try out a decentralized system anytime soon though because all the issues you describe are non-issues to me. I only develop on machines connected the the Internet, so I always have access to the repository. Also, the repository is shared by just a handful of developers, all of whom have full access. Most of the time I even shell into the repository hosting machine directly for my development. (My most frequently used working copy lives on the same machine.)
Nevertheless, it was very interesting to read about the kind of workflow for which decentralized solutions are more optimal. I now realize that I was more than a little bit ignorant about that.
Oh, I almost forgot: in the case that your question about my smoking wasn't purely rhetorical: despite my nick I don't smoke, not now, not ever ;-)
Do note, though, that, when copying a file using SVN, the file's revision history is attached to the new file. In my opinion, this completely makes up for the lack of an "actual" rename function.
I think these are the wrong reasons to use a decentralized solution. I don't know much about CVS, but SVN can easilly do what you're describing.
When I'm working, it often happens that I want to make a few changes which I want to be able to undo later. Usually this rollback will never actually happen, but killing my darlings can be difficult and the idea that my darlings are still somewhere safe in the revision history can be very dear.
However, if at this point my working copy is unstable, committing it could break the tree, now wouldn't you think?
Not with subversion, it won't:
And the best of all is that its not stored on some obscure RAID-less laptop somewhere. Instead it is stored on that secure, central server which all developer teams need to have. If you don't have one yourself, there are some Subversion hosting companies.
This way you can always keep a stable trunk, which makes regular deployment or releases (tags) very straight-forward. Merging changes back and forth is also very straight-forward. The only disadvantage of SVN is that it doesn't support merge tracking yet, so it's good practise to track merges in the log or in some property (as svk does).
See the SVN book for more detailed information.
Is that you, Lord Havelock Vetinari, Patrician of Ankh-Morpork?
You basically posted my message, although yours is considerately less verbose. I was interrupted by my boss for some "actual work" while composing my "first post", which is why you beat me to my own first post. For that I'll readily punish you with some game-induced violence. Or, then, maybe not. :-)
Personally, I don't think games induce violence as much as they inspire violence. Which is to say that, although the type of violent acts may very easily be copied from populair entertainment, I highly doubt if the amount of violence can be traced back to the amount of violent entertainment which is consumed.
When I decide to go on a murderous rampage to kill random people after having played a game of Carmageddon, it is obvious that my violence is inspired by the violence which is so abundant in that game. What is not obvious is that I wouldn't have found another way to express my violent needs for lack of creative inspiration. People have been torturing, maiming and killing each other for a little while longer than high-tech-taintment has existed.
I find increasing overpopulation to be a much more likely source of violence than increasingly violent entertainment. But, after all, a correlation does not necessarily indicate a causal relation. Such relations are difficult to prove without a rigidly set up experiment.
I've been using DIA for some serious work and created quite a few UML, ERD and network topology diagrams with it for my employer, but, with experience, I never came to actually like it.
There are some things I like about DIA.
The things I dislike about DIA are more numerous, though. Just a few:
All in all, DIA has made my live easier though. And also, I'm not exactly a fan of some of the Windows alternatives such as Smartdraw.
At Sicirec, we've used Outlook (Express) with LDAP in the past. Outlook didn't even support LDAP autocompletion. So, basically, all the users went on to add all contacts to their local address books. The kind of synchronisation problems this caused were pretty annoying. But, even when the users ignored autocompletion, performing an LDAP search still required struggling through three to four dialogs.
Admittedly, Mozilla (and now, since 1.5, Tunderbird) has its inperfections too; why can't you globally set the default sort order for IMAP folders (bug 86845)? For the rest, Mozilla has served us great, though. Now, if Thunderbird's integration with server-side spam filtering would get a little more configurable, I would be even happier.