The Theory of Leech Computing 242
Phil Frisbie, Jr. writes "I am defining Leech Computing as 'a program running on a client computer without user knowledge that can process data and report back the results, but otherwise does not effect the usability of the client computer and makes no changes to the client'. Leech Computing, Part 1 covers basic theory."
Grandpa Simpson (Score:2)
Re:Grandpa Simpson (Score:1)
"But back then, instead of calling them bait shops, we called them wet bug parlors. Give me 10 dozen nippers for a nickel, we would say..."
Re:Grandpa Simpson (Score:2)
But the important thing was, I had an onion on my belt. We couldn't get white onions, because of the war and all...
Re:Grandpa Simpson (Score:2)
In case his server doesn't survive the /. effect (Score:2, Redundant)
Where have you been leeched today?
---
By Phil Frisbie, Jr.
Disclaimer
This article is for personal enlightenment only. It is not a warning of any known current practices or a proposal of future acceptable practices. However, this is a REAL technology, as you shall see for yourself....
Part 1 of this article contains no real technical details. It is written to enlighten the average web user. Actual working examples with source code will be included in part 2.
Background
I am defining Leech Computing as 'a program running on a client computer without user knowledge that can process data and report back the results, but otherwise does not effect the usability of the client computer and makes no changes to the client'. This leech program runs only in memory, and does not access the client's hard drive at all. Real leeches typically attach themselves to animals that spend time in the water. When the leech is hungry, it attaches itself to an animal where it either remains until full or is knocked off. If knocked off, it simply finds another animal to attach to. When the leech is full, it drops off leaving the animal unharmed. The leech needs the animals, so it chooses large animals and only takes a little blood at a time without harming them.
Leech Computing is related to distributed computing. Distributed computing projects such as SETI at Home and distributed.net have hundreds of thousands volunteers that have downloaded and installed client software that runs in the background or as a screen saver. Data files are copied between the hard drive of the client and an Internet server in order to retrieve data to process and send back the results. Work is broken up into small units that can take anywhere from a few minutes to many days to complete before the results are sent back. These hundreds of thousands of clients act as one huge computer, which can accomplish much work at a very low cost, since the clients 'donate' their computing time to the project.
Another technology you may have heard about is Parasitic Computing. Parasitic Computing can use any computer connected to the Internet to process a tiny amount of data. While the idea is intriguing, it is not practical because the computing power needed just to send and receive the data packet is thousands of times more than just processing it yourself. I mention this because Leech Computing and Parasitic Computing share these basic ideas: the user does not know data is being processed, no software is installed, and no system changes are made.
So how can Leech Computing retrieve data, process it, and return the results without the user knowing it? How can it do this without installing any software? How can it be undetectable by firewall software? All it needs to accomplish these seemingly impossible goals is one piece of common software, a web browser.
The web browser is the most used piece of software today. Millions of users are logged in at any given time of the day browsing web sites, checking email, making purchases, etc. Since the first web site was put online about ten years ago, web pages have gone from plain text pages to the current flashy looking sites we have today. The web browser has evolved to provide the capabilities to support these needs.
One of the first web browser enhancements was JavaScript and Java applet support. JavaScript and Java applets are programs that run in your browser. While Java applets can potentially cause security problems and are disabled by some users, JavaScript has no serious security problems and so is seldom disabled. JavaScript is also the most widely used tool to enhance web pages because it is easy to use and very versatile. Most any time you see cascading menus, moving text, or forms that warn you when you enter the wrong type of data, you are running JavaScript programs. In fact, you could say that a fancy JavaScript page is leeching some of your computer resources in order to create all those fancy effects.
But, while web pages currently use JavaScript and other types of programs to process data to display, they generally do not send results back to a server (with the exception of forms the user may fill out and send). From now on when I refer to a leech program, I will be referring to a JavaScript program. Even though other types of programs such as Java applets and ActiveX controls could also be used, they may be disabled by the user, they may need to be approved by the user before they are run, and they do get installed to the users hard drive.
Simple examples
This is going to be theory only; no actual working code will be presented here. Again, part two will include actual working examples with source code.
Getting the data to the user is the simple part; it is simply embedded in the web page. Scrolling messages are a common example. Even though one line at a time might be displayed, all of them are loaded into the page. Or that cascading menu, which has all the submenus loaded ready to display when needed.
So, current web pages are already using JavaScript programs, and we know that data is being sent and processed to display that cascading menu when you run your mouse over it, but how could you possibly get data back to the server without the user knowing it?
One way would be to persuade the user to perform the upload of data. Remember, forms can submit data back to a server. We fill out forms and send them regularly. But forms can also have hidden information that the user does not need to fill out. In fact, a form can have ONLY hidden information; all it needs is a button for the user to click. Of course, you would not label such a button 'Click here to submit hidden data', but what if it were labeled 'Next Page'? How many times have you pressed a button like that without even thinking about it? When the user presses the button, the leech submits the hidden data and redirects to the next page. As long as the user gets to the next page, they will not have any reason to think that the button had any other function.
Another way would be to use a self-refreshing window. You know, like those annoying pop-up or pop-under advertisements. Or maybe something less conspicuous like a framed advertisement on a web page. When done with the current data, the leech can upload the processed data and get new data along with the new advertisement. Would you even notice, or even wonder about that advertisement refreshing? Of course not, because it is so common.
Conclusion
The technology to implement Leech Computing is here, now. Is it being used? I have not found any evidence, but I also do not look at the source code to every web page I download. Maybe I should.
Can it be prevented? That is the best/worst part, depending on your point of view. Since a leech can simply be a JavaScript program, nothing short of disabling JavaScript can stop it. And if you do, you will greatly reduce your web browsing experience, and will even be locked out of many sites that require JavaScript to be enabled.
Part 2 will be posted soon.
Phil Frisbie, Jr.
---
Page last modified: Tuesday February 19 2002
© 1998-2001 Hawk Software
Wow, talk about leeching! (Score:1)
Re:In case his server doesn't survive the /. effec (Score:1)
ClearCASE distributed builds do this, although I'm not sure if it's really the same technology underneath or not.
Seems like this is in use already (Score:3, Informative)
Re:Seems like this is in use already (Score:4, Informative)
Re:Seems like this is in use already (Score:1)
While browsing I would probably use a blocker in addition to your firewall. Maybe something like Spyblocker which will block malicious bugs, cookies, ads, spyware, and worms. This can be downloaded here [bellsouth.net].
That should keep your computer covered.
Slashdotted (Score:4, Funny)
Re:Slashdotted (Score:1)
Re:Slashdotted (Score:2, Informative)
Re:Slashdotted (Score:2)
Wow. Interesting premise. (Score:3, Funny)
What data? (Score:1)
Sure, passwords, logins, mails, other confidential data, or perhaps your son's pr0n collection
This reminds me of some popular trojans for windows (SUB7BONB)!
Re:What data? (Score:2)
It had a button marked browse that the user used to select which file was to be uploaded and then the user hit submit so that the file was sent, but, uh, is there really that much keeping the other system from selecting a file 'for the user'?
Heck just defaulting to all files under 100k in a the default document save location of Excel would be enough to get at least a few credit card or even social security numbers.
Well.. (Score:4, Funny)
Re:Well.. (Score:1)
Re:Typical (Score:2)
you never know what might be on your machine... (Score:4, Funny)
A couple of months later, the network admin starts nosing around, and sends the professor an embarassing note asking to take down the web server about hot leather pants from his computer, since it was overloading the network...
Re:you never know what might be on your machine... (Score:1)
Re:you never know what might be on your machine... (Score:3, Interesting)
You've never met many professors have you.. Many of the brighest engineering professors I've met can barely operate a web browser without the help of their graduate students and would never imagine that their machine could be acting as a web server..
Will antivirus scanners detect them? (Score:2)
Idea (Score:4, Insightful)
Re:Idea (Score:1)
[5 mins later]
There, done!
reminds me of parasitic computing (Score:4, Informative)
There's also a good page quickly discussing Villain-to-Victim [uni-erlangen.de] computing. The point is to use correctly configured machines to do things they were not intended to.
It *should* remind you of parasitic computing (Score:2)
Another technology you may have heard about is Parasitic Computing. Parasitic Computing can use any computer connected to the Internet to process a tiny amount of data. While the idea is intriguing, it is not practical because the computing power needed just to send and receive the data packet is thousands of times more than just processing it yourself. I mention this because Leech Computing and Parasitic Computing share these basic ideas: the user does not know data is being processed, no software is installed, and no system changes are made.
Please try to read the article before you go making redundant peanut gallery comments. The link you provided is helpful, though.
Yeah, you're right (Score:2)
I'd mod you up, but I can't now that I've participated in this discussion.
Mosix (Score:1)
although us users knew (unlike this leeching) it was to the same effect, processes would migrate and spread the work load
once mosix get pthreads support (they han't last time i checked, i duno know, they were working on it) i think mosix would be a good thing to install even in offices. your work station being part of a cluster would make it last longer (ie in time b4 it too slow to use, and u upgrade all the office pcs)
Interesting concept (Score:4, Interesting)
Re:Interesting concept (Score:2)
Re:Interesting concept (Score:2)
Damn it's been so long since I read those books. Anyway, if you catch someone leeching, the option to prosecute should be there, because they ARE stealing from you in one form or another when using your computer without permission.
Re:Interesting concept (Score:2)
Java can do it easily. Something like (warning-untested code):
Thread t=new Thread(this);
t.setPriority(Thread.MIN_PRIORITY)
t.start();
If applet class implements Runnable, the above code will start a thread with minimum priority, so it will nice itself downwards. If I recall correctly, even secure systems allow you to renice yourself *downwards*. I used to even be able to get IE to let me run at max priority!
So to summarize - yes, it can be done, and rather easily at that.
Mipsucking recycled (Score:3, Interesting)
They called it mipsucking. The idea was to skim off CPU cycles when someone visited a web site. They even had a sample java-script app.
Re:Mipsucking recycled (Score:1)
Here is some of what would have to be considered:
1. Length of time the average user will be viewing a page or ad (the computing benefit realized)
2. Computing cost of serving this page up to the user
3. Computing cost of collecting and organizing the data from leeched / mipsucked users
4. Monetary cost of either building an interesting site to attract "hosts" or riding an advertisement or other element of someone else's interesting site
I would say that focusing on maximizing your own server resources would be a far simpler way to get your computing task done. As a "free" alternative to this, the voluntary donation of computing resources (as in the SETI project) answers concern #1 and #4 far better than leeching.
If used properly, this could replace banner ads. (Score:5, Interesting)
(I can see it now. 50 to 100 years from now, the Porn Website Coalition has won a Nobel prize for creating a vast distributed network for math intensive problems....)
The problem with this model is that the implimentation of Javascript is slow and horrendously messy. It's brutally inefficient for anything other than the most minor effects carried out in a browser window. I shudder to think of what most browsers would do, given a math-intensive task. FFT's in Javascript anyone?
Unlike the author, I think that Java and/or ActiveX applets will probably see this sort of exploitation first, since they're easier to tune speed out of.
Re:If used properly, this could replace banner ads (Score:2)
Re:If used properly, this could replace banner ads (Score:2)
Re:If used properly, this could replace banner ads (Score:2)
No one really has come up with a math-intensive problem that distributes well, that also can make money.
Re:If used properly, this could replace banner ads (Score:2)
Sure there is - but its in everybody else's wallets.
.
Re:If used properly, this could replace banner ads (Score:2)
From what I've seen in the field, joe aveage windows user realy doesn't multi-task anyways so there are lots of idle CPU cycles connected to the internet. I've processed 89 work units for SetiAtHome on my machine.
background tasks are not transparent (Score:4, Interesting)
When I was an undergrad I did a semester research project on this and identified some of the problems:
http://www.russross.com/cs261/paper.html [russross.com]
I run a dual CPU machine now which generally masks the problem, but even the fastest single CPU systems will suffer noticeable effects once the scheduler falls back to a round robin scheme with weighted timeslice lengths which is essentially what happens once you have two or more CPU bound jobs competing for CPU time.
- Russ
Re:background tasks are not transparent (Score:1)
This is a single processor duron 800 with 512mb, so I was impressed to say the least.
Especially as OS/App bloat increases (Score:2)
Re:Especially as OS/App bloat increases (Score:2)
And i would be really pissed off if the leeching of my CPU cycles would interfere with my recording of season 20 of Buffy The Vampire Slayer using my PVR With Real-Time MPEG-4 Compression software.
Well, actually.... (Score:2)
Consider though:
Re:Well, actually.... (Score:2)
Nice concept, but you'll still miss many clients (Score:3, Interesting)
The current implementation of Leech Computer requires the user to be surfing around with a web browser. My solution would be on every OEM pc sold. Seems like a more useful setup to me.
Yes, there are security implications, but only as much as having any self upgrading piece of software running in the background. (Besides, I never said Microsoft was the company I'd pick to make the software.
The people buying computers these days are pretty clueless. I've seen people buy computers without having even used one before. Just because it's the 'in' thing. We might as well put all that wasted processing power to good use!
Re:Nice concept, but you'll still miss many client (Score:2)
Re:Nice concept, but you'll still miss many client (Score:2)
Computers do use more power when they are actually doing something. If one OEM did this, the other OEM would have a big ad campaign with people and their electric bills.
This is simply stealing money right out of people's pockets. I don't see it as any different from what the guys in the movie "Office Space" attempted to do by shaving a couple cents off of each transaction.
Sure, it only costs each user a little bit of money, maybe $1 a month, but it is still stealing.
Re:Nice concept, but you'll still miss many client (Score:2)
Re:Nice concept, but you'll still miss many client (Score:2)
works on software too! (Score:1)
;-)
Re:works on software too! (Score:2)
Might be a way to fund such as slashdot and google.
Java the perfect platform for this? (Score:2)
Re:Java the perfect platform for this? (Score:1)
Slight Surprise (Score:5, Interesting)
The one thing that surprised me a bit was that the author didn't take advantage of the opportunity to put a bit of leech computing onto his own web page. He mentions (on the second page) that:
Then I remembered that there was, in fact, just such a button on the first page. But when I went back to check, there wasn't actually a Javascript applet there trying to leech a little bit of computing power from me. There wasn't even a cute little message thanking me for checking to see if there was such a Javascript applet. Too bad, he missed a great chance.
Re:Slight Surprise (Score:1, Informative)
The user might never realize the event had occurred.
Re:Slight Surprise (Score:2)
If that were the problem, it would be obvious you'd want to do it when the computation was complete. You're already running in the background, just execute one last thing when it's done.
The problem is that you need to contact the server and the standard way of doing that is to send a page request with form submit data, which usually needs the page to be reloaded at least.
Of course, there's probably sneaky ways around that, like doing a submit as a background image preload or something. (I don't know, can you directly manipulate sockets in javascript?)
Re:Slight Surprise (Score:3, Interesting)
the guy that wrote this article in 97 has a javascript that calculates pi while you read the article!
Web Ads == Leech Computing (Score:2, Interesting)
Would you even notice, or even wonder about that advertisement refreshing? Of course not, because it is so common.
Conclusion
The technology to implement Leech Computing is here, now. Is it being used? I have not found any evidence, but I also do not look at the source code to every web page I download. Maybe I should.
Re:Web Ads == Leech Computing (Score:2)
Yet another example of how knowing more about a problem only requires you to work even harder in the future.
Ignorance truely is bliss
Do Zombie processes count? (Score:1, Interesting)
JerryMeander posting w/o an account for 5 years (egads it's been a long time) and will continue doing so (i'm just too lazy to look up my lost password, or recreate my account)
One interesting thing.... (Score:1)
Leech (Score:2)
IE... Ok, you don't want to install the program, since that would be changing the client, so all computers voluntarily run a sandbox... That sandbox runs in System Idle Process, or niced down a ways... Even given THOSE conditions, a would be interrupt would have to change context from that program into its own code (incidentally, it would have to without it, but for the sake of argument), and the processor will be giving off heat when if could be sitting idle...
JavaScript (Score:2)
Particularly vicious would be a virus that could harness this power and then redirect en-masse to DOS attack a specific target.
This concept is every interesting.
P2P leeching (Score:2)
This automatic mirroring would be an easy way to kill the slashdot effect when it comes to sudden demand increases for specific files on a P2P network (Think Starr Report). Of course, one could argue that with sharing on by default a popular file would have plenty of mirrors without such as system, but it would help in situations where time is critical.
Re:P2P leeching (Score:2)
http://freenetproject.org
Re:P2P leeching (Score:2)
Actually, that could be quite useful... (Score:2, Interesting)
"Don't let ego cloud your judgement, but don't let humility cloud who you are." -- Captain Squal
Re:Actually, that could be quite useful... (Score:1)
I don't mind google being a business if it does business the right way. Heck, your waiter/waitress recieves a salary too. If you get good service, you tip. If google gives me good results, I'm all for a checkbox that'd let it borrow a few of my CPU cycles.
Leech computing? (Score:1)
I thought it was Lich computing, which is much
more horrifying...
Back to the subject at hand.... (Score:1)
Well, it seems that if something is greedy, self-serving, and intrusive, it doesn't neccesarily have to come from government after all!
It may be even easier to do than I thought at first, but some of the problem for people like me with persistent connections can be alleviated by:
1. Serious Firewalls (not much good, but could at least make it harder for a targeted attack if the Java Virus steals password data).
2. Running Java only when neccesary (what a pain).
3. Monitoring your bandwidth (my Primary Internet router actually has an LED meter of sorts).
Still, any code brought in by clandestine means, that operates without the user's knowledge or permission, is "malicious code," and perpetrators should be considered dorks.
It doesn't matter if the user is using the machine up to what you consider it's potential, It's Not Your Machine!
I wonder how many of the people who think this idea is "kewl" and think those users won't be hurt spend their spare time railing against "corporate greed." :)
Oh, well, one more genie out of the bottle.
Wrong, but not a bad thing (Score:4, Insightful)
He says refresh and 'tricking' the user are the only ways (on form submits.) Wrong.
dynamic.php:
<script>
data data data
do do
calc calc
var me = answer;
document.write("<script src='http://myserver.com/donate.js?answer=" + encode(me) + "'></scr"+"ipt>");
<\script>
That sends some data to the client, does some client side cals, and sends the data back to my server (although I have to respect the max limit of data one can send via form posts, but its the same with his more obvious methods.)
This is done all the time to count impressions in the advertising world. In fact, in a sense, advertising tracking online is already leech computing in some implementations.
BTW, the
Back in the day we used REAL leeches (Score:4, Interesting)
As for the definition given in today's write-up, I don't see why it has to be without the users knowledge. As mentioned elsewhere that is 'parasitic computing', and while leeches are parasites, humans for millennia have harnessed all sorts of parasites, including leeches, to perform tasks beneficial to humans. Anyone installing seti@home on their PC is in effect parasitizing their box, but because it is only the spare cycles that are being used, you are none the worse for it, and there is a net benefit. A true non zero [amazon.com] solution.
Leech computing is being used (Score:2)
Strictly speaking, many of the impression counting mechanisms that advertisers may rely on can include leech-like implementations (aka, 'beacon' tracking) that are arguably not leech computing only because the tracking mechanism is via img tags more often than script tags. And counting one impression per ad view is hardly utilizing 'computing power', but it doesn't change the fact that there can be more than one request (in paralell off the placement, aka the web page) to ad servers to create a complete impression.
Robert Tappan Morris (Score:2)
The Ultimate Leech (Score:1)
Set your browser to 'paranoid' (Score:2)
"Tell me when I am about to submit data in a form"
"Disable (or 'warn me about') active scripting/Javascript/Java/ActiveX"
Am I the only person that uses these setting as my standard configuration?
Yes, this doesn't apply to "Joe Home User" but that is a matter of installation defaults, and Microsoft already said they'd switch to "secure by default" settings. (I should have tried harder resisting that dig.)
But really, Javascript *is* blocked by 'paranoid' security settings in browsers. And so is submitting form data. Though I haven't yet seen anything that tells you *what* data the form is submitting, without having to view source.
A worm by any other name (Score:1)
And how is different from a classic [pre-Morris] computer worm? The original idea of a computer worm, after all, was a piece of code that would seek out under-utilized computers and run your code on it without disrupting normal operation. Morris's worm, for that matter, could have acted that way (arguably it was intended to) if it had been better debugged.
-JS
Been doing this for years... (Score:1)
Back in '94, her computer also served as our print server....
The biggest abuser of this is... (Score:2)
Take a look at the "client" they have you install to obtain games. It uses 'P2P' which is, in their words, a good thing. In reality, it installs a program that sucks up your bandwidth so fast you won't be able to play that Day of Defeat mod you just download from them.
I know this, because it only took me 2 minutes to find out my roommate had installed it and we immediately had 5 different connections trying to hit his machine. Amazing how quickly that program can bring a DSL connection to its knees.
called deamons in the old days (Score:2)
No, it is not a troll (Score:3, Interesting)
I have always wondered if Microsoft has done something like this in their operating systems. If they were sneaky, the "System Idle Process" would be doing a lot more than advertised. It never registers on the CPU counts, even though it is running at 99% of the CPU most of the time. The OS is closed source, so nobody could review it. Just a few ticks here and there, times 50 million. Have the website scoop up data, and distribute the next session (would be missed because you were doing a windows update or checking for the latest security hole fix). Get a nice new registration scheme that gives the PC it's new job codes.
I'd sure be doing it if I was them and I had that many captive PCs
what i want is a counterattack (Score:2, Funny)
Max
Slashdot@Distributed.net (Score:2)
Why not create a Java applet that does distributed.net work (or similar), proxied through the web server. Slashdot could have it on its main page (hell, it could be that Slashdot logo in the corner). Some clever person could submit all the work done as his or her own. Sure, running in Java only part-time would limit the amount that would get done, but given the number of computers sitting on Slashdot at any given moment, it could accomplish a lot cumulatively...
I'm not familiar enough with web Java applet security policies to know how tricky this would be, but it'd be interesting, anyway.
-Puk
Difficulties with the theory (Score:2, Insightful)
#1. Javascript is extremely slow. It's also interpreted, not compiled. Code optimized and compiled for a system can be a hundred times faster.
#2. Coding anything usuable for this type of application would require a good bit of code to be sent via javascript.
#3. The amount of processing it would take to:
A) Generate the web page to send to the user with the appropriate Javacode + whatever the user needs to process
B) User's computer to interpret the Javascript, execute the code, send back to the main host computer
C)Host computer recieves the data, decides where to store it, what to do with it etc.
And for the code to run and NOT affect the user significantly (meaning the processing done wouldn't be very much at all), all in all would likely require far more processing than it would if it were compiled on a server just running by istelf.
All in all it would be very inefficient, and probably faster for the server managing the data and generating the pages to process this information on its own.
Re:A Topic for Newbies (Score:2)
And then I would leech them all.
Re:A Topic for Newbies (Score:2)
Re:A Topic for Newbies (Score:1)
Re:Without user knowledge? (Score:1, Troll)
:)
Re:Without user knowledge? (Score:2)
Wil Wheaton sucks harder than any leech.
He usually posts to Slashdot in the evenings. It's a shame that he's pretty damn easy going - I'd love to see him flame you.
Oh wait - you're a coward, too afraid to even give your name. Ass.
--
Evan
Re:Without user knowledge? (Score:2)
Actually I just wasn't logged in, Evan.
Allow me to proclaim loudly for all to hear: "Wil Wheaton sucks."
He's not the worst actor, but he's definitely in the lowest tier. Down there with Adam Sandler, Martin Lawrence, the Baldwin brothers (collectively), and the guys from CHiPs. Just because he frequents slashdot doesn't make me think any higher of him. Clearly you, a card carrying member of the washed-up-Hollywood-actors-who-post-to-slashdot guild, feel he's a good buddy of yours because he spouts off his mindless drivel here. What does that say about you, Evan?
I invite you, and your easy-going "friend" to flame me with all you've got. You other Slashdroids who aren't afraid to lose karma are welcome to join in too.
Re:Without user knowledge? (Score:2)
And?
feel he's a good buddy of yours because he spouts off his mindless drivel here. What does that say about you, Evan?
Actully, I don't feel he's a "good buddy". I just feel that anybody who attacks another person solely for the sake of attacking is an ass. I would have defended anybody you felt the need to personally attack.
Allow me to proclaim loudly for all to hear: "Wil Wheaton sucks."
Yes? And how? You're not saying he's a lousy actor (although you do later in the post, so I lean towards the idea that you are basing this statement upon your opinion of his acting), so why so you think Wil Wheaton, the person (whom neither you nor I know) sucks?
--
Evan "More than willing to burn Karma to grind agressive, anti-social assholes into the ground" E.
Re:Without user knowledge? (Score:2)
It's obvious you have a crush on the guy, and hey that's fine. You've also got a Rocky Horror fetish, and that's fine too. More power to you. The key is to accept your feelings. Just don't keep lying to yourself, pretending you're doing some wonderful deed standing up for an actor in the hopes of making them notice you. It's just not going to happen, Mmmkay?
If I was to say, "Metallica Sucks." Would you grind my aggressive, anti-social asshole self into the ground for personally attacking them? No, probably not. Because it isn't a personal attack. Same applies here.
Re:Without user knowledge? (Score:2)
All my best friends were anonymous people I didn't know at one time. :) Here's to interaction.
If I was to say, "Metallica Sucks." Would you grind my aggressive, anti-social asshole self into the ground for personally attacking them? No, probably not. Because it isn't a personal attack. Same applies here.
No, and if you said "Westley sucks" or "Stand by Me sucks", I wouldn't have had a problem. But had you said "Jason Newstead sucks", I would have jumped in with the same fervor.
Hell, you could have even said "Wil Wheaton's acting career sucks", or "Wil Wheaton's acting sucks" (although, if you're like me, you haven't seen any representative work of his in the past decade). But an attack on a person is an entirely different affair.
So - clarify. What are you saying?
--
Evan
Re:Usability (Score:2, Informative)
When the user does anything interactive, the task will just get shoved to the back of the queue and won't get any cycles until the user had finished whatever they are doing. The user won't notice a thing.
Re:Usability (Score:1)
True, but can you lower the task priority from Javascript or a Java applet?
Re:Usability (Score:2, Interesting)
It described what the author called a "parasitic computer." The function was rather trivial and has no real benifit, but the premise was that by passing three numbers to a web server your could check to see if the sum of two of them were equal to the thrid by using the checksum of the results. The article went on to explain that this was more of a proof of concept, and that later down the road you could see some more neat-o-rific hacks similar in style to this that took advantage of remote functionalities on host computers while other clients were the parasites. Interesting article and very cool thoughts on the future of ideas like this if you get a chance to get a dead tree copy of the issue.