Sites that feed different content to googlebot than they do to normal users, on the other hand... *bough*expertexchange*cough*
Why do sites think that by tricking me into clicking on something that isn't what it appeared to be will make me inclined to sign up with them? They can go burn in hell.
However TDD provides a "safety-net" which gives you immediate feedback if you break the code while trying to fix design issues. Code review requires the team to have a complete understanding of the code and all possible inputs. TDD does not.
You took my comment out of context. Either you're trying to mis-represent what I said, or you didn't understand it. Test driven development doesn't fix the "understanding all possible inputs" problem that you describe with code reviews. You still need to know, or your test will be faulty. In my experience with TDD, if your test fails because you made design changes (or bug fixes), more often than not you end up fixing the faulty assumptions or design decisions in your test, and not changing the code to pass the erroneous test.
I work on a small team (20 developers). Every day I see at least one bug in highly unit tested code that wouldn't have made it past a code review.
Unit tests are a situationally appropriate tool. But they are not a replacement for a review on any team larger than a few people. You have to understand every possible interaction between what you're changing and the rest of the system to write a 100% effective unit test. That just can't happen once you have a few dozen people writing your product.
I just posted this above, but then I saw your comment.
Accountability doesn't make bad programmers better. If you're in an organization that feels they need more accountability to increase quality, you should look up the chain for the problem. Question the hiring practices. Question the project planning... Those are the two places you're most likely to find the problem.
Have you ever caught yourself reminding somebody how important something is in hopes of getting results more quickly? It's a typical tactic of an 'accountability' manager. If so, *you* are the problem. Either the developer isn't giving 100%, and needs a kick in the ass to stop slacking (why do you continue to employ them?), or you're pushing unreasonable expectations. Unreasonable expectations end in disappointment. Either you won't get what you wanted on time, or you'll get it at a lower quality level (costing more time down the road), or you'll lose your good developer to another company.
Code reviews find bugs. They shouldn't find bugs every single time, 'cause you shouldn't be writing that many bugs. But they find bugs. That's all they should be used for.
In practice you spend 200% longer to generate your product. You end up with the same bugs you would have had before, but you have to fix them in the test and the software. Plus you typically end up getting to run the same test 10,000 times against the same piece of code, 'cause it ends up getting run whenever you build.
I'm not talking about stupid little think-os, syntax, or functional type bugs. TDD can catch those fine, but so can a good code review... I'm talking about the real bugs that eat the majority of a release cycle (yeah, I know. To a manager every bug is just one more in the bug count). I'm talking about bugs where the developer didn't know the correct functionality, or thought they knew the correct functionality but didn't take into account some outside effect (any possibly couldn't have predicted the outside effects ahead of time).
Good developers know the appropriate level of testing, whether a particular module would benefit most from a unit test, an integration test... Whether it would be best done manually, or automated... Enforced test-driven development, though, just guarantees doubled implementation time and results in a whole bunch of tests of basic operators and constructs.
There is one case to be made for TDD though. When the designer writes the tests to be passed off to the implementer as part of the design. When, say, the implementation is being done off site.... But hardly anybody does that. They just have a programmer design, and implement both the tests and code from a basic set of specifications. And that's a plain waste of time. It's a round about way to 'hold people accountable for their code'... But accountability doesn't make bad programmers good, and it doesn't catch design bugs either.
In my experience, Pair programmers are more than twice as productive as a single developer when you factor in all the errors and bugs prevented by having two sets of eyes on the same problem.
In my experience, pair programmers are only more efficient than each programmer working on their own when both programmers are bad.
Bonus: Most development managers that like pair programming have hiring practices that find the worst programmers (but they're generally fairly well dressed and always show up to meetings on time).
Good developers paired with over-the-shoulder code reviews produce code that is just as good (or better), and is far more productive.
Re:Precision? Did you actually see the demo?
on
Why Natal Is a Big Deal
·
· Score: 2, Insightful
This is the power of Microsoft's marketing department.
Like no other company in the world, they have the ability to stop the presses and get ever news organization on the planet to talk about their products. CNN? New York Times? Sure, even if it's obscure gaming technology. Tech sites? Obviously. Linux news? Anti-MS sites? Slashdot? They're first in line.
I don't know what they pay the marketing guys over there, but they deserve a raise.
"The internet changes everything" means that the internet made distribution accessible at a much lower cost. Prior to the internet, powerful distribution cartels were able to form since the cost of entry to challenge them was so high. They were able to bend the (copyright) law to their whims because nobody was big enough to be heard above them, and nobody could afford to become that big in the first place. With the advent of the internet, it took a relatively modest investment to be as capable of a distributor as the established cartels. The internet made the people who are standing up to the policies formed by the established distribution cartels possible.
The question was why nobody had complained about all the prior term extensions. Well there was nobody around to complain. But the internet changed all that.
But it's a terrible answer to that question by itself.
Re:Whiners of all countries, unite!
on
One-Tweet Wonders
·
· Score: 1
Having fun with your friends.
I get it.
But it's a massive, massive downgrade from IRC and Usenet.
It's like hanging out on the internet for people who were too stupid to even qualify as AOL users from the March of '94 to November of '98 era.
The internet did change everything. But he should have told the justices why, without saying that the law was made obsolete by all this new-fangled technology.
He could have said "Until now, possible competition was unable to gain enough momentum to launch a proper legal challenge". Or similar...
Saying "The internet changes everything" is almost as bad as saying "It's technical; you won't understand".
I like Lawrence Lessig too. Hell, how can you not like a guy who has been played on TV by Christopher Lloyd...
But "The Internet changes everything" is one of the biggest face-slapping lines ever. I can't help but believe it was the one sentence that lost that case.
As an iPhone owner who knows many other iPhone owners, let me say that I don't know anybody who likes the iPhone virtual keyboard. Many people tolerate it, or don't mind it, but nobody likes it.
There are two reasons that the iPhone is doing so well against the Blackberry (which held a seemingly unapproachable dominant market position before). The main one is that Blackberries don't have end-user friendly plans. Carriers charge a hefty "blackberry fee" that is far and away more expensive than the iPhone plan. The second is that Apple is the first company to successfully deliver on the integrated phone/music player experience. (Which has a lot to do with leveraging their virtual monopoly on music players into the phone space)
Palm isn't going to get anywhere by catering to geeks. They're not even going to get anywhere with geeks by catering to geeks. Without mainstream users, they won't attract mainstream developers. Without apps from mainstream developers, even geek users will choose the phone with the apps over the phone they would enjoy the most as a geek toy. A Phone+Contract is too big of an investment to buy anything other than a tool that gets the job done. (Yes there are exceptions to this generalization)
What is Palm bringing to the table that Google didn't when their new platform tanked? If they want to succeed, hopefully (for them) they are focusing on the end user, and not on the developer. Like Apple and RIM did.
Call me when it has excellent voice and/or thought recognition and a non-intrusive wide-screen HUD with a good refresh rate.
In the meantime you'll... what? Lug around a big-assed laptop (big-assed netbook) that does way more than you need?
If a phone can provide ready access to text-based communication, basic reference materials, and simple knobs on a remote computer (along with making phone calls), it has replaced my need to lug a full computer around. If it can play some games and run some basic apps too, then it's just gravy. If it's only a mediocre phone, it's still miles ahead of a simple phone that does nothing but make calls flawlessly. For starters, only carrying one device is worth it alone. But also, the secondary features have surpassed the ability to make calls as the primary function. Phone calls are practically obsolete in many scenarios. I can go days without even using my phone as a phone, since it has provided me with more convenient forms of communication. (Show me how any of that is because of marketing.)
So let me ask you: Why does a device have to be the second coming of Jesus before you'll consider it? It takes more than saying "I'm not a Luddite" to actually not be a Luddite. It seems to me that you're resistant to the adoption of the non-phone features of these new devices as the primary function of the device. Don't think of them as general purpose computers. Hell, many of them aren't even marketed that way. Instead look at the way they can make your life easer... Starting by helping you ditch that man-purse that you carry your current computing device around in.
The 2.5% cap is only half of the law. The other law caps the total increase in tax revenue for each locality at 2.5%. So there's both an upper cap on property taxes, and a limit on how much they can increase in a given year. It's not as strict as California's Prop 13, but it has the same effect (which is to smooth out the tax rates even when there are spikes in property values)
As for the dollars per student thing... I'm sure there's a point at which if you spend any less per student it will start reducing the quality of education.... However there is much much more going on in California than a reduction in spending. Look at this story. The state spends too much on textbooks because local school boards keep forcing updates. Could the fact that busybody parents on the school boards of California keep changing the way they teach their kids be having a negative effect on the outcome? It would probably be political suicide to suggest such a thing... It's easier to blame the funding.
Local school boards have no business deciding curriculum. In fact they are the *least* qualified. Most of them have no background in education. They are just a bunch of parents. And they are completely incapable of making objective decisions, since they are the most biased people you could possibly find. Not to mention the fact that making these decisions at the local level means we're burning resources at every single locality in the country in order to make the same decisions. Talk about waste! And if it's a large locality, you're probably talking about paid administrators on those school boards. Who do you think makes more money, a teacher or an administrator? (hint: it's not the teacher)
Anyway, the correlation is between the quality of the education and what you spend the money on, and not necessarily how much money you spent. There are lots of things you can spend money on that fall into the "education" bucket, and many of them have zero impact on the quality of education.
Sounds to me like somebody is mis-repeating second-hand knowledge. The problem with something like Prop 13 is that property sold when the real estate market is in the tank won't generate the same kind of revenues it was before the collapse for many years. California won't have a Prop 13 issue for a while after the current recession is over, since it causes tax revenue to lag behind housing values.
Prop 13 will probably save California from having it even worse. Imagine if they had all that revenue from property at the bubble inflated values, rather than being forced to raise taxes slowly over time. They surely would have spent every penny of that too, and now would be even further in the hole.
Clearly, the problem in California is binding ballot initiatives. Their state budget is very high. They have plenty of money to spend on first-rate education. But they spend it on stupid crap that gets voted in instead. (And don't even get me started on the lack of correlation between dollars spent and overall quality of education.)
Does another state have a law making it impossible to raise taxes?
Massachusetts has a similar tax rule (Prop 2 1/2). The tax burden per-capita is almost identical to California. They frequently have the highest ranked public schools in the country.
We're talking about California here. It has nothing to do with being able to afford it. It has to do with a feel-good state law which requires schools to buy new textbooks if the existing ones don't meet the standards of the local review boards. Combine that with the most over-sensitive local review boards in the country rejecting every existing textbook the moment something in them is no longer politically correct....
Last night I heard a BBC reporter ask a California Board of Education official how this could possibly save any money, and the answer was that local review boards require changes so often that textbooks cost 3x more in California than in the rest of the country.
I'm at a loss as to why it's remotely acceptable to re-write history, science, and math books so often. It's pretty clear that this is a case of politics over accuracy.
Cruise ships do, in fact, have too many lights on all night to be able to see the Milky Way. If you're used to the city though, you'll see a lot more stars than you will at home.
Explain to me why, if they succeed, we should like it again?
Regardless, in the past console makers were competing at making home gaming affordable while keeping it as arcade-like as possible. They've transitioned into creating the best mold into which the next batch of entertainment will be poured. There's plenty of room for them to compete at giving us the most gaming power for the dollar. There's no need for us to end up having whole genres of games that can only be played on "System Y" just because there is an input device patent.
Historically speaking, the more likely scenario is that Sony gets sued, removes the feature from the next generation system while telling everybody that it is a stupid feature anyway, and finally relents and is forced to pay overly high royalties to remain competitive.
Sites that feed different content to googlebot than they do to normal users, on the other hand... *bough*expertexchange*cough*
Why do sites think that by tricking me into clicking on something that isn't what it appeared to be will make me inclined to sign up with them? They can go burn in hell.
However TDD provides a "safety-net" which gives you immediate feedback if you break the code while trying to fix design issues. Code review requires the team to have a complete understanding of the code and all possible inputs. TDD does not.
You took my comment out of context. Either you're trying to mis-represent what I said, or you didn't understand it. Test driven development doesn't fix the "understanding all possible inputs" problem that you describe with code reviews. You still need to know, or your test will be faulty. In my experience with TDD, if your test fails because you made design changes (or bug fixes), more often than not you end up fixing the faulty assumptions or design decisions in your test, and not changing the code to pass the erroneous test.
You don't judge whether somebody is good or not based on whether they say so.
Everybody says they're good. Especially at a job interview.
I work on a small team (20 developers). Every day I see at least one bug in highly unit tested code that wouldn't have made it past a code review.
Unit tests are a situationally appropriate tool. But they are not a replacement for a review on any team larger than a few people. You have to understand every possible interaction between what you're changing and the rest of the system to write a 100% effective unit test. That just can't happen once you have a few dozen people writing your product.
I just posted this above, but then I saw your comment.
Accountability doesn't make bad programmers better. If you're in an organization that feels they need more accountability to increase quality, you should look up the chain for the problem. Question the hiring practices. Question the project planning... Those are the two places you're most likely to find the problem.
Have you ever caught yourself reminding somebody how important something is in hopes of getting results more quickly? It's a typical tactic of an 'accountability' manager. If so, *you* are the problem. Either the developer isn't giving 100%, and needs a kick in the ass to stop slacking (why do you continue to employ them?), or you're pushing unreasonable expectations. Unreasonable expectations end in disappointment. Either you won't get what you wanted on time, or you'll get it at a lower quality level (costing more time down the road), or you'll lose your good developer to another company.
Code reviews find bugs. They shouldn't find bugs every single time, 'cause you shouldn't be writing that many bugs. But they find bugs. That's all they should be used for.
TDD is a great theory.
In practice you spend 200% longer to generate your product. You end up with the same bugs you would have had before, but you have to fix them in the test and the software. Plus you typically end up getting to run the same test 10,000 times against the same piece of code, 'cause it ends up getting run whenever you build.
I'm not talking about stupid little think-os, syntax, or functional type bugs. TDD can catch those fine, but so can a good code review... I'm talking about the real bugs that eat the majority of a release cycle (yeah, I know. To a manager every bug is just one more in the bug count). I'm talking about bugs where the developer didn't know the correct functionality, or thought they knew the correct functionality but didn't take into account some outside effect (any possibly couldn't have predicted the outside effects ahead of time).
Good developers know the appropriate level of testing, whether a particular module would benefit most from a unit test, an integration test... Whether it would be best done manually, or automated... Enforced test-driven development, though, just guarantees doubled implementation time and results in a whole bunch of tests of basic operators and constructs.
There is one case to be made for TDD though. When the designer writes the tests to be passed off to the implementer as part of the design. When, say, the implementation is being done off site.... But hardly anybody does that. They just have a programmer design, and implement both the tests and code from a basic set of specifications. And that's a plain waste of time. It's a round about way to 'hold people accountable for their code'... But accountability doesn't make bad programmers good, and it doesn't catch design bugs either.
In my experience, Pair programmers are more than twice as productive as a single developer when you factor in all the errors and bugs prevented by having two sets of eyes on the same problem.
In my experience, pair programmers are only more efficient than each programmer working on their own when both programmers are bad.
Bonus: Most development managers that like pair programming have hiring practices that find the worst programmers (but they're generally fairly well dressed and always show up to meetings on time).
Good developers paired with over-the-shoulder code reviews produce code that is just as good (or better), and is far more productive.
This is the power of Microsoft's marketing department.
Like no other company in the world, they have the ability to stop the presses and get ever news organization on the planet to talk about their products. CNN? New York Times? Sure, even if it's obscure gaming technology. Tech sites? Obviously. Linux news? Anti-MS sites? Slashdot? They're first in line.
I don't know what they pay the marketing guys over there, but they deserve a raise.
"The internet changes everything" means that the internet made distribution accessible at a much lower cost. Prior to the internet, powerful distribution cartels were able to form since the cost of entry to challenge them was so high. They were able to bend the (copyright) law to their whims because nobody was big enough to be heard above them, and nobody could afford to become that big in the first place. With the advent of the internet, it took a relatively modest investment to be as capable of a distributor as the established cartels. The internet made the people who are standing up to the policies formed by the established distribution cartels possible.
The question was why nobody had complained about all the prior term extensions. Well there was nobody around to complain. But the internet changed all that.
But it's a terrible answer to that question by itself.
Having fun with your friends.
I get it.
But it's a massive, massive downgrade from IRC and Usenet.
It's like hanging out on the internet for people who were too stupid to even qualify as AOL users from the March of '94 to November of '98 era.
The internet did change everything. But he should have told the justices why, without saying that the law was made obsolete by all this new-fangled technology.
He could have said "Until now, possible competition was unable to gain enough momentum to launch a proper legal challenge". Or similar...
Saying "The internet changes everything" is almost as bad as saying "It's technical; you won't understand".
"In this country we have a term for being almost late; we call it 'on time'".
I like Lawrence Lessig too. Hell, how can you not like a guy who has been played on TV by Christopher Lloyd...
But "The Internet changes everything" is one of the biggest face-slapping lines ever. I can't help but believe it was the one sentence that lost that case.
Kernel sources =/= OS sources.
Just because it runs the Linux kernel doesn't mean all their code must be GPL.
Let me pick the items out of your list that matter to the average end-user for you:
* Keyboard
Yeah, that's it.
The rest of those things look nice on a spec-sheet, but the average user doesn't actually care (or even notice) any of them.
As an iPhone owner who knows many other iPhone owners, let me say that I don't know anybody who likes the iPhone virtual keyboard. Many people tolerate it, or don't mind it, but nobody likes it.
There are two reasons that the iPhone is doing so well against the Blackberry (which held a seemingly unapproachable dominant market position before). The main one is that Blackberries don't have end-user friendly plans. Carriers charge a hefty "blackberry fee" that is far and away more expensive than the iPhone plan. The second is that Apple is the first company to successfully deliver on the integrated phone/music player experience. (Which has a lot to do with leveraging their virtual monopoly on music players into the phone space)
Palm isn't going to get anywhere by catering to geeks. They're not even going to get anywhere with geeks by catering to geeks. Without mainstream users, they won't attract mainstream developers. Without apps from mainstream developers, even geek users will choose the phone with the apps over the phone they would enjoy the most as a geek toy. A Phone+Contract is too big of an investment to buy anything other than a tool that gets the job done. (Yes there are exceptions to this generalization)
What is Palm bringing to the table that Google didn't when their new platform tanked? If they want to succeed, hopefully (for them) they are focusing on the end user, and not on the developer. Like Apple and RIM did.
Call me when it has excellent voice and/or thought recognition and a non-intrusive wide-screen HUD with a good refresh rate.
In the meantime you'll... what? Lug around a big-assed laptop (big-assed netbook) that does way more than you need?
If a phone can provide ready access to text-based communication, basic reference materials, and simple knobs on a remote computer (along with making phone calls), it has replaced my need to lug a full computer around. If it can play some games and run some basic apps too, then it's just gravy. If it's only a mediocre phone, it's still miles ahead of a simple phone that does nothing but make calls flawlessly. For starters, only carrying one device is worth it alone. But also, the secondary features have surpassed the ability to make calls as the primary function. Phone calls are practically obsolete in many scenarios. I can go days without even using my phone as a phone, since it has provided me with more convenient forms of communication. (Show me how any of that is because of marketing.)
So let me ask you: Why does a device have to be the second coming of Jesus before you'll consider it? It takes more than saying "I'm not a Luddite" to actually not be a Luddite. It seems to me that you're resistant to the adoption of the non-phone features of these new devices as the primary function of the device. Don't think of them as general purpose computers. Hell, many of them aren't even marketed that way. Instead look at the way they can make your life easer... Starting by helping you ditch that man-purse that you carry your current computing device around in.
The 2.5% cap is only half of the law. The other law caps the total increase in tax revenue for each locality at 2.5%. So there's both an upper cap on property taxes, and a limit on how much they can increase in a given year. It's not as strict as California's Prop 13, but it has the same effect (which is to smooth out the tax rates even when there are spikes in property values)
As for the dollars per student thing... I'm sure there's a point at which if you spend any less per student it will start reducing the quality of education.... However there is much much more going on in California than a reduction in spending. Look at this story. The state spends too much on textbooks because local school boards keep forcing updates. Could the fact that busybody parents on the school boards of California keep changing the way they teach their kids be having a negative effect on the outcome? It would probably be political suicide to suggest such a thing... It's easier to blame the funding.
Local school boards have no business deciding curriculum. In fact they are the *least* qualified. Most of them have no background in education. They are just a bunch of parents. And they are completely incapable of making objective decisions, since they are the most biased people you could possibly find. Not to mention the fact that making these decisions at the local level means we're burning resources at every single locality in the country in order to make the same decisions. Talk about waste! And if it's a large locality, you're probably talking about paid administrators on those school boards. Who do you think makes more money, a teacher or an administrator? (hint: it's not the teacher)
Anyway, the correlation is between the quality of the education and what you spend the money on, and not necessarily how much money you spent. There are lots of things you can spend money on that fall into the "education" bucket, and many of them have zero impact on the quality of education.
Sounds to me like somebody is mis-repeating second-hand knowledge. The problem with something like Prop 13 is that property sold when the real estate market is in the tank won't generate the same kind of revenues it was before the collapse for many years. California won't have a Prop 13 issue for a while after the current recession is over, since it causes tax revenue to lag behind housing values.
Prop 13 will probably save California from having it even worse. Imagine if they had all that revenue from property at the bubble inflated values, rather than being forced to raise taxes slowly over time. They surely would have spent every penny of that too, and now would be even further in the hole.
Clearly, the problem in California is binding ballot initiatives. Their state budget is very high. They have plenty of money to spend on first-rate education. But they spend it on stupid crap that gets voted in instead. (And don't even get me started on the lack of correlation between dollars spent and overall quality of education.)
Massachusetts has a similar tax rule (Prop 2 1/2). The tax burden per-capita is almost identical to California. They frequently have the highest ranked public schools in the country.
We're talking about California here. It has nothing to do with being able to afford it. It has to do with a feel-good state law which requires schools to buy new textbooks if the existing ones don't meet the standards of the local review boards. Combine that with the most over-sensitive local review boards in the country rejecting every existing textbook the moment something in them is no longer politically correct....
Last night I heard a BBC reporter ask a California Board of Education official how this could possibly save any money, and the answer was that local review boards require changes so often that textbooks cost 3x more in California than in the rest of the country.
I'm at a loss as to why it's remotely acceptable to re-write history, science, and math books so often. It's pretty clear that this is a case of politics over accuracy.
http://www.youtube.com/watch?v=aMjgHBnpeV0
No actual harm, huh?
Cruise ships do, in fact, have too many lights on all night to be able to see the Milky Way. If you're used to the city though, you'll see a lot more stars than you will at home.
Pro-tip: turn on your headlights.
Sure. It's what they should be doing.
Explain to me why, if they succeed, we should like it again?
Regardless, in the past console makers were competing at making home gaming affordable while keeping it as arcade-like as possible. They've transitioned into creating the best mold into which the next batch of entertainment will be poured. There's plenty of room for them to compete at giving us the most gaming power for the dollar. There's no need for us to end up having whole genres of games that can only be played on "System Y" just because there is an input device patent.
Historically speaking, the more likely scenario is that Sony gets sued, removes the feature from the next generation system while telling everybody that it is a stupid feature anyway, and finally relents and is forced to pay overly high royalties to remain competitive.