The author of the article makes several mistakes in his subversion examples which lead me to think he has not used svn seriously (making his judgement questionable) or he is deliberately skewing things towards git (making his judgement questionable.
In "Endless, Easy, Non-File-System-Based, Local Branches":
Task 1: the subversion box should be empty. Nobody checks out a whole Subversion repository or even (a whole project including all branches) in normal usage.
Task 3: the workflow is a valid workflow for Subversion, but it's more normal (for small changes certainly) to work on the trunk and distribute a diff file for review before committing the change at all. This is the model that the Subversion developers themselves use for Subversion.
Task 4: why would you want to delete the branch in the repository? In Subversion you'd just do "rm -rf/local/copy/branches/B" or equivalent and leave the repo as it is.
In "Stashing Temporary Work"
Subversion has the command "svn switch" to switch a working copy between two repository URLs. Alternatively, you can just check out the branches to different places on your file system and have them all there at once.
The author's example of why the git approach is better seems to have been contrived based on the way one particular editing tool works (he doesn't say what happens to a TextMate project file if your branch deleteds files from under it (or adds them).
In "Collaboration Before Public Commits"
Svn can produce patches based on the differences between your working copy and any arbitrary revision / branch too. There's absolutely no reason you can't use the exact same workflow that the author suggests for git.
Philiospohically, I am inclined towards a central repository especially for large team projects. I realise you can do that with git, but as a project manager on a large project, I'd still be nervous knowing that it is possible for a developer to have quite a lot of committed work that exists only on his laptop or that there might be prima donna developers that consider their personal repository to be the "master".
Why do you think not having a server is an advantage?
If all commits go back to a central server automatically, then everybody with a network connection can see everything that has been committed (ACLs allowing of course). You don't have to worry about whether the developers' computers are switched on or connected to the network. All the information on the current state of the project code, branches etc is centralised in one place, which is a Good Thing for most project teams.
That is simply not true in practice. Most people do not audit the source code of their favourite Linux distribution. Even if they did, there's no guarantee that the code they have installed from the DVD was compiled from the source that they looked at. Contrary to popular opinion in the open source community, most people don't want to compile all their software themselves.
It's not even as if having availability of source code means you will find all of the hostile code that is in it. Debian managed to distribute a seriously compromised version of OpenSSL for two years without any of the "many eyes" noticing.
I'm quite surprised by this about-face. I thought the whole "Windows Server 2000" or "Office 2003" was a great marketing move. Look at the typical reaction: "Here I am in 2008, and I'm still using Visual Studio 2005 -- why haven't we upgraded to VS 2008 yet?" Yet those same people aren't complaining that their Windows XP installation should be replaced by Windows Vista.
But the flip side of that is that if Windows XP had been called Windows 2001, it would have been even more obvious how disastrously badly the development of Vista was going in the years before its release.
The word is "bombs" not "firecrackers". Fifty odd people died in that attack as well as lots of people being injured. The casualty figures were higher than for any IRA attack on mainland Britain.
Apart from 7/7 there was a copy cat attack that failed a few weeks later, an attempt to drive a burning landrover into Glasgow airport and an attempt to blow up aircraft by using explosives disguised as soft drinks, all of which failed.
So, while the response by the British government has been totally disproportionate (including some monumental screw-ups by the police that would be funny if innocent people hadn't been killed), the threat is/was more serious than firecrackers on a few tube trains.
Googling for the correct lyrics on line suggests that opinion is split but NME is probably correct, although the ambiguity was probably not lost on the Sex Pistols when they wrote it.
Funnily enough Apple have thought of that. When you tap the trackpad to produce a click, the mouse pointer doesn't move. So, no, there s no "tap to click in the wrong place".
Unless you have ideological reasons for preferring Linux to Mac OS X why would you care if Linux runs on it or not? OS X is Unix and will run all the same software Linux will run.
Actually, both sides are at fault in the spirit if not in the letter of the RFC.
The broadcast flag is included as a work around for a nasty catch 22 situation that some network interfaces might suffer from, namely not being able to receive unicast IP packets until they have been configured with an IP address. This means that such an interface cannot receive its own IP address in an IP packet which is what the DHCP server would normally use.
"A client that cannot receive unicast IP datagrams until its protocol software has been configured with an IP address SHOULD set the BROADCAST bit in the 'flags' field to 1 in any DHCPDISCOVER or DHCPREQUEST messages that client sends. The BROADCAST bit will provide a hint to the DHCP server and BOOTP relay agent to broadcast any messages to the client on the client's subnet. A client that can receive unicast IP datagrams before its protocol software has been configured SHOULD clear the BROADCAST bit to 0."
So Vista is - was (because it was fixed in sp1 I believe) - morally at fault because its IP stack is capable of receiving unicast packets before the IP address has been configured. However, the word "should" rather than "must" was used so Microsoft is still in compliance with the letter of the protocol.
On the server side:
"A server or relay agent sending or relaying a DHCP message directly to a DHCP client... SHOULD examine the BROADCAST bit in the 'flags' field. If this bit is set to 1, the DHCP message SHOULD be sent as an IP broadcast using an IP broadcast address (preferably 255.255.255.255) as the IP destination address and the link-layer broadcast address as the link-layer destination address."
Again, it says "should" instead of "must" and so the server side is also morally wrong, but still in compliance with the protocol.
I try to avoid hiring programmers who don't do any programming in their own time. The reason for this is that programming is hard and people who don't like programming tend to find it tedious and they get bored and their code is rubbish as a result.
If you have done no programming in your time as a QA person, then I think you are probably making the wrong decision to go back into coding. You won't enjoy it.
If the company you're applying to is competent, they will find you out and show you the door. If they are not competent, do you really want to work for them?
EDS has been responsible for quite a number of screwed up Government IT projects in the UK. Somebody at the MoD was responsible for giving the data to that incompetent shower.
Terms like "operating system", "firmware", "proprietary" and, sadly, "crash" became part of common vocabulary to an ever increasing number of people.
This exemplifies your fundamental mistake. If a normal person finds themself having to use terms like "operating system", "firmware" and "crash" in relation to a telephone or a digital music player, then that is a fail. People want to make telephone calls or listen to music. They do not care about the operating system or the firmware or the ideology of the developers until the phone stops working and then they'll just start cursing it.
People might be getting more sophisticated and knowing what operating system is running on all of their personal devices, but it's not because they want to, it's because the products are crap and don't shield the consumers from their underlying workings properly.
This is not new. At the dawn of the phone, people picked it up and a well trained operator listened to your instructions and completed the call. The upper-limit on the number of phones in the world was given by the availability of operators. Now, we are long past that upper limit and everybody is a phone operator - we don't give instructions to an operator anymore - we know how to operate a planet-wide phone system and to patch international calls over different telcos.
Actually, this example demonstrates preciseley the opposite of the point you were trying to make. The phone operator is still there, it's a computer instead of a person, but the interface between the users and the operator has been simplified to the point where most of us have only the vaguest idea that it's there, how it works or what it does. We just type in the number of the person we want and we are connected. The operator is completely invisible.
What makes you think I am (or any other legal gun owner is, for that matter) a lunatic?
The fact that you think it's dangerous in Europe because you can't carry a gun around is a pretty big clue. Nobody who is law abiding in Western Europe carries a gun. In Britain, even the police don't carry guns (except in special circumstances like airports presumably because there is a high concentration of Americans). You're no more likely to be shot by a criminal here than in the States, in fact, you're less likely.
The fact that you think a gun is like a smoke alarm is another clue. Smoke alarms can safely be left lying around unattended and nobody dies. If a smoke alarm goes off by accident, nobody dies. In bank raids where the robbers are armed only with smoke alarms nobody dies. In a fight between two people armed only with smoke alarms, nobody dies.
If you live in a society where gun ownership is a necessity for personal survival, then you've lost the argument before you begin. I don't live in such a society and you'd be well advised to get out.
You are wrong. Mobile phones on planes are seriously dangerous. If they ever lift the mobile phone ban on aircraft, there will certainly a massive upturn in hospital admissions of people whose phones have been shoved so far up their own arses that they can still talk on them.
If that kind of call volume is already taking place I'd think the mobile phone network would already be in shambles if it couldn't withstand phones on airliners, although it's certainly possible that it can cope with this much but not with more.
Yes, I think people often forget that, if the phone ban was lifted, it wouldn't be one or two phone calls being made. Every single commercial airliner would have hundreds of phones on it constantly connecting and reconnecting to mobile phone base stations.
Personally, I don't understand the constant obsession with having to be connected to the outside World 24 hours a day. I have to travel by air a lot and it never ceases to amaze me how many people have to switch their phones on the second the aircraft has come to a halt on the stand. Perhaps it helps them maintain the delusion that they are not totally insignificant in the World.
The author of the article makes several mistakes in his subversion examples which lead me to think he has not used svn seriously (making his judgement questionable) or he is deliberately skewing things towards git (making his judgement questionable.
In "Endless, Easy, Non-File-System-Based, Local Branches":
Task 1: the subversion box should be empty. Nobody checks out a whole Subversion repository or even (a whole project including all branches) in normal usage.
Task 3: the workflow is a valid workflow for Subversion, but it's more normal (for small changes certainly) to work on the trunk and distribute a diff file for review before committing the change at all. This is the model that the Subversion developers themselves use for Subversion.
Task 4: why would you want to delete the branch in the repository? In Subversion you'd just do "rm -rf /local/copy/branches/B" or equivalent and leave the repo as it is.
In "Stashing Temporary Work"
Subversion has the command "svn switch" to switch a working copy between two repository URLs. Alternatively, you can just check out the branches to different places on your file system and have them all there at once.
The author's example of why the git approach is better seems to have been contrived based on the way one particular editing tool works (he doesn't say what happens to a TextMate project file if your branch deleteds files from under it (or adds them).
In "Collaboration Before Public Commits"
Svn can produce patches based on the differences between your working copy and any arbitrary revision / branch too. There's absolutely no reason you can't use the exact same workflow that the author suggests for git.
Philiospohically, I am inclined towards a central repository especially for large team projects. I realise you can do that with git, but as a project manager on a large project, I'd still be nervous knowing that it is possible for a developer to have quite a lot of committed work that exists only on his laptop or that there might be prima donna developers that consider their personal repository to be the "master".
Why do you think not having a server is an advantage?
If all commits go back to a central server automatically, then everybody with a network connection can see everything that has been committed (ACLs allowing of course). You don't have to worry about whether the developers' computers are switched on or connected to the network. All the information on the current state of the project code, branches etc is centralised in one place, which is a Good Thing for most project teams.
That is simply not true in practice. Most people do not audit the source code of their favourite Linux distribution. Even if they did, there's no guarantee that the code they have installed from the DVD was compiled from the source that they looked at. Contrary to popular opinion in the open source community, most people don't want to compile all their software themselves.
It's not even as if having availability of source code means you will find all of the hostile code that is in it. Debian managed to distribute a seriously compromised version of OpenSSL for two years without any of the "many eyes" noticing.
But the flip side of that is that if Windows XP had been called Windows 2001, it would have been even more obvious how disastrously badly the development of Vista was going in the years before its release.
The word is "bombs" not "firecrackers". Fifty odd people died in that attack as well as lots of people being injured. The casualty figures were higher than for any IRA attack on mainland Britain.
Apart from 7/7 there was a copy cat attack that failed a few weeks later, an attempt to drive a burning landrover into Glasgow airport and an attempt to blow up aircraft by using explosives disguised as soft drinks, all of which failed.
So, while the response by the British government has been totally disproportionate (including some monumental screw-ups by the police that would be funny if innocent people hadn't been killed), the threat is/was more serious than firecrackers on a few tube trains.
I always thought it was
"I use the NME"
the NME being a British music newspaper.
Googling for the correct lyrics on line suggests that opinion is split but NME is probably correct, although the ambiguity was probably not lost on the Sex Pistols when they wrote it.
Funnily enough Apple have thought of that. When you tap the trackpad to produce a click, the mouse pointer doesn't move. So, no, there s no "tap to click in the wrong place".
Unless you have ideological reasons for preferring Linux to Mac OS X why would you care if Linux runs on it or not? OS X is Unix and will run all the same software Linux will run.
Please clarify: you are arguing in favour of glossy screens, right?
Actually, both sides are at fault in the spirit if not in the letter of the RFC.
The broadcast flag is included as a work around for a nasty catch 22 situation that some network interfaces might suffer from, namely not being able to receive unicast IP packets until they have been configured with an IP address. This means that such an interface cannot receive its own IP address in an IP packet which is what the DHCP server would normally use.
Acording to the DHCP RFC ( http://www.faqs.org/rfcs/rfc1541.html )
"A client that cannot receive unicast IP datagrams until its protocol software has been configured with an IP address SHOULD set the BROADCAST bit in the 'flags' field to 1 in any DHCPDISCOVER or DHCPREQUEST messages that client sends. The BROADCAST bit will provide a hint to the DHCP server and BOOTP relay agent to broadcast any messages to the client on the client's subnet. A client that can receive unicast IP datagrams before its protocol software has been configured SHOULD clear the BROADCAST bit to 0."
So Vista is - was (because it was fixed in sp1 I believe) - morally at fault because its IP stack is capable of receiving unicast packets before the IP address has been configured. However, the word "should" rather than "must" was used so Microsoft is still in compliance with the letter of the protocol.
On the server side:
"A server or relay agent sending or relaying a DHCP message directly to a DHCP client ... SHOULD examine the BROADCAST bit in the 'flags' field. If this bit is set to 1, the DHCP message SHOULD be sent as an IP broadcast using an IP broadcast address (preferably 255.255.255.255) as the IP destination address and the link-layer broadcast address as the link-layer destination address."
Again, it says "should" instead of "must" and so the server side is also morally wrong, but still in compliance with the protocol.
The bug is actually in the RFC
Best comment on this thread so far.
I try to avoid hiring programmers who don't do any programming in their own time. The reason for this is that programming is hard and people who don't like programming tend to find it tedious and they get bored and their code is rubbish as a result.
If you have done no programming in your time as a QA person, then I think you are probably making the wrong decision to go back into coding. You won't enjoy it.
Do not lie on your resume.
If the company you're applying to is competent, they will find you out and show you the door. If they are not competent, do you really want to work for them?
I heard that even Microsoft failed to implement it properly.
EDS has been responsible for quite a number of screwed up Government IT projects in the UK. Somebody at the MoD was responsible for giving the data to that incompetent shower.
So you're saying it's not the line from One of these Days. Therefore, "off topic" seems the appropriate moderation.
So you can listen to music on a plane.
Do you have any evidence that Apple has excluded any application that people want?
By "people" I mean ordinary people who use iPhones rather than software developers and by "want" I mean want to use as opposed to want to develop.
This exemplifies your fundamental mistake. If a normal person finds themself having to use terms like "operating system", "firmware" and "crash" in relation to a telephone or a digital music player, then that is a fail. People want to make telephone calls or listen to music. They do not care about the operating system or the firmware or the ideology of the developers until the phone stops working and then they'll just start cursing it.
People might be getting more sophisticated and knowing what operating system is running on all of their personal devices, but it's not because they want to, it's because the products are crap and don't shield the consumers from their underlying workings properly.
Actually, this example demonstrates preciseley the opposite of the point you were trying to make. The phone operator is still there, it's a computer instead of a person, but the interface between the users and the operator has been simplified to the point where most of us have only the vaguest idea that it's there, how it works or what it does. We just type in the number of the person we want and we are connected. The operator is completely invisible.
The fact that you think it's dangerous in Europe because you can't carry a gun around is a pretty big clue. Nobody who is law abiding in Western Europe carries a gun. In Britain, even the police don't carry guns (except in special circumstances like airports presumably because there is a high concentration of Americans). You're no more likely to be shot by a criminal here than in the States, in fact, you're less likely.
The fact that you think a gun is like a smoke alarm is another clue. Smoke alarms can safely be left lying around unattended and nobody dies. If a smoke alarm goes off by accident, nobody dies. In bank raids where the robbers are armed only with smoke alarms nobody dies. In a fight between two people armed only with smoke alarms, nobody dies.
If you live in a society where gun ownership is a necessity for personal survival, then you've lost the argument before you begin. I don't live in such a society and you'd be well advised to get out.
You are wrong. Mobile phones on planes are seriously dangerous. If they ever lift the mobile phone ban on aircraft, there will certainly a massive upturn in hospital admissions of people whose phones have been shoved so far up their own arses that they can still talk on them.
Not if it was the pilot making the call.
Yes, I think people often forget that, if the phone ban was lifted, it wouldn't be one or two phone calls being made. Every single commercial airliner would have hundreds of phones on it constantly connecting and reconnecting to mobile phone base stations.
Personally, I don't understand the constant obsession with having to be connected to the outside World 24 hours a day. I have to travel by air a lot and it never ceases to amaze me how many people have to switch their phones on the second the aircraft has come to a halt on the stand. Perhaps it helps them maintain the delusion that they are not totally insignificant in the World.
Neither Linus Torvalds nor Linux was born in the US.
That was to distinguish it from the second and subsequent failed attempts.
You're a Unix sysadmin who reads Slashdot.
You don't expect us to believe that you have enough social skills to get to the point of having had children do you?
I seriously doubt if MS-DOS was ever ported to C. Even Windows 95 was written in assembler.