That's just silly. There are two types of programmers that could be making choices like this, and neither one of them would suffer from too much choice.
The first kind is a programmer just trying to paralelize existing code. In that case, the choice of threading platforms is pretty much obvious. Existing Windows code? Use windows threads. C/C++ on Unix? Pthreads probably. Java code? Java threads... Probably not even 2 seconds worth of thought will go into considering the alternatives (and that's probably fine)
The other type of programmer is one who's actively looking to develop high performance paralelized software. I am talking about cases where performance is the primary objective and it drives the choice of programming language and platform. In these cases, the nuance of the different thread models might matter but the programmer of this type would be happy (rather than scared) to investigate all the options. After all, if he didn't care, he'd just go with the default choices like the first programmer.
If anything, cut service when it gets to $500. Because at that point, something is obviously up. Especially if the customer has never had this high a bill before. Credit card companies do this sort of statistical scanning all the time to combat fraud.
I agree.. someone in my family recently tried to e-mail all their pictures off their Sprint PCS phone, at 3 cents per KB. That actually racked up quite fast! Sprint capped the bill at something like $150 for the month, although the actual usage was much higher ( a few gigs were transfere, I think)
It would have been nice for AT&T to do the same thing - although in this case, it sounds like the phone was roaming overseas so AT&T itself probably owes the roaming providers quite a bit of money too.
The success of computers in chess really brings up two questions in my mind. The first is: what does this say about chess? The second is: what does it say about computers?
A good way to think about the first question is to think about an even simpler case - such as SuDoKu. Like chess, SuDoKu is a persuit of many people who consider it pleasurable mental challenge - and some puzzles are of a sufficiently difficult level to thwart all but expert solvers. Yet, solving the most difficult SuDoKu puzzle is an instantaneous task for a brute-force computer solver.
Does that mean that SuDoKu is not worth playing, given that it can be trivially solved by machine? I think that makes about as much sense as saying that running is no longer a meaningful sport since nearly any motor vehicle can go several times faster than the world's fastest runner.
The point I am trying to come to is that SuDoKu isn't rendered meaningless by machine, but it's apparently silly to have SuDoKu competitions between humans and machines - just like it would be silly to put my Corolla as a contender in an olympic speed race. Although it would win...
(by the way, when I was learning MATLAB, I wrote a SuDoKu solver in it that was more intelligent than simple backtracking. That stuff is here)
The reason I am talking about SuDoKu is that the above argument is clearly true for it - the same argument is less apparent for chess. After all, that's why there are these Man Vs. Machine matches, and they're not always a complete slaughter one way or the other.
I would argue that chess is only different from SuDoKu in degree of complexity. The fact is, 10 years ago happened to be the time where the state of the art hardware and AI were about as good at solving chess as the best humans. I am sure solving SuDoKu on the earliest and most primitive computers would have been a challage, just like 'solving' chess was 10 years ago - but that difficulty is, again, only a matter of degree. It doesn't change the fact that the subject IS solvable and clearly sufficiently solvable by computer. I am sure that a Deep Blue-type project benefiting from the last 10 years' progress in hardware and AI would leave any human player in the dust, and easily.
But all that means is that man-machine chess competitions are meaningless, not that chess itself is somehow pointless. The search space is finite so ultimately a faster and more powerful computer will make up for its lack of the grandmasters' genius. Which doesn't diminish that genius.
So that's what computer chess means for the game of chess in my view. Not that much.
That brings me to the second question - what does computer success at chess say about computers? In my view, again, not much. Computers, as we all know, are stupid. They can do easy logic and math really quickly, however. If you think about it, the Deep Blue project was all about programming the sum of human chess insight into the machine. From the openings database, to the position evaluation function - Deep Blue didn't learn to play chess from scratch. It was gifted with the best distillation of centuries of chess knowledge. All it did was crunch the numbers faster in that framework. So if you think about it - Deep Blue was doing what all the computers are doing - crunching boring numbers once humans did all the creative stuff.
What gets said on TV and Radio is now so irrelevant compared to what is on the Internet that one wonders why they bother trying to regulate TV and Radio at all.
The simple answer is that TV and Radio stations are the domain of FCC regulation while websites are not. The FCC will say that they're trying to keep the public broadcast spectrum 'decent' and what goes on on the Internet is not their concern, which is true. It's like someone not allowing their children to curse at home, knowing full well they can't control their language outside the home.
That being said, the current effort to crack down on accidental obscenity in broadcast is misguided in its nature. It's one thing to have standards regarding the type of content allowed on public airwaves, but fining a station when their microphone picks up a passer-by's curse is another. The net effect of this legislation will be that TV and radio stations will have to broadcast anything 'live' on a small delay and someone will have to sit at the button during such broadcasts, ready to dump out of anything 'indecent'
Unfortunately, at one point they changed *something*, and all http requests were re-routed to the comcast website. I called Customer Service and was told that my computer was not communicating with the internet and that I had to change something via Windows control panel. I told them that I was not running windows...
Why would you do that? If you're smart enough to operate Linux, you should be smart enough to work along with a support person who's less savy thank you;)
If you know that the issue occurs outside of your network, and if you recognize that the person doesn't appreciate that fact, why not say "ok, I am clicking on Control Pannel and it says exactly what you said it should... now what?" so she could get to the part of her script where she can do the thing she needs to do to help you?
Let's say you've reached a certain logical conclusion about the problem - your best bet is to get the other person to the same conclusion and get them going from there - why would you confuse this poor woman with Linux?
(don't get me wrong, I understand the notion that people doing tech support should know what Linux is, but if you find yourself in a different situation, work with it)
... but maybe you shouldn't take her too literally.
What your mom is probably saying to you is that she's afraid of being confused by her phone if its too complex, and that she doesn't want you to spend extra money to get her a "better" phone than she needs.
She probably doesn't recognize that her request for a cellular equivalent of a standard cordless phone she has in the house isn't as easy to fulfil as it would sound, and there's probably no reason for you to go nuts looking for it.
Instead, you should make sure to get a phone with a pretty intuitive interface. My mom has had luck with Sanyos and Samsungs. I heard Kyoceras are also very simple to navigate. My coworker showed me some Sony phone he had once and I didn't even know how to use it, so your mom probably wouldn't either. But there are plenty of intuitive, simple to use phones out there. In fact, I think the majority of them are.
Your mom may not end up using all the features of the phone but then again you'll be surprised. My mom didn't want a camera in her phone but I got her one with a decent (1.3 megapix) camera and she's been snapping some amazing photos with it when she's out and about. You never know what tech your mom might use until you make it available to her.
Remember that millions of people use cellphones every day, and most of them aren't kernel hackers. Almost all phones that you're going to get from a carrier are designed towards a normal non-technical user exactly like your mom, so chances are anything you'll get her is fine. If this is her first phone, forget picking it. Find her the service provider first, and then take whatever phone they give for free. Nothing more to it.
It did get me to wondering, though: Can I be held liable for false advertising or in violation of Google's TOS if I follow Google's keyword recommendations?
Sorry for most likely a silly question - I've never dealt with paid online advertising but it would seem to me that there's a difference between specifying the keywords which cause your ad to appear and the ad itself.
For example, if I am in the pasta sauce business, it seems OK to me if I bought ads for keyword "Ragú" that read "Why not try Ed's Friggin Awesome Sauce instead?". I don't see anything wrong with that. On the other hand, if my ad read "Official Ragú Sauce Page Here!" but the link went to my site instead, that's wrong.
Cound this explain the discrepancy between the TOS and keyword recomendations that you're seeing? The former may pertain to the content of the ad while the later, to the search terms which make the ad appear.
As I said, I know nothing about this so this is just a guess. If I am wrong in my logic, I'd appreciate the lesson. Thanks!
It's not surprising to see much disagreement in this thread - I've seen few issues more contentious than programming style conventions;-)
There are a few topics that people are ridiculously passionate about:
1. How many spaces to indent code. 2. Should tabs be saved as spaces or tabs. 3. Does the opening brace go on the same line as the function name or next line? 4. Is 80-chars a width limit or not?
Although I have my own feelings on this (2, spaces, same line, not) I know well enough that people will never see reason;) A group I was working with once had this disagreement to such a level that I proposed (though sadly never got to implement) the following:
1. Write a wrapper around cvs commit that runs the code through a beautifier set to some convention. That way all the code inside the repository is consistently formated and no formatting changes ever show up as diffs.
2. If people care, they can use a wrapper around cvs checkout to format their local sources however they want.
This seems to me to be the most productive solution - it makes sure everyone sees the code the way they want so they don't spend time formatting it and potentially pissing off (or worse, getting into formating wars with) other people.
I read about this either on the SprintPCS newgroup or at sprintusers.com - it seems based on insider posts this was a one-time purge, not an on-going policy from now on.
Either way, I think it makes sense. Calling support 25 times a month means someone is on the phone with them every weekday. That's really not a good sign of a customer/company relationship and it seems better for everyone that it ends.
As far as I am concerned, Sprint is a great company. I've been with them for 7 years - 4 contract renewals. At no point was any other competitor able to match their rates, and Sprint has been good about throwing out perks (loyalty discount, free SMS, etc) to keep me happy. I've recently got my girlfriend's entire family to switch to Sprint from Verizon and they're much happier. My ex was with Verizon as well and they both complained that the reps there had bad attitudes if you actually had a problem - they acted as if they knew their network was the best and any problem was the customer's fault - forget getting any credit. Compared to that, Sprint is very generous with service credits. Occasionally it does take more than one call to get an issue resolved, but overall their financial value and helpfulness make it worthwhile to put up with.
Their network coverage has really gotten beefed up in the last few years as well.
Just to note - I have absolutely no relationship w. Sprint other than being a happy customer, and I wanted to share my experience in contrast with all the negative comments that are being posted here.
Earlier this summer I got a chance to check out the New York Sunworks' Science Barge which is an experiment in creating a "a sustainable urban farm". It's currently docked on the West Side of Manhattan on 43rd street and you can go aboard for a tour.
The farm is off the grid in every way - energy comes from solar arrays which passively follow the sun's trajectory and can be supplemented by a biofuel-driven generator when needed. The water comes from stored rainwater and IIRC they have a system for purifying the water from the river as well. There's also no polution/emissions/runoff.
The farm itself is purely hydroponic - the plans live in nutient free matter and all nutrients is delivered to the roots via flowing water enriched with whatever the plants require. One of the coolest things is they have a fishtank where telapia are growing - the 'dirty' water from the fish is routed to the hydroponic system where fish waste becomes nutrition for the plants. The plants act to purify the water by extracting the waste, and it's eventually recycled back into the fishtank, closing a "waste loop."
I am not sure what, if any, the relationship between the project in this story and Sunworks is (sounds like there may not be any) but the Science Barge is a pretty impressive proof of concept for this kind of thing.
The bottom line is that the barge is a self-contained farm whose total surface area is far smaller than that of most buildings in NYC. They're not trying to argue for the vertical farm concept per se, they're just showing that productive, sustainable urban farming can be done with today's technology and today's real-estate reality. The vertical farm concept seems to take it one step further and is not that far-fetched.
And if you're in NYC, check out the Science Barge if you like this sort of thing. It's currently docked on 43rd St. in the Hudson, as mentioned earlier - and I believe will be towed further uptown sometime during the summer. It's a cool experience.
That's just silly. There are two types of programmers that could be making choices like this, and neither one of them would suffer from too much choice.
The first kind is a programmer just trying to paralelize existing code. In that case, the choice of threading platforms is pretty much obvious. Existing Windows code? Use windows threads. C/C++ on Unix? Pthreads probably. Java code? Java threads... Probably not even 2 seconds worth of thought will go into considering the alternatives (and that's probably fine)
The other type of programmer is one who's actively looking to develop high performance paralelized software. I am talking about cases where performance is the primary objective and it drives the choice of programming language and platform. In these cases, the nuance of the different thread models might matter but the programmer of this type would be happy (rather than scared) to investigate all the options. After all, if he didn't care, he'd just go with the default choices like the first programmer.
If anything, cut service when it gets to $500. Because at that point, something is obviously up. Especially if the customer has never had this high a bill before. Credit card companies do this sort of statistical scanning all the time to combat fraud.
I agree.. someone in my family recently tried to e-mail all their pictures off their Sprint PCS phone, at 3 cents per KB. That actually racked up quite fast! Sprint capped the bill at something like $150 for the month, although the actual usage was much higher ( a few gigs were transfere, I think)
It would have been nice for AT&T to do the same thing - although in this case, it sounds like the phone was roaming overseas so AT&T itself probably owes the roaming providers quite a bit of money too.
The success of computers in chess really brings up two questions in my mind. The first is: what does this say about chess? The second is: what does it say about computers?
A good way to think about the first question is to think about an even simpler case - such as SuDoKu. Like chess, SuDoKu is a persuit of many people who consider it pleasurable mental challenge - and some puzzles are of a sufficiently difficult level to thwart all but expert solvers. Yet, solving the most difficult SuDoKu puzzle is an instantaneous task for a brute-force computer solver.
Does that mean that SuDoKu is not worth playing, given that it can be trivially solved by machine? I think that makes about as much sense as saying that running is no longer a meaningful sport since nearly any motor vehicle can go several times faster than the world's fastest runner.
The point I am trying to come to is that SuDoKu isn't rendered meaningless by machine, but it's apparently silly to have SuDoKu competitions between humans and machines - just like it would be silly to put my Corolla as a contender in an olympic speed race. Although it would win...
(by the way, when I was learning MATLAB, I wrote a SuDoKu solver in it that was more intelligent than simple backtracking. That stuff is here)
The reason I am talking about SuDoKu is that the above argument is clearly true for it - the same argument is less apparent for chess. After all, that's why there are these Man Vs. Machine matches, and they're not always a complete slaughter one way or the other.
I would argue that chess is only different from SuDoKu in degree of complexity. The fact is, 10 years ago happened to be the time where the state of the art hardware and AI were about as good at solving chess as the best humans. I am sure solving SuDoKu on the earliest and most primitive computers would have been a challage, just like 'solving' chess was 10 years ago - but that difficulty is, again, only a matter of degree. It doesn't change the fact that the subject IS solvable and clearly sufficiently solvable by computer. I am sure that a Deep Blue-type project benefiting from the last 10 years' progress in hardware and AI would leave any human player in the dust, and easily.
But all that means is that man-machine chess competitions are meaningless, not that chess itself is somehow pointless. The search space is finite so ultimately a faster and more powerful computer will make up for its lack of the grandmasters' genius. Which doesn't diminish that genius.
So that's what computer chess means for the game of chess in my view. Not that much.
That brings me to the second question - what does computer success at chess say about computers? In my view, again, not much. Computers, as we all know, are stupid. They can do easy logic and math really quickly, however. If you think about it, the Deep Blue project was all about programming the sum of human chess insight into the machine. From the openings database, to the position evaluation function - Deep Blue didn't learn to play chess from scratch. It was gifted with the best distillation of centuries of chess knowledge. All it did was crunch the numbers faster in that framework. So if you think about it - Deep Blue was doing what all the computers are doing - crunching boring numbers once humans did all the creative stuff.
What gets said on TV and Radio is now so irrelevant compared to what is on the Internet that one wonders why they bother trying to regulate TV and Radio at all.
The simple answer is that TV and Radio stations are the domain of FCC regulation while websites are not. The FCC will say that they're trying to keep the public broadcast spectrum 'decent' and what goes on on the Internet is not their concern, which is true. It's like someone not allowing their children to curse at home, knowing full well they can't control their language outside the home.
That being said, the current effort to crack down on accidental obscenity in broadcast is misguided in its nature. It's one thing to have standards regarding the type of content allowed on public airwaves, but fining a station when their microphone picks up a passer-by's curse is another. The net effect of this legislation will be that TV and radio stations will have to broadcast anything 'live' on a small delay and someone will have to sit at the button during such broadcasts, ready to dump out of anything 'indecent'
Unfortunately, at one point they changed *something*, and all http requests were re-routed to the comcast website. I called Customer Service and was told that my computer was not communicating with the internet and that I had to change something via Windows control panel. I told them that I was not running windows...
;)
Why would you do that? If you're smart enough to operate Linux, you should be smart enough to work along with a support person who's less savy thank you
If you know that the issue occurs outside of your network, and if you recognize that the person doesn't appreciate that fact, why not say "ok, I am clicking on Control Pannel and it says exactly what you said it should... now what?" so she could get to the part of her script where she can do the thing she needs to do to help you?
Let's say you've reached a certain logical conclusion about the problem - your best bet is to get the other person to the same conclusion and get them going from there - why would you confuse this poor woman with Linux?
(don't get me wrong, I understand the notion that people doing tech support should know what Linux is, but if you find yourself in a different situation, work with it)
... but maybe you shouldn't take her too literally.
What your mom is probably saying to you is that she's afraid of being confused by her phone if its too complex, and that she doesn't want you to spend extra money to get her a "better" phone than she needs.
She probably doesn't recognize that her request for a cellular equivalent of a standard cordless phone she has in the house isn't as easy to fulfil as it would sound, and there's probably no reason for you to go nuts looking for it.
Instead, you should make sure to get a phone with a pretty intuitive interface. My mom has had luck with Sanyos and Samsungs. I heard Kyoceras are also very simple to navigate. My coworker showed me some Sony phone he had once and I didn't even know how to use it, so your mom probably wouldn't either. But there are plenty of intuitive, simple to use phones out there. In fact, I think the majority of them are.
Your mom may not end up using all the features of the phone but then again you'll be surprised. My mom didn't want a camera in her phone but I got her one with a decent (1.3 megapix) camera and she's been snapping some amazing photos with it when she's out and about. You never know what tech your mom might use until you make it available to her.
Remember that millions of people use cellphones every day, and most of them aren't kernel hackers. Almost all phones that you're going to get from a carrier are designed towards a normal non-technical user exactly like your mom, so chances are anything you'll get her is fine. If this is her first phone, forget picking it. Find her the service provider first, and then take whatever phone they give for free. Nothing more to it.
And for what it's worth, I recomend Sprint.
Hope this helps...
It did get me to wondering, though: Can I be held liable for false advertising or in violation of Google's TOS if I follow Google's keyword recommendations?
Sorry for most likely a silly question - I've never dealt with paid online advertising but it would seem to me that there's a difference between specifying the keywords which cause your ad to appear and the ad itself.
For example, if I am in the pasta sauce business, it seems OK to me if I bought ads for keyword "Ragú" that read "Why not try Ed's Friggin Awesome Sauce instead?". I don't see anything wrong with that. On the other hand, if my ad read "Official Ragú Sauce Page Here!" but the link went to my site instead, that's wrong.
Cound this explain the discrepancy between the TOS and keyword recomendations that you're seeing? The former may pertain to the content of the ad while the later, to the search terms which make the ad appear.
As I said, I know nothing about this so this is just a guess. If I am wrong in my logic, I'd appreciate the lesson. Thanks!
It's not surprising to see much disagreement in this thread - I've seen few issues more contentious than programming style conventions ;-)
;) A group I was working with once had this disagreement to such a level that I proposed (though sadly never got to implement) the following:
There are a few topics that people are ridiculously passionate about:
1. How many spaces to indent code.
2. Should tabs be saved as spaces or tabs.
3. Does the opening brace go on the same line as the function name or next line?
4. Is 80-chars a width limit or not?
Although I have my own feelings on this (2, spaces, same line, not) I know well enough that people will never see reason
1. Write a wrapper around cvs commit that runs the code through a beautifier set to some convention. That way all the code inside the repository is consistently formated and no formatting changes ever show up as diffs.
2. If people care, they can use a wrapper around cvs checkout to format their local sources however they want.
This seems to me to be the most productive solution - it makes sure everyone sees the code the way they want so they don't spend time formatting it and potentially pissing off (or worse, getting into formating wars with) other people.
I read about this either on the SprintPCS newgroup or at sprintusers.com - it seems based on insider posts this was a one-time purge, not an on-going policy from now on.
Either way, I think it makes sense. Calling support 25 times a month means someone is on the phone with them every weekday. That's really not a good sign of a customer/company relationship and it seems better for everyone that it ends.
As far as I am concerned, Sprint is a great company. I've been with them for 7 years - 4 contract renewals. At no point was any other competitor able to match their rates, and Sprint has been good about throwing out perks (loyalty discount, free SMS, etc) to keep me happy. I've recently got my girlfriend's entire family to switch to Sprint from Verizon and they're much happier. My ex was with Verizon as well and they both complained that the reps there had bad attitudes if you actually had a problem - they acted as if they knew their network was the best and any problem was the customer's fault - forget getting any credit. Compared to that, Sprint is very generous with service credits. Occasionally it does take more than one call to get an issue resolved, but overall their financial value and helpfulness make it worthwhile to put up with.
Their network coverage has really gotten beefed up in the last few years as well.
Just to note - I have absolutely no relationship w. Sprint other than being a happy customer, and I wanted to share my experience in contrast with all the negative comments that are being posted here.
Earlier this summer I got a chance to check out the New York Sunworks' Science Barge which is an experiment in creating a "a sustainable urban farm". It's currently docked on the West Side of Manhattan on 43rd street and you can go aboard for a tour.
The farm is off the grid in every way - energy comes from solar arrays which passively follow the sun's trajectory and can be supplemented by a biofuel-driven generator when needed. The water comes from stored rainwater and IIRC they have a system for purifying the water from the river as well. There's also no polution/emissions/runoff.
The farm itself is purely hydroponic - the plans live in nutient free matter and all nutrients is delivered to the roots via flowing water enriched with whatever the plants require. One of the coolest things is they have a fishtank where telapia are growing - the 'dirty' water from the fish is routed to the hydroponic system where fish waste becomes nutrition for the plants. The plants act to purify the water by extracting the waste, and it's eventually recycled back into the fishtank, closing a "waste loop."
I am not sure what, if any, the relationship between the project in this story and Sunworks is (sounds like there may not be any) but the Science Barge is a pretty impressive proof of concept for this kind of thing.
The bottom line is that the barge is a self-contained farm whose total surface area is far smaller than that of most buildings in NYC. They're not trying to argue for the vertical farm concept per se, they're just showing that productive, sustainable urban farming can be done with today's technology and today's real-estate reality. The vertical farm concept seems to take it one step further and is not that far-fetched.
And if you're in NYC, check out the Science Barge if you like this sort of thing. It's currently docked on 43rd St. in the Hudson, as mentioned earlier - and I believe will be towed further uptown sometime during the summer. It's a cool experience.