This is by far the best comment I have read on this subject. While I don't agree with Theo's tone I do think he has a point. His harsh tone and extremest turns a lot of people, and hence talent off.
Linus is a great guy and he has allowed a lot of people to help contribute. But the loosy-goosy fashion of getting code into Linux will end up with an OS as buggy and insecure as windows.
Both personality types are needed. I like the good cop bad bop analagy.
"Guess what? The next developer who looks at this piece of code will actually start thinking and making it better rather than just assuming that everything is 100% perfect."
Why is a comment like that in production code? You may feel its ok, but from my experience thats a dead give away that there is something wrong in the process by which code is vetted and moved into production. That comment is ok in a beta or test environment. But if it's production thats a big no no. The question should have been answered *before* it was moved into production/regular release.
Imagine your in heart surgery, the heart surgeon says "is it ok for me to make an incision here?". Are you ok with that?
"In nature genetic code that produces different proteins seems to appear by mutation and coincidence"
Programming and evolution in nature are two different things no matter how cute the analogy may seem. I have spent more than a decade programming in a busines environment and I can say with absolute confidence that substandard code will be a easy quick fix in the short term but long term will become useless.
To borrow your analagy, the dinasours were terrific creatures while they lived. But when problems arose they all died off.
The belief that "Crappy is good enough" may seem ok in the short term but in the long term its a killer.
I see it in a lot of things, especially at work. We develop system processes that are crappy, but hey they work. In the short term during implementation its crappy but its a workable solution. Over time as we apply crappy patch after crappy patch to keep things going until one day the whole system grinds to a halt. We need to reimplement the thing from scratch. Sooner or later the finance people get involved and demand to know why the whole venture is unprofitable. Why didn't we include this in our orriginal cost estimates?
With linux there is no finance group but its the same idea. You allow tons of crappy code to pile up over the years and sooner or later your like Windows. Nothing works reliably without a lot of hand holding. Accepting crappy code is crap. We should all expect better because it is possible.
I agree with Theo but I think he could have used softer language to get his point accross. Perhaps there is some venom in his words because of linux popularity, however that doesn't make his point invalid.
I see too much crappy code at work on our systems, and I have seen the long term effects of allowing crap code to exist. It isn't pretty and it kills any project long term.
You have to consider Xbox. There is a reason Microsoft is putting a lot behind Xbox. They know that the next gen game machines kill of a lot of demand for PC's.
Bill would love it if games move to xbox. Xbox give microsoft far more control over gaming development on that platform than PC's.
With regular PC's anyone can develop a game without having to deal with microsoft. With Xbox, you do need to work with microsoft to get your game published.
My first thought when I read the article was "Did the Cuban government pay for those copies?". They couldn't have payed for them as you mentioned, its not legal to sell or export to Cuba.
Does any one know how Cuba got windows? I don't give a hoot whether they paid or not. I am just curious to see if Bill is selling to the commies without the US govt approval.
If I may argue against your funny take on the article, we all need to buy clothes. We don't need to buy games. So while fashion designers can come out with crap we still have to buy them or become nudists, we can definately stop buying the latest games or go to the "jewel case" aisle and pick up an oldie but a good for 10$.
You mention that when we are presented with a 6 or a 7 we go ballistic because so much crap is out there. I agree whole heartedly.
To add to that, we have game reveiwers who are so in the pockets of game companies I would be surprised if ever a game had a negative review. Its like reading movie reviews in that free magazine they give you at the movie theater.
I think over time people will drift away. You will see lower sales and less need to buy the latest game. With each new release of a game compare the sales levels against prior versions. I bet you can see a trend.
It would be interesting to know what the new Gran tursimo sales are compared to when version 3 was released. Another one that comes to mind is Battlefield 2.0. It would be interesting to compare those initial sales numbers against Battlefield 1942. The Tony Hawk series would be a good one to look at too.
After a while customers catch on the the gig, and they stop shelling out the cash. It doesn't happen right away, but it does happen.
I agree with you on this. Dvorak is on to something. I have noticed a stagnation in the gaming industry and I have a feeling Electronic Arts has a lot to do with it.
10 or more years ago the gaming industry was made up of a lot of small outfits. Now they have been merged into a few big players, one being hugely massive (EA Games). Once that happens its about share holder value and not what's a great new gaming idea. The best killer of inovation is always success.
I heard some one say EA Games bought the exclusive rights to use NFL player names and stats in there games. As soon as I heard that I thought that was the death of football video games. Where is the incentive to develop a better Madden Football when there is no compitition.
I think you missing a lot of what the article is trying to say. If you banking your companies future on selling only to the next generation your going to see your revenues shrink drastically. You end up pissing off 80% of your client base just so you can sell to the next set of 6 year olds new versions of the same old thing.
I actually enjoyed the first season of Enterprise. After watch several years of TNG I couldn't take DS9 or Voyager. It was excrutiating for me to watch those shows. There were ocasional decent episodes. But you can tell when a star trek show is loosing ideas when they revert to use time travel or far out made up technology to solve a problem.
The best Star Trek episodes have always been about people solving human issues. In the beginning of Enterprise it was so refreshing to see Humans stumbling with space travel. A back to the basics type of show. When a trek series episode reverts to how some smart crewman reversed the polarity of quantum flux thingy magigy to save the day it's time to change writers or kill the show. Enterprise got there quicker than I thought they would.
I know there are fans who like the quantum flux solution crap, but those types are few and far between in the public at large. Mark my words, when a science fiction show reverts to time travel and quantum flux solutions the show is over. Its like the Happy Days Fonzie on water ski's moment.
I see what you saying but I don't think its 100% true, maybe 80%. I think many advertisers make the client (the company selling stuff) *think* that it works. Some times it does and some times it doesn't. Working in a big company myself I have seen many times that when the company wants to believe something works, they believe it even when market data overwhelmingly says it's a failure. Hubris knows no bounds.
Perhaps if users started sending messages to the companies in the advertisements, telling them how annoyed they are this kind of brute force advertising would stop. Or perhaps we need to find those 1 out of 10 that cave in and smarten them up.
People rise up in anger over the fact that advertisers are annoying us with advertisements. Advertisers could think "Hey, we are being annoying and people hate that, lets work on more subtle methods to advertise that don't offend". But no they find better ways to piss us off, and they think we will buy what ever they are selling.
Imagine walking down a street minding your own business. This guy suddenly pops out and hassles you. "You want to buy this? Check this out! Wow, you need to check this out!". He won't stop. When you finally get pissed off and punch the guy he is all surprised and doesn't understand why you won't buy his stuff. That sums up the online add industry.
When are they going to learn that they are just PISSING US OFF!
"I have to wonder about that. I can't pick up my access point more than 20 feet from my house with my laptop... "
I live in a large metropolis. From my 16th floor Apartment there must be at least 60 AP's I can pick up. One has an address as the SSID and I figure its about 600 yards away.
My own Orinico card has trouble working with my Linksys AP from 1 foot away, but it can pick up that 600 yard signal no problem.
How timely that this comes up. I have been reading into Software management and there are lots of books on the subject that go back to the 70's. The ones I am reading at the moment are "Agile Software Development" (by Cockburn) and "Fact's and Fallacies of Software Engineering" (by Glass). I was unable to follow the link to read what the guys had found but I have a guess it's pretty much a rehash what these other books are saying in more depth. There are a lot more books like the above out there, just search Amazon.
The books are interesting in that they show a hell of a lot of detail and history around problems of development projects. Companies like IBM have been studying the problems since the 50's. That fact that these guys have looked into it and produced yet another report shows that both programmers and managers are not looking into the volumes of books and case studies all ready out there.
"I think if anything we're seeing the weak developers wiped out."
I think there is truth in that statement.
In my current job, which has lasted a number of years, I have worked with programmers in our US, India, and UK offices. It gives me a good feel for how each country does things.
India had a lot of technically good programmers. The problem they had was translating this tech knowledge into a workable solution. What was delivered didn't follow what the requirements needed.
UK office was not too worried about time deadlines. They worked, and worked hard, but come 5 o'clock it was time to go to the pub. They also didn't have any coding stars, no depth of knowledge. Guys who knew how to code brilliantly.
The US groups seemed to have one or two star programmers and the rest were guys just coding to get a pay cheque. They were also unable to look outside the box and unique solutions. The US education system is doing a rotten job of teaching kids to think for themselves. Forgive me if it looks like an insult but you guys in the US tend to stick to one way of doing things and not changing it ever.
I think it's that inability to adapt to new situations that causes problems in the US.
Keep in mind this is based on my experience only. But it does sound like a trend when I talk to my friends in other firms and industries
There is another component to this. Quality. There have been a few projects we have outsourced to India from here. Those projects were poorly coded and setup in India causing lots of extra work here in the way of fixes and follow ups.
Once advantage Canada has over India is quality. We are still slightly cheaper, and the dollar works in our favour. Wages for programmers are generally less than our US counterparts as well.
If you could get a project done well and on time in Canada for X dollars, or in India with quality issues and delays for 1/8 of X dollars, what do you choose? There are times when you would prefer the job right the first time instead of paying more for fixes after, which could cost you 10 times more than you saved.
As a side note, I would not say India's programmers are crappy in general as you might gather from my above statements. Some of our stars here in the Toronto Office are from India and don't intend to move back. However the work we have outsourced was done quite poorly.
I would tend to disagree. We are getting a lot of outsourcing work here in Canada, including our Toronto office. There are a lot of different situations of course. Differet firms have different experiences. I have seen some stuff go to India but there it seems to be work we don't have the capacity for. And the folks in India are not doing as good a job as the Canadians here.
I remember seeing some stats from Wired magazine that show Canada is the second highest destination of outsourcing work from the US. There was a huge margin between India and Canada, however we were 2nd.
As for housing prices in Toronto, they are not that bad compared to Vancouver. There has been a recent dip in the market. If your a country bumpkin they seem espensive.
"Why can't text based communication just be text based(information based)? "
I agree completely. We have sametime IRC here at work it is quite helpful. Simple text messaging among co workers without having to get up and go to the other persons cube. We get a lot of good work communication done through sametime, as well as goof off chat. It works best because it's just text. No fancy crap to impede communications.
For a while I spent a lot of time trying to find good conversations on Yahoo's chat groups or other IRC type messaging systems. That was a futile effort. I can see why the chattering masses on Yahoo's chat areas might like these visual avatars. However I agree with one person in the article that says this is just a fad and will pass.
Depends on your enviroment. If you have a database that gets a large batch update once a week then why back up daily.
We have one database like that. On the Saturday the a batch job loads thousands of transactions. The rest of the week people query the database. No writes or deletes.
Your some what right in your statement. Any body who has read the vast number of essays and his comments on the book knows Orwell wrote it for these reasons;
1 - To show how language subverted can control a population by a facist government
2 - That technology doesn't mean good things come from it. He wrote an essay about this critizing H.G. Wells for his belief that technology solves everything
3 - That revolutions designed to take back government for the people can be subverted to give power to a few facist types.
4 - to show what was all ready happening in Franco's spain and Russia.
This is by far the best comment I have read on this subject. While I don't agree with Theo's tone I do think he has a point. His harsh tone and extremest turns a lot of people, and hence talent off.
Linus is a great guy and he has allowed a lot of people to help contribute. But the loosy-goosy fashion of getting code into Linux will end up with an OS as buggy and insecure as windows.
Both personality types are needed. I like the good cop bad bop analagy.
"Guess what? The next developer who looks at this piece of code will actually start thinking and making it better rather than just assuming that everything is 100% perfect."
Why is a comment like that in production code? You may feel its ok, but from my experience thats a dead give away that there is something wrong in the process by which code is vetted and moved into production. That comment is ok in a beta or test environment. But if it's production thats a big no no. The question should have been answered *before* it was moved into production/regular release.
Imagine your in heart surgery, the heart surgeon says "is it ok for me to make an incision here?". Are you ok with that?
"In nature genetic code that produces different proteins seems to appear by mutation and coincidence"
Programming and evolution in nature are two different things no matter how cute the analogy may seem. I have spent more than a decade programming in a busines environment and I can say with absolute confidence that substandard code will be a easy quick fix in the short term but long term will become useless.
To borrow your analagy, the dinasours were terrific creatures while they lived. But when problems arose they all died off.
The belief that "Crappy is good enough" may seem ok in the short term but in the long term its a killer.
I see it in a lot of things, especially at work. We develop system processes that are crappy, but hey they work. In the short term during implementation its crappy but its a workable solution. Over time as we apply crappy patch after crappy patch to keep things going until one day the whole system grinds to a halt. We need to reimplement the thing from scratch. Sooner or later the finance people get involved and demand to know why the whole venture is unprofitable. Why didn't we include this in our orriginal cost estimates?
With linux there is no finance group but its the same idea. You allow tons of crappy code to pile up over the years and sooner or later your like Windows. Nothing works reliably without a lot of hand holding. Accepting crappy code is crap. We should all expect better because it is possible.
I agree with Theo but I think he could have used softer language to get his point accross. Perhaps there is some venom in his words because of linux popularity, however that doesn't make his point invalid.
I see too much crappy code at work on our systems, and I have seen the long term effects of allowing crap code to exist. It isn't pretty and it kills any project long term.
You have to consider Xbox. There is a reason Microsoft is putting a lot behind Xbox. They know that the next gen game machines kill of a lot of demand for PC's.
Bill would love it if games move to xbox. Xbox give microsoft far more control over gaming development on that platform than PC's.
With regular PC's anyone can develop a game without having to deal with microsoft. With Xbox, you do need to work with microsoft to get your game published.
My first thought when I read the article was "Did the Cuban government pay for those copies?". They couldn't have payed for them as you mentioned, its not legal to sell or export to Cuba.
Does any one know how Cuba got windows? I don't give a hoot whether they paid or not. I am just curious to see if Bill is selling to the commies without the US govt approval.
If I may argue against your funny take on the article, we all need to buy clothes. We don't need to buy games. So while fashion designers can come out with crap we still have to buy them or become nudists, we can definately stop buying the latest games or go to the "jewel case" aisle and pick up an oldie but a good for 10$.
You mention that when we are presented with a 6 or a 7 we go ballistic because so much crap is out there. I agree whole heartedly.
To add to that, we have game reveiwers who are so in the pockets of game companies I would be surprised if ever a game had a negative review. Its like reading movie reviews in that free magazine they give you at the movie theater.
I think over time people will drift away. You will see lower sales and less need to buy the latest game. With each new release of a game compare the sales levels against prior versions. I bet you can see a trend.
It would be interesting to know what the new Gran tursimo sales are compared to when version 3 was released. Another one that comes to mind is Battlefield 2.0. It would be interesting to compare those initial sales numbers against Battlefield 1942. The Tony Hawk series would be a good one to look at too.
After a while customers catch on the the gig, and they stop shelling out the cash. It doesn't happen right away, but it does happen.
I agree with you on this. Dvorak is on to something. I have noticed a stagnation in the gaming industry and I have a feeling Electronic Arts has a lot to do with it.
10 or more years ago the gaming industry was made up of a lot of small outfits. Now they have been merged into a few big players, one being hugely massive (EA Games). Once that happens its about share holder value and not what's a great new gaming idea. The best killer of inovation is always success.
I heard some one say EA Games bought the exclusive rights to use NFL player names and stats in there games. As soon as I heard that I thought that was the death of football video games. Where is the incentive to develop a better Madden Football when there is no compitition.
I think you missing a lot of what the article is trying to say. If you banking your companies future on selling only to the next generation your going to see your revenues shrink drastically. You end up pissing off 80% of your client base just so you can sell to the next set of 6 year olds new versions of the same old thing.
I actually enjoyed the first season of Enterprise. After watch several years of TNG I couldn't take DS9 or Voyager. It was excrutiating for me to watch those shows. There were ocasional decent episodes. But you can tell when a star trek show is loosing ideas when they revert to use time travel or far out made up technology to solve a problem.
The best Star Trek episodes have always been about people solving human issues. In the beginning of Enterprise it was so refreshing to see Humans stumbling with space travel. A back to the basics type of show. When a trek series episode reverts to how some smart crewman reversed the polarity of quantum flux thingy magigy to save the day it's time to change writers or kill the show. Enterprise got there quicker than I thought they would.
I know there are fans who like the quantum flux solution crap, but those types are few and far between in the public at large. Mark my words, when a science fiction show reverts to time travel and quantum flux solutions the show is over. Its like the Happy Days Fonzie on water ski's moment.
I see what you saying but I don't think its 100% true, maybe 80%. I think many advertisers make the client (the company selling stuff) *think* that it works. Some times it does and some times it doesn't. Working in a big company myself I have seen many times that when the company wants to believe something works, they believe it even when market data overwhelmingly says it's a failure. Hubris knows no bounds.
Perhaps if users started sending messages to the companies in the advertisements, telling them how annoyed they are this kind of brute force advertising would stop. Or perhaps we need to find those 1 out of 10 that cave in and smarten them up.
People rise up in anger over the fact that advertisers are annoying us with advertisements. Advertisers could think "Hey, we are being annoying and people hate that, lets work on more subtle methods to advertise that don't offend". But no they find better ways to piss us off, and they think we will buy what ever they are selling.
Imagine walking down a street minding your own business. This guy suddenly pops out and hassles you. "You want to buy this? Check this out! Wow, you need to check this out!". He won't stop. When you finally get pissed off and punch the guy he is all surprised and doesn't understand why you won't buy his stuff. That sums up the online add industry.
When are they going to learn that they are just PISSING US OFF!
"I have to wonder about that. I can't pick up my access point more than 20 feet from my house with my laptop... "
I live in a large metropolis. From my 16th floor Apartment there must be at least 60 AP's I can pick up. One has an address as the SSID and I figure its about 600 yards away.
My own Orinico card has trouble working with my Linksys AP from 1 foot away, but it can pick up that 600 yard signal no problem.
How timely that this comes up. I have been reading into Software management and there are lots of books on the subject that go back to the 70's. The ones I am reading at the moment are "Agile Software Development" (by Cockburn) and "Fact's and Fallacies of Software Engineering" (by Glass). I was unable to follow the link to read what the guys had found but I have a guess it's pretty much a rehash what these other books are saying in more depth. There are a lot more books like the above out there, just search Amazon.
The books are interesting in that they show a hell of a lot of detail and history around problems of development projects. Companies like IBM have been studying the problems since the 50's. That fact that these guys have looked into it and produced yet another report shows that both programmers and managers are not looking into the volumes of books and case studies all ready out there.
"or work in a field where I can impact society and people's lives in a more direct way"
And you think you can do this as a lawyer???
Wait till your practising law for a few years. By then the courts will grind you down to just another ambulance chaser or corporate blood hound.
"I think if anything we're seeing the weak developers wiped out."
I think there is truth in that statement.
In my current job, which has lasted a number of years, I have worked with programmers in our US, India, and UK offices. It gives me a good feel for how each country does things.
India had a lot of technically good programmers. The problem they had was translating this tech knowledge into a workable solution. What was delivered didn't follow what the requirements needed.
UK office was not too worried about time deadlines. They worked, and worked hard, but come 5 o'clock it was time to go to the pub. They also didn't have any coding stars, no depth of knowledge. Guys who knew how to code brilliantly.
The US groups seemed to have one or two star programmers and the rest were guys just coding to get a pay cheque. They were also unable to look outside the box and unique solutions. The US education system is doing a rotten job of teaching kids to think for themselves. Forgive me if it looks like an insult but you guys in the US tend to stick to one way of doing things and not changing it ever.
I think it's that inability to adapt to new situations that causes problems in the US.
Keep in mind this is based on my experience only. But it does sound like a trend when I talk to my friends in other firms and industries
There is another component to this. Quality. There have been a few projects we have outsourced to India from here. Those projects were poorly coded and setup in India causing lots of extra work here in the way of fixes and follow ups.
Once advantage Canada has over India is quality. We are still slightly cheaper, and the dollar works in our favour. Wages for programmers are generally less than our US counterparts as well.
If you could get a project done well and on time in Canada for X dollars, or in India with quality issues and delays for 1/8 of X dollars, what do you choose? There are times when you would prefer the job right the first time instead of paying more for fixes after, which could cost you 10 times more than you saved.
As a side note, I would not say India's programmers are crappy in general as you might gather from my above statements. Some of our stars here in the Toronto Office are from India and don't intend to move back. However the work we have outsourced was done quite poorly.
"The situation is no different from the USA IMO."
I would tend to disagree. We are getting a lot of outsourcing work here in Canada, including our Toronto office. There are a lot of different situations of course. Differet firms have different experiences. I have seen some stuff go to India but there it seems to be work we don't have the capacity for. And the folks in India are not doing as good a job as the Canadians here.
I remember seeing some stats from Wired magazine that show Canada is the second highest destination of outsourcing work from the US. There was a huge margin between India and Canada, however we were 2nd.
As for housing prices in Toronto, they are not that bad compared to Vancouver. There has been a recent dip in the market. If your a country bumpkin they seem espensive.
"Why can't text based communication just be text based(information based)? "
I agree completely. We have sametime IRC here at work it is quite helpful. Simple text messaging among co workers without having to get up and go to the other persons cube. We get a lot of good work communication done through sametime, as well as goof off chat. It works best because it's just text. No fancy crap to impede communications.
For a while I spent a lot of time trying to find good conversations on Yahoo's chat groups or other IRC type messaging systems. That was a futile effort. I can see why the chattering masses on Yahoo's chat areas might like these visual avatars. However I agree with one person in the article that says this is just a fad and will pass.
Depends on your enviroment. If you have a database that gets a large batch update once a week then why back up daily.
We have one database like that. On the Saturday the a batch job loads thousands of transactions. The rest of the week people query the database. No writes or deletes.
Your some what right in your statement. Any body who has read the vast number of essays and his comments on the book knows Orwell wrote it for these reasons;
1 - To show how language subverted can control a population by a facist government
2 - That technology doesn't mean good things come from it. He wrote an essay about this critizing H.G. Wells for his belief that technology solves everything
3 - That revolutions designed to take back government for the people can be subverted to give power to a few facist types.
4 - to show what was all ready happening in Franco's spain and Russia.
1984 is not Orwells prediction of the future.
Thats what autotester software is for. Don't let complexity be your excuse for being lazy. At least try every combination.