In this case, the EU would be trying MS on basically the same laws that got them into trouble in the states. I don't think that's really a "myopic law from another country" and comparing it to Dmitry's case makes absolutely no sense.
And who would it benefit for MS to pull out of Europe? The population of Europe is probably greater than that of the US. They'd lose a huge amount of money, much more than the 10% that the EU could fine them.
For all their faults, Microsoft know how to make money.
My experience is mainly in commercial software development, hence my bias. However...
As you increase the number of developers, the chances of two people making conflicting changes increases. That's a fact.
From this, I could conclude that:
1. Those 1000 developers are not actually active, i.e., they have made edits but are not any more
2. There's not much activity
3. There's better communication than on a 'normal' commercial application
In reality, number "3" probably has the greatest impact. I've no problem with CVS' technical ability to scale to large applications, and I should have been clearer in my first post.
Inadequate logging. You can add extra technical measures to increase the quality of your logs. We have a system here where each comment has to have a bug report number in it. CVS checks to make sure the number is valid and in the bug report tool you can see which files have been modified for that defect.
That does mean that every change requires an entry in your bug database. This can be a pain for minor, ad hoc changes (but there's an argument that you shouldn't be making changes like that anyway).
Controls for branching and merging are awkward. Frankly, branching/merging is difficult in all the tools I've come across. CVS appears to be above-average in this regard. To paraphrase Tommy Cooper: "Slashdot, it hurts when I branch/merge." "Well don't do it then."
Files can be edited by multiple users simultaneously without checkout. Another management thing. You shouldn't schedule work that's likely to make significant modifications to the same chunk of code at the same time. If team members talk to each other this isn't a huge problem!
Work has been and will be lost due to lack of true version control. I'd bet that more work would have been lost without CVS. I think you need to find out what your manager considers "true version control" to be before anyone can answer this.
SourceSafe follows the standard Microsoft line: it's pretty and fairly easy to use, but limited in a number of areas and not cross-platform (I used a Solaris version but it was very nasty).
PVCS is absolutely appalling.
I've not used Perforce, but I read that it's transactional, i.e., if you check in three files together it remembers that they're all connected to the same change. That sounds very useful.
You've been very harsh on ClearCase. I like the fact that you 'mount' the archive as a drive and use a filter to configure what you see. It's very powerful, although, as you say, it does mean you need a big server to support it. Also it versions directories, which means you don't lose history when you move or rename files.
Similarly, you've been overly nice to CVS! It takes the Unix approach to configuration: very minimal by default but can do wonderful things once you learn it. Or put another way, you can do just about anything with it given enough time. Statements like that, unfortunately, tend to scare managers. Also, I remain unconvinced about its scalability.
And, to answer a question in the original post, merging branches is always a pain, no matter which system you use.
But they already do it, albeit to a very small extent. Win2K Pro will work with up to two processors, the next version up 8 and the top one 16 or 32 (can't remember). I believe XP Home will only work with a single processor.
I guess the flip-side is that you only have to pay for what you actually use. I don't care about 3D graphics support or multi-processor stuff on my desktop, so why should I pay for it?
It's something that could be useful, but can easily be abused. Let's try to guess which end of that spectrum Microsoft chooses...
I honestly don't think that there's one answer. For me, I'm single, don't have a mortgage and like to travel. Therefore, my conditions are some compensation for missing out on my social life, decent accomodation and the time to be able to do some sight-seeing.
"Some compensation" varies depending on the location. I went to the United Arab Emirates a while ago, and I wanted a decent per diem for that as there's not much to do there(!). But on a trip to my university town I only asked for my meals/accomodation paid for.
I like to travel and have to ties, so I'm cheap! If I had a family I'd probably just say "no" unless it was just a couple of days here and there (I don't think any amount of money can compensate for that 'face time').
One of the problems with WAP is standardisation. Sure, there's the official standard but if you write pages that conform then most devices won't display it properly (or at all).
It's kind of like writing web pages and having to write custom stuff for IE and Netscape, but far worse. As pretty much the first machine available, many sites only work properly on a Nokia 7110 (think the numbers right:)
This is the experience we had this time last year; I can't imagine that things have changes much in that time. The WAP part of the site never went live partially because of these problems.
Assuming that 'quality' takes more time is wrong. Taking steps to make sure that code is 'correct' first time is actually much quicker than doing it badly and repeatedly fixing it. There are loads of studies showing this, and it matches my own experience (from my website).
It just takes confidence that this is true and a view of the big picture, which is much easier said than done. The XP refactoring thing sounds great in theory, but I remain to be convinced that it'd work well in practice.
Re:Beauty for beauty's sake makes crappy software
on
Software Aesthetics
·
· Score: 1
It depends on what "nice and pretty code" is. If you mean that every algorithm is optimal, that the design of every part of it is elegant then you're right: the software is seriously over-engineered.
However, I believe there is a minimal set of standards of code 'cleanliness' that should be used regardless of timescales. My main problem is with badly formatted code. What excuse is there for that? You'd only have bad formatting if you didn't understand your own code, which should trigger some warning bells somewhere!
I think you're being a little unfair to Apple. If you compare the cheapest Intel machine against the cheapest Apple then, yes, the Mac is more expensive (albeit significantly better engineered).
If you compare like-with-like Apple comes out much better. I'm seriously tempted to buy an iBook as there's nothing at the price that comes close (IMHO).
Douglas Adams said that 20% of your brain was useful and the rest was made up of penguins. Therefore you only need 168Tb, plus a small amount to represent the idea of a penguin. (That's in one of the Dirk Gently books.)
Serious answer:
You assume that in order for something to appear intelligent (in human terms) it needs to work in the same way as the human brain. This is not true. Although neural nets could allow us to understand more about the brain they are not the only (and may not be the right) way of simulating intelligence.
Why should you have to try hard to understand a movie? I like a film where you learn more about it each time you watch it, but films that try to be so clever that you need to watch them three times before you understand it are just bad.
I've not seen the movie, but I can easily imagine that a a contrived story and bad character development would destroy a film. Without a story and believable characters there's nothing of substance left.
One interesting thing we found while developing a large UK web site was that popups don't work quite as you might expect.
The site wanted to get more people to take out finance and decided (against our recomendations) to use popups. While they *did* get more people applying for finance, they also had a huge increase in the number of people rejected for the same!
Sounds like only those people who are already desparate for your service will actually use the popups, while at the same time you risk alienating a good percentage of "good" customers.
The problem is it's much easier to measure a programs performance than its maintainability. Most managers prefer facts to conjecture even if it means missing out on the "big picture."
Combine that with the fact that it's often different developers doing the initial coding and support, and you get the situation where C is preferred to other languages that help you reduce the number of errors earlier on.
There are many exceptions to the "Japansese discourage creative thinking" meme, but I think that it is generally true. However it's interesting that this thought is a recent innovation.
The future presented by William Gibson (among others) is dominated by Japanese culture and thoughout the eighties it was the Japanese electronics companies that everyone was afraid of. Intel left the memorty market because of them; Microsoft backed the MSX machines.
Todays successful Japanese companies are buying into Western 'creative' companies (think of Sony here).
This is going to sound harsh, but you have to be cruel to be kind (right?!).
People who think that their work is so good that it doesn't need to be reviewed are wrong. These are the very people who need their code to be reviewed. *Everyone* can be a better developer. *Noone* has nothing more to learn.
You can make it easier, though. Allow peers to review each-others code rather than stipulating that it's the team-leads job. Make sure that there's a review meeting rather than just an exchange of paper, and that meeting should be a discussion (the reviewer could be wrong too).
Reviews are so useful in increasing the quality of the deliverable and of the developers themselves that it's worth annoying non-believers. They'll come around eventually.
The technical advantages of Oracle over Postgress are not as significant as Larry might like to think. However, what it does have is a proven ability to perform.
I'm sure that there is no technical reason why Postgress can't handle multi-terabyte databases but I know Oracle can manage because I've seen it and because there are plenty of other customers who have too. The same goes for clustering, stored procedures, etc. If you're trying to reduce technical risk it's pragmatic to choose a solution you know will work.
Also in Oracle's favour is that it's much easier to recruit Oracle people than Postgress people. Databases are complex beasts, so it's important that you have qualified people supporting it.
I've not really used DB2, but I think that it has similar advantages over Postgres as Oracle. And finally, I am slightly biased. I don't work for Oracle but I did write the Oracle 8i on Linux Howto.
Another argument they use is that they want to tailor the content of each disc to a particular market. That kind of makes sense (even for back-catalogue discs), but doesn't explain why I shouldn't use an American disc if I choose. And it doesn't explain why the prices vary so much from country to country.
The truth is that there's (probably) no single argument that shows that region coding is for the benefit of consumers. They *are*, as you say, abusing their customers.
Perhaps being nice to consumers is where free software is going wrong:)
If that were the real reason, they'd need *country* encoding. Region 1 is just the US and Canada (right?), so that might work. But Region 2 is Europe. Here we don't even speak the same language, so having the same distribution agreements would just be a pipe-dream...
The reason they *say* they want region coding is to reduce cost(!). If they release a film on the same day world-wide, it costs more and takes much more organisation that doing one region at a time. With region coding, they can release the DVD in the states at the same time as they release the film to theatres in the UK without allowing DVD sales to encroach on ticket sales.
And yet, CDs in the states are still way cheaper than they are here in the UK. Chart CDs tend to be around £13 while less popular stuff goes up to £18.
I'd prefer to be able to pay US prices!
Re:Iain Banks without the M
on
The Business
·
· Score: 1
It's true, his non-SF books are way better than his SF books. They're the right length for a start.
Take Consider Phlebas: Section 1: main character finds other characters. Section 2: most other characters are killed off. Section 3: main character does what he was supposed to do in the first section.
I've nothing against reading long books (no problem with Cryptonomicon) but CP seemed long for no reason, and Banks easy-to-read style didn't really help.
All his SF books seem to have the same problem; his 'normal' books don't.
Profit and Quality are not equivalent, or even proportional:
Debian GNU/Linux does not make a profit, therefore the community does not value them.
Microsoft makes huge profits, therefore their products must be a a very high quality.
There's more to life than money.
In this case, the EU would be trying MS on basically the same laws that got them into trouble in the states. I don't think that's really a "myopic law from another country" and comparing it to Dmitry's case makes absolutely no sense.
And who would it benefit for MS to pull out of Europe? The population of Europe is probably greater than that of the US. They'd lose a huge amount of money, much more than the 10% that the EU could fine them.
For all their faults, Microsoft know how to make money.
Not quite universal, but I think the digital back is here. Seems quite limited at the moment (24 exposures!), but I think the potential is there.
Last year's winner: IIS, up for a record four years in a row!
That's the first and last time that any Microsoft software has been up for over a year.
My experience is mainly in commercial software development, hence my bias. However...
As you increase the number of developers, the chances of two people making conflicting changes increases. That's a fact.
From this, I could conclude that:
1. Those 1000 developers are not actually active, i.e., they have made edits but are not any more
2. There's not much activity
3. There's better communication than on a 'normal' commercial application
In reality, number "3" probably has the greatest impact. I've no problem with CVS' technical ability to scale to large applications, and I should have been clearer in my first post.
Inadequate logging. You can add extra technical measures to increase the quality of your logs. We have a system here where each comment has to have a bug report number in it. CVS checks to make sure the number is valid and in the bug report tool you can see which files have been modified for that defect.
That does mean that every change requires an entry in your bug database. This can be a pain for minor, ad hoc changes (but there's an argument that you shouldn't be making changes like that anyway).
Controls for branching and merging are awkward. Frankly, branching/merging is difficult in all the tools I've come across. CVS appears to be above-average in this regard. To paraphrase Tommy Cooper: "Slashdot, it hurts when I branch/merge." "Well don't do it then."
Files can be edited by multiple users simultaneously without checkout. Another management thing. You shouldn't schedule work that's likely to make significant modifications to the same chunk of code at the same time. If team members talk to each other this isn't a huge problem!
Work has been and will be lost due to lack of true version control. I'd bet that more work would have been lost without CVS. I think you need to find out what your manager considers "true version control" to be before anyone can answer this.
Just to add a little to your assessments...
SourceSafe follows the standard Microsoft line: it's pretty and fairly easy to use, but limited in a number of areas and not cross-platform (I used a Solaris version but it was very nasty).
PVCS is absolutely appalling.
I've not used Perforce, but I read that it's transactional, i.e., if you check in three files together it remembers that they're all connected to the same change. That sounds very useful.
You've been very harsh on ClearCase. I like the fact that you 'mount' the archive as a drive and use a filter to configure what you see. It's very powerful, although, as you say, it does mean you need a big server to support it. Also it versions directories, which means you don't lose history when you move or rename files.
Similarly, you've been overly nice to CVS! It takes the Unix approach to configuration: very minimal by default but can do wonderful things once you learn it. Or put another way, you can do just about anything with it given enough time. Statements like that, unfortunately, tend to scare managers. Also, I remain unconvinced about its scalability.
And, to answer a question in the original post, merging branches is always a pain, no matter which system you use.
No, an apple to apple comparison is MacOS 9 to MacOS X. Sorry, bad joke.
But they already do it, albeit to a very small extent. Win2K Pro will work with up to two processors, the next version up 8 and the top one 16 or 32 (can't remember). I believe XP Home will only work with a single processor.
I guess the flip-side is that you only have to pay for what you actually use. I don't care about 3D graphics support or multi-processor stuff on my desktop, so why should I pay for it?
It's something that could be useful, but can easily be abused. Let's try to guess which end of that spectrum Microsoft chooses...
I honestly don't think that there's one answer. For me, I'm single, don't have a mortgage and like to travel. Therefore, my conditions are some compensation for missing out on my social life, decent accomodation and the time to be able to do some sight-seeing.
"Some compensation" varies depending on the location. I went to the United Arab Emirates a while ago, and I wanted a decent per diem for that as there's not much to do there(!). But on a trip to my university town I only asked for my meals/accomodation paid for.
I like to travel and have to ties, so I'm cheap! If I had a family I'd probably just say "no" unless it was just a couple of days here and there (I don't think any amount of money can compensate for that 'face time').
One of the problems with WAP is standardisation. Sure, there's the official standard but if you write pages that conform then most devices won't display it properly (or at all).
:)
It's kind of like writing web pages and having to write custom stuff for IE and Netscape, but far worse. As pretty much the first machine available, many sites only work properly on a Nokia 7110 (think the numbers right
This is the experience we had this time last year; I can't imagine that things have changes much in that time. The WAP part of the site never went live partially because of these problems.
Assuming that 'quality' takes more time is wrong. Taking steps to make sure that code is 'correct' first time is actually much quicker than doing it badly and repeatedly fixing it. There are loads of studies showing this, and it matches my own experience (from my website).
It just takes confidence that this is true and a view of the big picture, which is much easier said than done. The XP refactoring thing sounds great in theory, but I remain to be convinced that it'd work well in practice.
It depends on what "nice and pretty code" is. If you mean that every algorithm is optimal, that the design of every part of it is elegant then you're right: the software is seriously over-engineered.
However, I believe there is a minimal set of standards of code 'cleanliness' that should be used regardless of timescales. My main problem is with badly formatted code. What excuse is there for that? You'd only have bad formatting if you didn't understand your own code, which should trigger some warning bells somewhere!
I wrote a longer piece about this here.
I think you're being a little unfair to Apple. If you compare the cheapest Intel machine against the cheapest Apple then, yes, the Mac is more expensive (albeit significantly better engineered).
If you compare like-with-like Apple comes out much better. I'm seriously tempted to buy an iBook as there's nothing at the price that comes close (IMHO).
Humorous answer:
Douglas Adams said that 20% of your brain was useful and the rest was made up of penguins. Therefore you only need 168Tb, plus a small amount to represent the idea of a penguin. (That's in one of the Dirk Gently books.)
Serious answer:
You assume that in order for something to appear intelligent (in human terms) it needs to work in the same way as the human brain. This is not true. Although neural nets could allow us to understand more about the brain they are not the only (and may not be the right) way of simulating intelligence.
Why should you have to try hard to understand a movie? I like a film where you learn more about it each time you watch it, but films that try to be so clever that you need to watch them three times before you understand it are just bad.
I've not seen the movie, but I can easily imagine that a a contrived story and bad character development would destroy a film. Without a story and believable characters there's nothing of substance left.
One interesting thing we found while developing a large UK web site was that popups don't work quite as you might expect.
The site wanted to get more people to take out finance and decided (against our recomendations) to use popups. While they *did* get more people applying for finance, they also had a huge increase in the number of people rejected for the same!
Sounds like only those people who are already desparate for your service will actually use the popups, while at the same time you risk alienating a good percentage of "good" customers.
The problem is it's much easier to measure a programs performance than its maintainability. Most managers prefer facts to conjecture even if it means missing out on the "big picture."
Combine that with the fact that it's often different developers doing the initial coding and support, and you get the situation where C is preferred to other languages that help you reduce the number of errors earlier on.
There are many exceptions to the "Japansese discourage creative thinking" meme, but I think that it is generally true. However it's interesting that this thought is a recent innovation.
The future presented by William Gibson (among others) is dominated by Japanese culture and thoughout the eighties it was the Japanese electronics companies that everyone was afraid of. Intel left the memorty market because of them; Microsoft backed the MSX machines.
Todays successful Japanese companies are buying into Western 'creative' companies (think of Sony here).
Who'd have thought it?
This is going to sound harsh, but you have to be cruel to be kind (right?!).
People who think that their work is so good that it doesn't need to be reviewed are wrong. These are the very people who need their code to be reviewed. *Everyone* can be a better developer. *Noone* has nothing more to learn.
You can make it easier, though. Allow peers to review each-others code rather than stipulating that it's the team-leads job. Make sure that there's a review meeting rather than just an exchange of paper, and that meeting should be a discussion (the reviewer could be wrong too).
Reviews are so useful in increasing the quality of the deliverable and of the developers themselves that it's worth annoying non-believers. They'll come around eventually.
The technical advantages of Oracle over Postgress are not as significant as Larry might like to think. However, what it does have is a proven ability to perform.
I'm sure that there is no technical reason why Postgress can't handle multi-terabyte databases but I know Oracle can manage because I've seen it and because there are plenty of other customers who have too. The same goes for clustering, stored procedures, etc. If you're trying to reduce technical risk it's pragmatic to choose a solution you know will work.
Also in Oracle's favour is that it's much easier to recruit Oracle people than Postgress people. Databases are complex beasts, so it's important that you have qualified people supporting it.
I've not really used DB2, but I think that it has similar advantages over Postgres as Oracle. And finally, I am slightly biased. I don't work for Oracle but I did write the Oracle 8i on Linux Howto.
I never argued that it made sense...
:)
Another argument they use is that they want to tailor the content of each disc to a particular market. That kind of makes sense (even for back-catalogue discs), but doesn't explain why I shouldn't use an American disc if I choose. And it doesn't explain why the prices vary so much from country to country.
The truth is that there's (probably) no single argument that shows that region coding is for the benefit of consumers. They *are*, as you say, abusing their customers.
Perhaps being nice to consumers is where free software is going wrong
If that were the real reason, they'd need *country* encoding. Region 1 is just the US and Canada (right?), so that might work. But Region 2 is Europe. Here we don't even speak the same language, so having the same distribution agreements would just be a pipe-dream...
The reason they *say* they want region coding is to reduce cost(!). If they release a film on the same day world-wide, it costs more and takes much more organisation that doing one region at a time. With region coding, they can release the DVD in the states at the same time as they release the film to theatres in the UK without allowing DVD sales to encroach on ticket sales.
And yet, CDs in the states are still way cheaper than they are here in the UK. Chart CDs tend to be around £13 while less popular stuff goes up to £18.
I'd prefer to be able to pay US prices!
It's true, his non-SF books are way better than his SF books. They're the right length for a start.
Take Consider Phlebas: Section 1: main character finds other characters. Section 2: most other characters are killed off. Section 3: main character does what he was supposed to do in the first section.
I've nothing against reading long books (no problem with Cryptonomicon) but CP seemed long for no reason, and Banks easy-to-read style didn't really help.
All his SF books seem to have the same problem; his 'normal' books don't.