Why don't e-mail providers adopt a simple and effective way to reduce spam like the following?
I think this is a simple way to reduce spam but it has to be done by the mail-host looking across messages to many different addresses. I've noticed that, even in my own mailbox, I often see multiple instances of a message with the same sender or subject line - it's not too hard to figure out that these are spam: even a computer could do it.
At a level where one can see many incoming messages across many users, it should be even more evident that a group of similar messages to many users is spam. How hard is it to figure that a bunch of "Subj: hello" from "Ellen deGeneres" messages are bogus if they're going to hundreds of people at the same time? Even "Hello, [your name here]" shouldn't be too difficult to catch with some simple pattern-matching. Comparing message bodies would be even more effective though more expensive and would raise privacy concerns.
It might be argued that this would cast the net too wide and round up messages from our newbie friends (or moms) who use "hello" as the subject. However, a simple variation on this would be to create phony e-mail addresses and seed spam lists with them. That way an ISP or mail host would have a sample of what must be spam because it's addressed to no actual person. Using these messages as templates, it should be easy to round up the look-alikes.
Has something this simple already been tried and found wanting? Is there any obvious reason why this wouldn't at least reduce the traffic?
Almost anything has to be better than the current situation where I spend 2 or more minutes every day (I've timed it for several days) erasing spam. My time is worth a dollar or more a minute, so this costs me hundreds to thousands of dollars per year.
I'd even upgrade some of my free e-mail accounts to paying ones if that bought me this service. Because this would have to be done at a higher level than that of an individual user, it is a natural benefit for an e-mail provider to offer.
Not only is complexity irreducible at some point,
visual "thinking" is by its nature superficial.
For example, imagine how insanely difficult it would be to come up with a "cartoon version" of
the first amendment to the U.S. Constitution - i.e. using only pictures to represent all the abstractions in this short statement:
Congress shall make no law respecting an establishment of religion, or prohibiting the free exercise thereof; or abridging the freedom of speech, or of the press; or the right of the people peaceably to assemble, and to petition the government for a redress of grievances.
The report vaguely alludes to the failure of American schools. However, this looks more like cheap "ed-bashing" than an empirically-supported assertion. The one specific shortcoming mentioned is that Americans don't want to study that hard stuff like math and science. If 55% of math and science graduate students are foreign-born, what does that really say about our schools?
Well, it says that a lot of people prefer our graduate institutions to those of their own countries. It hardly supports the assertion
that lower schools don't prepare students for
math and science.
In any case, blaming your school for not teaching you is a cop-out, especially these days. If you're sufficiently wired to be reading slashdot, you have access to any amount of material and resources to learn just about anything you put your mind to.
School can not make you be motivated - you have to do that for yourself.
This is something the article doesn't really mention at all. From the late 90s into the peak of the bubble (and then really even a bit after its collapse), enrollments skyrocketed.
The report on which the article is based
(see http://www.aeanet.org/Publications/id_OffshoreOuts ourcingMain.asp)
does mention this.
IBM's RS6000 (*nix box) had a good compromise between GUI and CLI.
I used to work in a group using these where we had no sysadmin or any sort of Unix guru but we were all very experienced geeks.
Since we had to puzzle out system configuration problems from densely-written manuals, the RS6000's combination GUI->CLI method was very helpful. The RS6000 had a faked-out full screen mode (probably VT100 emulation) that let you assemble a command a piece at a time.
You started with, e.g. some half-understood disk configuration command from the manual, and the interface would pop up drop-downs with valid parameters for each required one. Once you had assembled the command this way, you could dump the finished CLI string to a file and save it for re-use or study and modification.
This was a very effective way to bridge the gap for people who knew general things like "you have to prepare a new disk for use" but were unsure exactly how you accomplished this in Unix.
Functional programming, particularly in an interactive environment, is so insanely much more productive than the now "traditional" OO methods that it's absurd that they continue to be so unthinkingly accepted. From what I've seen, OO attempts to patch some minor weaknesses, e.g. the inflexibility of strong-typing (-> overloading), with enormous overhead.
For instance, a friend of mine was working on C++ code that does arbitrage. "Arbitrage" is how you make money when you see, e.g. that someone is offering to buy 100 shares of Motorola in London for a penny more than someone is selling 100 shares in New York; you match these trades up and take the penny; do this millions of times a day and you're talking serious money.
Anyway, my friend was describing her descent through 8 layers of inheritance to get to the nub of the code where the actual work gets done. Did she have handy, interactive, useful tools for tracing through all these levels of inheritance? Well, she had her brain and opaque class descriptions - in other words, no. So, 8 levels of inheritance to solve the problem of comparing 2 numbers to decide if one is more or less than the other - does this sound like vast overkill to you, too?
This is why we need to send more work like this to India - once they get stuck to the tarbaby of OO, we can throw them into the briar patch!
Too much abstraction away from the problem domain can be deadly.
However, some abstraction solves a more general case which has wider applicability and is more robust than speaking to a too-specific problem.
For instance, I could write separate programs for rounding prices to eighths, sixteenths, 32nds, etc. (from back in the Bad Old Days when we had to do this in financial code) and I've seen this done!
--- OR ---
I could write a rounding program that takes an argument of how precisely to round something, e.g. 0.05 to round to nickels, 1 to round to whole numbers, etc. These even survives the transition to decimal prices with no change in the rounding function itself (though, of course, its use changes).
Remember, in theory, theory and practice are the same but, in practice, they're not.
hence the still-prevalent, misguided preference
for compiled over interpreted languages.
OK - I admit - we need both. However, whenever
I do have to go back to a compiled language, as
I do from time to time, I feel like I'm typing
while wearing mittens and a blindfold with only
a tiny little hole in it.
Why don't e-mail providers adopt a simple and effective way to reduce spam? For instance, even in my own mailbox, I often see multiple instances of the same or similar message - it's not too hard to figure out that this is spam - even a computer could do it.
At the postmaster level, it should be even more evident that a group of similar messages to many users is spam. How hard is it to figure that a bunch of
"Subj: hello" from "Ellen deGeneres" messages are bogus if they're going to many people at the same time? Even "Hello, [your name here]" shouldn't be too difficult to catch.
It might be argued that this would cast the net too wide and round up messages from our newbie friends (or moms) who use "hello" as the subject.
However, a simple variation on this would be to create phony e-mail addresses and seed spam lists with them. That way an ISP would have a sample of what must be spam because it's addressed to no actual person. Using these messages as templates, it should be easy to round up the look-alikes.
Has something this simple already been tried and found wanting? I'd even upgrade some of my free e-mail accounts to paying ones if that bought me this service. This is something that would have to be done at a higher level than that of an individual user, hence is natural for an e-mail provider.
Jobs that can be outsourced are those which require no domain knowledge. Your medical knowledge combined with computer skills could be quite valuable. However, one problem, and one of the reasons for inappropriate outsourcing, is lack of appreciation for crucially valuable domain knowledge. This should be less of a problem for someone with your background because you have the medical degree.
Others have already mentioned a number of areas where the combination of fields could be valuable: bio-informatics, prosthetics, etc. Another one not mentioned is much more mundane but much needed and potentially profitable: hospital billing systems. If you've ever had too many medical bills and looked very closely at them, you've noticed that they are full of errors. Also, if you look at the want ads, you may notice that there appears to be a need for computer people with experience in hospital systems.
It's not very sexy, but rationalizing insurance and hospital-related billing procedures could be a nice niche for someone.
This is an interesting piece of news because it's the first public acknowledgement I've heard of an outsourcing failure. Doesn't it seem a bit odd for this to have been going on for a number of years now and, apparently, every single project is a success?
I have heard privately of failure but there's an obvious bias at work against anyone admitting this sort of thing publicly. I suspect, based on my own experience with some managers, that many people in charge
1) don't know what software quality is,
2) don't have the slightest idea of how to
measure it, but
3) are very aware of how much software
development costs.
Hence, outsourcing. However, every customized piece of software I've worked on - that would be all of it - requires a lot of back-and-forth between users and developers. And, if you don't need custom software, why are you developing it?
1) Fill a glass with water and ice so the ice is floating - not resting on the bottom of the glass;
2) Note the water level.
3) Let the ice melt.
4) (soon enough so evaporation is not a factor) See if the water level has changed.
I think this is a simple way to reduce spam but it has to be done by the mail-host looking across messages to many different addresses. I've noticed that, even in my own mailbox, I often see multiple instances of a message with the same sender or subject line - it's not too hard to figure out that these are spam: even a computer could do it.
At a level where one can see many incoming messages across many users, it should be even more evident that a group of similar messages to many users is spam. How hard is it to figure that a bunch of "Subj: hello" from "Ellen deGeneres" messages are bogus if they're going to hundreds of people at the same time? Even "Hello, [your name here]" shouldn't be too difficult to catch with some simple pattern-matching. Comparing message bodies would be even more effective though more expensive and would raise privacy concerns.
It might be argued that this would cast the net too wide and round up messages from our newbie friends (or moms) who use "hello" as the subject. However, a simple variation on this would be to create phony e-mail addresses and seed spam lists with them. That way an ISP or mail host would have a sample of what must be spam because it's addressed to no actual person. Using these messages as templates, it should be easy to round up the look-alikes.
Has something this simple already been tried and found wanting? Is there any obvious reason why this wouldn't at least reduce the traffic?
Almost anything has to be better than the current situation where I spend 2 or more minutes every day (I've timed it for several days) erasing spam. My time is worth a dollar or more a minute, so this costs me hundreds to thousands of dollars per year.
I'd even upgrade some of my free e-mail accounts to paying ones if that bought me this service. Because this would have to be done at a higher level than that of an individual user, it is a natural benefit for an e-mail provider to offer.
For example, imagine how insanely difficult it would be to come up with a "cartoon version" of the first amendment to the U.S. Constitution - i.e. using only pictures to represent all the abstractions in this short statement:
Congress shall make no law respecting an establishment of religion, or prohibiting the free exercise thereof; or abridging the freedom of speech, or of the press; or the right of the people peaceably to assemble, and to petition the government for a redress of grievances.
English:
"I'm going to a playboy party."
"I'm going to a Playboy party."
Well, it says that a lot of people prefer our graduate institutions to those of their own countries. It hardly supports the assertion that lower schools don't prepare students for math and science.
In any case, blaming your school for not teaching you is a cop-out, especially these days. If you're sufficiently wired to be reading slashdot, you have access to any amount of material and resources to learn just about anything you put your mind to.
School can not make you be motivated - you have to do that for yourself.
The report on which the article is based (see http://www.aeanet.org/Publications/id_OffshoreOuts ourcingMain.asp)
does mention this.
Someone I know pays only a few hundred dollars for a 2-bedroom in midtown.
I used to work in a group using these where we had no sysadmin or any sort of Unix guru but we were all very experienced geeks.
Since we had to puzzle out system configuration problems from densely-written manuals, the RS6000's combination GUI->CLI method was very helpful. The RS6000 had a faked-out full screen mode (probably VT100 emulation) that let you assemble a command a piece at a time.
You started with, e.g. some half-understood disk configuration command from the manual, and the interface would pop up drop-downs with valid parameters for each required one. Once you had assembled the command this way, you could dump the finished CLI string to a file and save it for re-use or study and modification.
This was a very effective way to bridge the gap for people who knew general things like "you have to prepare a new disk for use" but were unsure exactly how you accomplished this in Unix.
Functional programming, particularly in an interactive environment, is so insanely much more productive than the now "traditional" OO methods that it's absurd that they continue to be so unthinkingly accepted. From what I've seen, OO attempts to patch some minor weaknesses, e.g. the inflexibility of strong-typing (-> overloading), with enormous overhead.
For instance, a friend of mine was working on C++ code that does arbitrage. "Arbitrage" is how you make money when you see, e.g. that someone is offering to buy 100 shares of Motorola in London for a penny more than someone is selling 100 shares in New York; you match these trades up and take the penny; do this millions of times a day and you're talking serious money.
Anyway, my friend was describing her descent through 8 layers of inheritance to get to the nub of the code where the actual work gets done. Did she have handy, interactive, useful tools for tracing through all these levels of inheritance? Well, she had her brain and opaque class descriptions - in other words, no. So, 8 levels of inheritance to solve the problem of comparing 2 numbers to decide if one is more or less than the other - does this sound like vast overkill to you, too?
This is why we need to send more work like this to India - once they get stuck to the tarbaby of OO, we can throw them into the briar patch!
However, some abstraction solves a more general case which has wider applicability and is more robust than speaking to a too-specific problem. For instance, I could write separate programs for rounding prices to eighths, sixteenths, 32nds, etc. (from back in the Bad Old Days when we had to do this in financial code) and I've seen this done!
--- OR ---
I could write a rounding program that takes an argument of how precisely to round something, e.g. 0.05 to round to nickels, 1 to round to whole numbers, etc. These even survives the transition to decimal prices with no change in the rounding function itself (though, of course, its use changes).
Remember, in theory, theory and practice are the same but, in practice, they're not.
OK - I admit - we need both. However, whenever I do have to go back to a compiled language, as I do from time to time, I feel like I'm typing while wearing mittens and a blindfold with only a tiny little hole in it.
And this she's a master of?
At the postmaster level, it should be even more evident that a group of similar messages to many users is spam. How hard is it to figure that a bunch of "Subj: hello" from "Ellen deGeneres" messages are bogus if they're going to many people at the same time? Even "Hello, [your name here]" shouldn't be too difficult to catch.
It might be argued that this would cast the net too wide and round up messages from our newbie friends (or moms) who use "hello" as the subject. However, a simple variation on this would be to create phony e-mail addresses and seed spam lists with them. That way an ISP would have a sample of what must be spam because it's addressed to no actual person. Using these messages as templates, it should be easy to round up the look-alikes.
Has something this simple already been tried and found wanting? I'd even upgrade some of my free e-mail accounts to paying ones if that bought me this service. This is something that would have to be done at a higher level than that of an individual user, hence is natural for an e-mail provider.
Others have already mentioned a number of areas where the combination of fields could be valuable: bio-informatics, prosthetics, etc. Another one not mentioned is much more mundane but much needed and potentially profitable: hospital billing systems. If you've ever had too many medical bills and looked very closely at them, you've noticed that they are full of errors. Also, if you look at the want ads, you may notice that there appears to be a need for computer people with experience in hospital systems.
It's not very sexy, but rationalizing insurance and hospital-related billing procedures could be a nice niche for someone.
> Probably it's some bio-tech invention we haven't heard about, which is going to render us all sterile > and hairless, several years from now.
It's here now - we call it "old age".
This is an interesting piece of news because it's
the first public acknowledgement I've heard of an
outsourcing failure. Doesn't it seem a bit odd
for this to have been going on for a number of
years now and, apparently, every single project
is a success?
I have heard privately of failure but there's an
obvious bias at work against anyone admitting
this sort of thing publicly. I suspect, based
on my own experience with some managers, that
many people in charge
1) don't know what software quality is,
2) don't have the slightest idea of how to
measure it, but
3) are very aware of how much software
development costs.
Hence, outsourcing. However, every customized
piece of software I've worked on - that would
be all of it - requires a lot of back-and-forth
between users and developers. And, if you
don't need custom software, why are you developing it?