if you ripped a track off a CD and encoded it to MP3 twice in a row, that each MP3 file would have drasticaly differant MD5 checksums
True. But that does not make MD5 hashing of files useless. Often the same exact rip/encode of a file is widely propagated. This is why a smart client can download different parts of the same file from multiple sources.
[Freenet]... makes it good for security and secrecy, but it's bad on marketing because most people don't want to devote 10 gigs of space to movies and mp3's that they can't play.
Moore's Law -- applied to hard disks will fix this.
Well, but then, music will be trivial, but it will take ever larger capacities, bandwidth, and better compression before we can "Napsterize" the movie industry -- as Jack puts it.
eDonkey does what you are suggesting. It has directories of good hashes on the web. It's still filled with spam and crap.
It cannot do what I am suggesting then.
I am not familiar with eDonkey.
What I suggest is that your own node keep track of how much you trust other nodes. If there is a centralized directory of "good" hashes, then it can still be polluted by spam or by the Over-pee-er. Only your own scoreboard of how much you trust other nodes can prevent this, gradually. If you trust another node, then perhaps you also trust that node's recommendations of other nodes. The thresholds of how much trust another node must have before you also trust its recommendations could be set by you.
How do you identify other nodes and make sure they really are the nodes you've come to trust? In fact, each node should generate a private / public key pair. The public key is how you identify a node. Not by it's IP address. You can pass a small token to a node to be signed, and verify that the public key decodes it.
We could end up with coalition of groups who'll own the only means to access your CDs and DVDs, while other hardware and software companies are left out in the cold with the nerds.
This might not necessarily be a bad thing! At least we might have some hardware players on our side.
As long as either
you can get non-TCPA hardware
you can truly boot any OS on TCPA hardware
then we'll always have Free software. If we also have hardware players left out of the DRM cartel, this can only be good for us.
As long as non trusted systems remain, there will always be some way to break the DRM at some level until brain implants are legislated.
Brain implants serve the multiple purposes of (1) making sure the DRM is secure all the way to the brain, (2) automatically charging your Passport VISA when you see or hear anything copyrighted, and (3) helping to identify wrongthinking people.
:-):-):-)
I think you guys are pretty confused about MD5s.
Billions of crap files have exactly the same MD5 as your favorite Brittney MP3. This is because (duh) the MD5 is much shorter than the file itself.
True.
Where I think you are confused is about the nature of MD5.
MD5 is not just another hash function. It is cryptographically secure. This means that you will never ever, in the life of the universe, be able to find nor contrive / construct a file with an identical hash. That is the whole point of MD5. Otherwise digital signatures and certificates would be meaningless.
I find Freenet to be very slow. I try it out about once a year. Probably more now that it is fairly mature. I don't think I've tried since last spring. Need to try again.
What I'm suggesting is NOT freenet. But more like Gnutella, OpenNap or FastTrack augmented with the blocks concept.
Freenet goes to much more trouble in order to insure that you don't even know where certian content is stored or who originally posted it. If the RIAA/MPAA/Overpee-er become obnoxious enough, then Freenet may be the only viable mechanism to ensure freedom.
Freenet also doesn't (last I knew) solve the Trust problem. In my post (grandparent), and one of it's sibling grandchildren posts, I suggest more about how the Trust problem could be solved. Over-pee-er could still contaminate Freenet with bogus files. How do I know which file is really LOTR-II without downloading it?
You're blurring or expanding the discussion by introducing the unwanted content argument.
A forwarded joke may be annoying, but is decidedly NOT spam.
I'm sticking to a discussion of spam. I'm even narrowing the discussion (not expanding it) to the hypothetical kind of spam that identifies the sender, offers a working remove function, and is not sent through hijacked third party mail servers.
In short we disagree.
Free Speech is about the public being able to freely gather, express and exchange ideas. For people to freely express their views.
You mention bulk snail mail. This is not the same. This costs the sender. Spam costs the sender virtually nothing, and costs the receiver significantly. And don't pretend that the cost is minimal. If it were, people wouldn't be complaining about it. I have to pay for the 50% extra infrastructure that ISP's claim is eaten up by spam. My time is money. Because of the real cost to send snail mail, I get a limited amount of it. Any idiot can decide to spam. The barrier is very low. Spammers don't send postal mail because (1) it would cost them too much, (2) postal mail is very well regulated and most spam content would be clearly illegal.
Commercial speech is not a free speech issue, and niether is spam. There was recently a Nike case about this issue.
Spam can be legally regulated or even banned. Spam has absolutely zero overlap with what the constitution protects as free speech.
I think I have expressed my view clearly. Feel free to disagree. I'm not really interested in expanding the discussion away from the hypothetical kind of spam I mentioned above.
maybe a faster solution would be to download the block from a node, and then download the md5sum of that block from several other hosts. so you could find out easily which of the nodes is bullshitting you without taking too much bandwidth
The problem now shifts to do you trust the list of blocks needed to make up the file? So I want to download "CRAP BAND -- 03 -- I Can't Sing Worth A Crap". I get back a list of block numbers. Can I trust it? This is equal to the original problem of can I trust the mp3 file. But since the list of blocks is much smaller, it is quick to download, and then MD5 it against something trusted, or against the advertised MD5 for that file from other nodes that you have learned to trust based on past experience. Once you can trust the list of block numbers to reconstruct the file, you can proceed to start requesting those blocks and building the file.
Maybe get the list of blocks required to reconstruct a file. I decide, let's check the integrity of a random block, let's say the 5th block of the file. So I look at my list, and I need block numbers
0x82987537289273859
0x90583729873785998
and
0x85873278929387578
to construct the 5th block of the file. So I request those blocks. Each block's hash is the block number. So when I get a block, if its MD5 hash doesn't match the block number I requested in the system, I just throw away that block, and deduct a brownie point from the node that sent it to me. Once a node looses enough brownie points, I don't request blocks from that node ever again. I send out a P2P search for the first block number, get back a list of nodes offering that block. Just pick a node not blacklisted. To get that block from.
but the client supplies the checksum. There's nothing to stop a client from sending a phony checksum.
What if the content were divided into blocks. Each block has its own hash. As you are downloading the content, each block can be checked. As soon as you encounter a corrupted block, you blacklist that node.
Really a trust based ratings system is going to have to be established. But in a way that it totally decentralized.
This can be extended such that you download different blocks of a file from different nodes at the same time, thus getting the file sooner.
In fact, what would happen if no single node had a complete file? This might not absolve you from copyright infringement though. So suppose that in order to form each block of the file, you actually had to download multiple blocks by their hash number, and XOR them together. Yes, it might take 3 times the bandwidth to download a file, but not necessarily 3 times as long in real time on a broadband connection.
Now if Joe offers block 0x2857389298371987578392 of bytes that must be XOR'ed with two other blocks in order to produce the first block of the file, is Joe guilty of copyright infringement? But that same block might also be needed to reconstruct The Constitution of the United States, or the Bible or Moby Dick.
The process of obtaining a file would be to first obtain a trusted list of the block numbers you need to obtain. Then you download those many blocks over the P2P system. The blocks you obtain may come from many different nodes. You just recombine them by mixing and adding water.
The whole "I want SuSE instead of RedHat" thing is pathetic. Take a good thing when it is offered.
This whole "I want Linux instead of Windows" thing is pathetic. Take a good thing when it is offered.
Excuse me, but I do not want to pay for Red Hat. Now if it comes for free as in no dollars, then I don't mind. If the choice is Windows for $xxx, or Red Hat for $0, then I would have no complaint about Red Hat. I would then just wipe it and install my favorite distribution.
Your remark is easily made when you are getting what you want. Just as is true for Windows users.
Yes, I know this. I personally downloaded the MS EULA and inspected it when this story was first broken by slashdot. (Or would that merely be damaged instead?)
Who's saying you have to be harrassed. If you don't want spam then you should give spammers a reasonable notice not to give you any.
By the very nature of spamming, this is harassment. No such notice will ever be binding on the spammer. Spammers are harassers. Legitimate users of bulk e-mail are opt-in.
Let's even skip through a lot of crap and assume that we're only talking about spam that is for legitimate, legal products, that properly identifies the sender, has a valid working "remove me" function, and is not sent through hijacked third party mail servers.
Even in this case, spam can be regulated. The regulation can have the effect of basically making spam go away. If the legimate spam I describe above was required to include an additional mail header to identify it as spam, or some tag in the subject line -- the regulation would be valid -- and the net effect is that spam would disappear.
Managing to post such a sign on your email account is, of course, an exercise for the reader.
Earlier I mentioned this. It could be done at the SMTP connection. If the SMTP server offers a NO-SPAM notice, in a standardized fashion, spammers could be legally required to honor it.
It is what's called a time, place, or manner restriction. A law could be passed restricting telemarketing from certain hours, but could NOT ban it or have the effect of banning it altogether.
There are time, space and manner restrictions on other forms of marketing. If spam cannot be outright banned, it can effectively be banned as I have suggested above. If there were criminal penalties for forged, non-identified and sent through hijacked server spam, and labeling requirements, then spam would effectively be banned -- as only "legit" spam would be left, and everyone would filter it.
One of the consequences of a free society is that you are going to have to -- unless you remove yourself from it by living reclusively -- be exposed to competing points of view.
I don't even know why you say this? I nowhere suggested anything to provoke this. I'm in fact open to other points of view. That doesn't mean that anyone should have to accept spam. This statement you make has no logical connection to the topic.
As for expense, it's minimal
That is irrelevant.
I would argue that the effort spent in throwing out junk mail is worth more.
Spam cannot be compared to junk mail. I can effectively put a stop to junk mail, and have done so. If I get some of the things I junk mail that I get via. spam, I can call the Attorney General, the FTC, the Postmaster General and probably others.
At this point, it seems futile to continue. I don't see this as a free speech issue. Speech can be and is restricted with the blessing of most of society in ways that are beneficial to society. The restricted speech is not outright banned, but effectively is convined to venues that society sees fit. Pornography cannot be banned outright, but can be regulated.
Junk faxes are banned. You mention not pretending about toner, paper, etc. But spam consumes a SIGNIFICANT fraction of ISP's bandwidth. Just ask them. This is a high cost that everyone pays for.
You are entitled to your view. But in mine, spam can and should be banned or effectively regulated out of existance with severe criminal penalties. You are, of course, free to opt-in as you see fit.
>>Ding dong, the witch is dead...
>isn't that song copyrighted?
Yes it is. MGM made "The Wizard Of Oz" in 1939 with a budget of $128,000. (Movies today cost more like $128 million.) We need to not only sue anyone who would even consider singing (or thinking about) this song without permission, but we also need to extend copyrights in order to give MGM an opportunity to recoup their original investment. Please help support both of these efforts.
While I'm at it, I should also suggest that both the RIAA and MPAA could get a second benefit by legislating that everyone have brain implants. Besides the primary benefit of decoding the DRM directly as it hits your brain and automatically charging your credit card for seeing or hearing anything copyrighted; there is a second benefit. We could also find wrongthinking people who are guilty of thinking about violating copyright.
Does anyone think that this page is maybe a little ironic?
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
The guy should be careful. The Microsoft FrontPage 2000 license forbids you from disparaging Microsoft, MSN, Expedia, [blah, blah, blah] or any of their products or services. Don't want to get secretly arrested at midnight or anything like that.
I believe this was covered on Slashdot previously, and other places as well, but I have not yet fully mastered the sophisticated skills necessary to use Google. And I'm lazy.
Someone going on about microsoft, and using microsoft products to do so?
Agreed. This is outrageous. There should be a law or something. You should not be able to use a company's products to disparage that company. Better yet, you should not be able to disparage a company if you have ever merely heard of that company before. Especially if the things you say are mere facts that are embarrasing. Yeah, that's it! Write your congresscritters! Maybe they can get it introduced this session.
I`m sure most of the posts here slagging off microsoft are performed using internet explorer.
Maybe it is a testament to the power and control that Microsoft has.
thats because most of the posters here are major league assholes.
After seeing your post, I would have to agree that this remark has an element of truth to it.
You do realize that a) the case that made that point is no longer good law (it's been overtaken by Brandenberg), and b) was making a point about speech that very directly and unusually threatened people's lives, as opposed to be being a mere nuisance.
I see the light. The whole purpose of free speech and free assembly is to ensure that some people could harass other people. Especially as new technology emerges.
If junk faxes, telemarketing and door to door con men can be stopped, so can spam.
I simply disagree, as do most people, that this has anything to do with restricting free speech. Spammers are perfectly free to exercise their right to free speech. They can't make me listen. And they cannot do it at my expense.
Yes, the easy part is getting the look right, natively or otherwise.
But the feel is an entirely different can of worms.
You make a very good point.
Some applications simply don't care. If they look "mostly" native, great. So for those, everything is just fine.
For others, the programmer must go to extra effort.
I can see a couple approaches. Maybe they are actually endpoints of a spectrum?
Architect your program as a front-end and back-end. (Mathematica?) Your model and document classes represent the entire model state of the document, including current "undo" levels, etc. But nothing visual. A seperate "front-end" set of code visualizes the document/model state and sends messages to it to affect changes. MVC or as I do it: Model and ViewController. I actually divide the back end into a Model that generates ModelState objects. The Document has an undoStack that keeps previous ModelState objects generated by the Model. When a change is made, the Model generates a new ModelState object. Several ModelState objects may share significant data structure. (Isn't garbage collection wonderful?) For instance, a 3D modelling program's ModelStates might share a huge amount of data, except for the object, and its parents which were changed. A "Photoshop" application's ModelStates might point to a new huge set of pixels in the now-larger tempfile.
The Model also keeps the UI informed of which actions are appropriate on the current ModelState. (For instance, since nothing is selected, some commands should be disabled. Or the selection doesn't permit certian operations at present. The back-end doesn't care weather the Copy command is presented as an Edit->Copy menu choice, or as a toolbar button, or both, or something else. But the UI can keep the enabled/disabled state of the Copy command synched with what the back-end says.
Using this approach I can build multiple front-end UI's onto the back end. Different UI's can visualize the ModelState in different ways. Multiple UI implementations could share a lot of code that draws the model to the screen. The UI itself has ViewStates. Multiple ViewStates might be in an "undo" stack so that you could undo a ViewState change, such as Zoom 500%, which didn't actually change the back end model any, but did affect how it appeared on screen. The two ViewStates could both be pointing to the same ModelState object. The UndoCommand goes back to the most recent ViewState. (The ViewState changes whenever the back end offers up a new ModelState.) Therefore "undo" becomes very easy to implement. You could even save undo states into the document if desired, or if the user so elects under Tools->Options, or is it Edit->Preferences? Which brings us back to...
A second implementation approach is to have one front end UI, but have it programmed to adapt to the platform. Not only do you set a pluggable look and feel during startup, but you also customize things such as shortcut keys, where the menu bar appears, and the how dialog boxes appear. I might be more likely to adopt this approach, unless one platform called for a very different UI. I've only implemented one UI for my application.
These two approaches might be a spectrum rather than just two endpoints.
Still, by using an architecture, as I describe above, which I have actually implemented (in a yet-to-be-distributed program that I will undoubtedly open source), you have the flexibility to use the back end with different front-end's. I could build a web based interface to my application. Or an MDI application. Something that is a floating properties window could become a modal dialog box, or a tab panel on the main window. Multiple different visualizations of the same ModelState could be presented.
As a long, long time Mac user and one time advocate, I would say that Apple's implementation of Java on Mac (MRJ) was never really that good. On a typical Mac of a few years back, with 144 MB RAM, back when that was a LOT (!), MRJ was just plain bad at running any reasonably sized swing application. It really begged for a better underlying OS with true virtual memory and other services, which Mac OS X is. I have run some big Swing applications, a few times, on OS X, and can say that I was impressed.
Swing allows the developer to work at an extremely abstract high level. Platform neutral. Any modern PC bought within the last couple years is more than capable of running Swing programs very comfortably. I say this based on experience. I run several Swing based "hog" programs. Notably, NetBeans. XNap. My own program, which will probably be open source at some point, when I'm ready to actually give it to anyone.
Swing is very high level. No absolute positioning. Powerful layout managers allow you to design your forms where everything is relative to everything else, yet you have control of what widgets expand and contract as the window is resized. This also gets you the ultimate platform neutrality. Now matter how swing is implemented, even if a swing pluggable UI is implemented using native widgets. High level in other ways as well. MVC. Actions. Multiple visual representations tied to a single action that can update the state of numerous controls. (i.e. a menu item, a button, and a toolbar item might all be tied to the "undo" action.) A powerful "accessibility" interface.
I very much have the attitude about Swing that I had about the Lisa in 1983. Computers should make me more productive -- how many megabytes and megahertz it takes be damned. A year later, 1984, the Mac was a pleasant surprise. Computers today are vastly more powerful, and moreso every day.
So I ask the question, how soon before nobody gives a darn about Swing being a hog? If you think that execution efficiency for the computer is paramount, then you are hypocritical if you program in anything but assembly language. Yet, the assembly vs. high-level language debate pretty much ended by the mid 70's. (I watched it, I know.) As computers become more powerful, programmers and lusers alike naturally gravitate towards less (computer) efficient, but more (human) efficient tools. Just as stone knives gave way to refrigerated meat in the grocery store. We've come a long way. (despite Microsoft:-)
Swing might be cross platform, but it isn't native look-and-feel
Swing has pluggable look and feel. Windows and Mac OS X programs in Swing sure look like native widgets to me. That is, they visually look native, although the implementation might not be, but could be.
but it isn't native look-and-feel, which the original poster suggested the topic of discussion was.
Then we better not have any discussion of GTK here. (Not a flame. Just an observation that GTK apps on Windows look anything but native.)
Baloney. My inbox is clearly my property. No lack of clarity about it. Every bit as much as my telephone, my fax machine and my front door aremy property.
Takeaway points:
Junk FAXes ARE regulated -- constitutionally
Telemarketers are regulated -- constitutionally
Billboards are regulated -- constitutionally
Door to door solicitation is regulated -- constitutionally
Similarly, junk e-mail can be regulated -- constitutionally
One is free to exercise one's free speech rights at their own expense. Spam is at my expense. If you have a message, commercial, political, whatever, you are free to advertise it on TV, put up a billboard, on the side of a bus, etc. You can stand on the street corner and hand out flyers, put them in store front windows (with owner's permission). Or wonder or wonders, create a web site!
The DMA must think it is a shame that the writers of the constitution did not see fit to impose a duty on everyone to actually have to listen to your free speech. Indeed the purpose of free speech is to make sure the government cannot suppress political discussion that it might not like.
Just an aside: Banning forged e-mail and e-mail served through open relays is not a free speech issue. But I'm primarily focusing on a non-existant, hypothetical kind of spam from a known sender, not sent by illegal means (computer intrusion).
Similar to shouting fire in a theatre, nobody has the free speech right to stand up and start shouting their advertising message in a theatre either. That's the rub, their rights end where my rights begin. Ultimately this is what the governed want.
As for door to door solicitation, it seems that I can legally put a No Solicitors sign on my door and legally have a cause of action against any solicitors.
Perhaps a standardized, simple "No Solicitors" header added to the initial SMTP handshake should be legally recognized to give you a cause of action to recover monetary costs plus punitive damages. A less ideal, but equally effective solution would be to simply require spam to be flagged as such, with a criminial penalty attached. The latter idea would still cost me my bandwidth, plus the cost of supporting all of the bandwidth in the infrastructure, but it would have the same effect of completely eliminating spam. (Why? Because everyone would universally filter it, making it unprofitable.)
You've gotta see this website.
I downloaded Lord of the Rings: The Two Towers and I'm now watching it on my computer. Picture quality is great and it was tottally free.
They've got a whole bunch of other games and movies as well. Take a look. Also, please forward this email to anyone you think would be interested.
But on the other hand, we want users to believe messages like this...
I just downloaded this great Free software. It's more stable than Windows. It can never be withdrawn by the vendor. It doesn't lock you into the vendor's upgrade treadmill. etc., etc., etc.....
So how should the stupid users know which messages to believe? Next, we'll hear the end users saying, "If it sounds too good to be true, then use WinXP."
if you ripped a track off a CD and encoded it to MP3 twice in a row, that each MP3 file would have drasticaly differant MD5 checksums
True. But that does not make MD5 hashing of files useless. Often the same exact rip/encode of a file is widely propagated. This is why a smart client can download different parts of the same file from multiple sources.
[Freenet]... makes it good for security and secrecy, but it's bad on marketing because most people don't want to devote 10 gigs of space to movies and mp3's that they can't play.
Moore's Law -- applied to hard disks will fix this.
Well, but then, music will be trivial, but it will take ever larger capacities, bandwidth, and better compression before we can "Napsterize" the movie industry -- as Jack puts it.
eDonkey does what you are suggesting. It has directories of good hashes on the web. It's still filled with spam and crap.
It cannot do what I am suggesting then.
I am not familiar with eDonkey.
What I suggest is that your own node keep track of how much you trust other nodes. If there is a centralized directory of "good" hashes, then it can still be polluted by spam or by the Over-pee-er. Only your own scoreboard of how much you trust other nodes can prevent this, gradually. If you trust another node, then perhaps you also trust that node's recommendations of other nodes. The thresholds of how much trust another node must have before you also trust its recommendations could be set by you.
How do you identify other nodes and make sure they really are the nodes you've come to trust? In fact, each node should generate a private / public key pair. The public key is how you identify a node. Not by it's IP address. You can pass a small token to a node to be signed, and verify that the public key decodes it.
This might not necessarily be a bad thing! At least we might have some hardware players on our side.
As long as either
- you can get non-TCPA hardware
- you can truly boot any OS on TCPA hardware
then we'll always have Free software. If we also have hardware players left out of the DRM cartel, this can only be good for us.As long as non trusted systems remain, there will always be some way to break the DRM at some level until brain implants are legislated.
Brain implants serve the multiple purposes of (1) making sure the DRM is secure all the way to the brain, (2) automatically charging your Passport VISA when you see or hear anything copyrighted, and (3) helping to identify wrongthinking people.
I think you guys are pretty confused about MD5s.
Billions of crap files have exactly the same MD5 as your favorite Brittney MP3. This is because (duh) the MD5 is much shorter than the file itself.
True.
Where I think you are confused is about the nature of MD5.
MD5 is not just another hash function. It is cryptographically secure. This means that you will never ever, in the life of the universe, be able to find nor contrive / construct a file with an identical hash. That is the whole point of MD5. Otherwise digital signatures and certificates would be meaningless.
[...mention of Freenet...]
I find Freenet to be very slow. I try it out about once a year. Probably more now that it is fairly mature. I don't think I've tried since last spring. Need to try again.
What I'm suggesting is NOT freenet. But more like Gnutella, OpenNap or FastTrack augmented with the blocks concept.
Freenet goes to much more trouble in order to insure that you don't even know where certian content is stored or who originally posted it. If the RIAA/MPAA/Overpee-er become obnoxious enough, then Freenet may be the only viable mechanism to ensure freedom.
Freenet also doesn't (last I knew) solve the Trust problem. In my post (grandparent), and one of it's sibling grandchildren posts, I suggest more about how the Trust problem could be solved. Over-pee-er could still contaminate Freenet with bogus files. How do I know which file is really LOTR-II without downloading it?
You're blurring or expanding the discussion by introducing the unwanted content argument.
A forwarded joke may be annoying, but is decidedly NOT spam.
I'm sticking to a discussion of spam. I'm even narrowing the discussion (not expanding it) to the hypothetical kind of spam that identifies the sender, offers a working remove function, and is not sent through hijacked third party mail servers.
In short we disagree.
Free Speech is about the public being able to freely gather, express and exchange ideas. For people to freely express their views.
You mention bulk snail mail. This is not the same. This costs the sender. Spam costs the sender virtually nothing, and costs the receiver significantly. And don't pretend that the cost is minimal. If it were, people wouldn't be complaining about it. I have to pay for the 50% extra infrastructure that ISP's claim is eaten up by spam. My time is money. Because of the real cost to send snail mail, I get a limited amount of it. Any idiot can decide to spam. The barrier is very low. Spammers don't send postal mail because (1) it would cost them too much, (2) postal mail is very well regulated and most spam content would be clearly illegal.
Commercial speech is not a free speech issue, and niether is spam. There was recently a Nike case about this issue.
Spam can be legally regulated or even banned. Spam has absolutely zero overlap with what the constitution protects as free speech.
I think I have expressed my view clearly. Feel free to disagree. I'm not really interested in expanding the discussion away from the hypothetical kind of spam I mentioned above.
maybe a faster solution would be to download the block from a node, and then download the md5sum of that block from several other hosts. so you could find out easily which of the nodes is bullshitting you without taking too much bandwidth
The problem now shifts to do you trust the list of blocks needed to make up the file? So I want to download "CRAP BAND -- 03 -- I Can't Sing Worth A Crap". I get back a list of block numbers. Can I trust it? This is equal to the original problem of can I trust the mp3 file. But since the list of blocks is much smaller, it is quick to download, and then MD5 it against something trusted, or against the advertised MD5 for that file from other nodes that you have learned to trust based on past experience. Once you can trust the list of block numbers to reconstruct the file, you can proceed to start requesting those blocks and building the file.
Maybe get the list of blocks required to reconstruct a file. I decide, let's check the integrity of a random block, let's say the 5th block of the file. So I look at my list, and I need block numbers
0x82987537289273859
0x90583729873785998
and
0x85873278929387578
to construct the 5th block of the file. So I request those blocks. Each block's hash is the block number. So when I get a block, if its MD5 hash doesn't match the block number I requested in the system, I just throw away that block, and deduct a brownie point from the node that sent it to me. Once a node looses enough brownie points, I don't request blocks from that node ever again. I send out a P2P search for the first block number, get back a list of nodes offering that block. Just pick a node not blacklisted. To get that block from.
but the client supplies the checksum. There's nothing to stop a client from sending a phony checksum.
What if the content were divided into blocks. Each block has its own hash. As you are downloading the content, each block can be checked. As soon as you encounter a corrupted block, you blacklist that node.
Really a trust based ratings system is going to have to be established. But in a way that it totally decentralized.
This can be extended such that you download different blocks of a file from different nodes at the same time, thus getting the file sooner.
In fact, what would happen if no single node had a complete file? This might not absolve you from copyright infringement though. So suppose that in order to form each block of the file, you actually had to download multiple blocks by their hash number, and XOR them together. Yes, it might take 3 times the bandwidth to download a file, but not necessarily 3 times as long in real time on a broadband connection.
Now if Joe offers block 0x2857389298371987578392 of bytes that must be XOR'ed with two other blocks in order to produce the first block of the file, is Joe guilty of copyright infringement? But that same block might also be needed to reconstruct The Constitution of the United States, or the Bible or Moby Dick.
The process of obtaining a file would be to first obtain a trusted list of the block numbers you need to obtain. Then you download those many blocks over the P2P system. The blocks you obtain may come from many different nodes. You just recombine them by mixing and adding water.
>>That's enough for tonight. It's after 11 p.m. here in New York, time to hit the sack
>Wimp! You should be ashamed of yourself.
You are not taking into account that this is 11 pm in a bad time zone. People who live in a good time zone will... well you get the point.
The whole "I want SuSE instead of RedHat" thing is pathetic. Take a good thing when it is offered.
This whole "I want Linux instead of Windows" thing is pathetic. Take a good thing when it is offered.
Excuse me, but I do not want to pay for Red Hat. Now if it comes for free as in no dollars, then I don't mind. If the choice is Windows for $xxx, or Red Hat for $0, then I would have no complaint about Red Hat. I would then just wipe it and install my favorite distribution.
Your remark is easily made when you are getting what you want. Just as is true for Windows users.
Funny you should mention that: MS FrontPage Restricts Free Speech II (It's True!)
Yes, I know this. I personally downloaded the MS EULA and inspected it when this story was first broken by slashdot. (Or would that merely be damaged instead?)
Who's saying you have to be harrassed. If you don't want spam then you should give spammers a reasonable notice not to give you any.
By the very nature of spamming, this is harassment. No such notice will ever be binding on the spammer. Spammers are harassers. Legitimate users of bulk e-mail are opt-in.
Let's even skip through a lot of crap and assume that we're only talking about spam that is for legitimate, legal products, that properly identifies the sender, has a valid working "remove me" function, and is not sent through hijacked third party mail servers.
Even in this case, spam can be regulated. The regulation can have the effect of basically making spam go away. If the legimate spam I describe above was required to include an additional mail header to identify it as spam, or some tag in the subject line -- the regulation would be valid -- and the net effect is that spam would disappear.
Managing to post such a sign on your email account is, of course, an exercise for the reader.
Earlier I mentioned this. It could be done at the SMTP connection. If the SMTP server offers a NO-SPAM notice, in a standardized fashion, spammers could be legally required to honor it.
It is what's called a time, place, or manner restriction. A law could be passed restricting telemarketing from certain hours, but could NOT ban it or have the effect of banning it altogether.
There are time, space and manner restrictions on other forms of marketing. If spam cannot be outright banned, it can effectively be banned as I have suggested above. If there were criminal penalties for forged, non-identified and sent through hijacked server spam, and labeling requirements, then spam would effectively be banned -- as only "legit" spam would be left, and everyone would filter it.
One of the consequences of a free society is that you are going to have to -- unless you remove yourself from it by living reclusively -- be exposed to competing points of view.
I don't even know why you say this? I nowhere suggested anything to provoke this. I'm in fact open to other points of view. That doesn't mean that anyone should have to accept spam. This statement you make has no logical connection to the topic.
As for expense, it's minimal
That is irrelevant.
I would argue that the effort spent in throwing out junk mail is worth more.
Spam cannot be compared to junk mail. I can effectively put a stop to junk mail, and have done so. If I get some of the things I junk mail that I get via. spam, I can call the Attorney General, the FTC, the Postmaster General and probably others.
At this point, it seems futile to continue. I don't see this as a free speech issue. Speech can be and is restricted with the blessing of most of society in ways that are beneficial to society. The restricted speech is not outright banned, but effectively is convined to venues that society sees fit. Pornography cannot be banned outright, but can be regulated.
Junk faxes are banned. You mention not pretending about toner, paper, etc. But spam consumes a SIGNIFICANT fraction of ISP's bandwidth. Just ask them. This is a high cost that everyone pays for.
You are entitled to your view. But in mine, spam can and should be banned or effectively regulated out of existance with severe criminal penalties. You are, of course, free to opt-in as you see fit.
>>Ding dong, the witch is dead...
>isn't that song copyrighted?
Yes it is. MGM made "The Wizard Of Oz" in 1939 with a budget of $128,000. (Movies today cost more like $128 million.) We need to not only sue anyone who would even consider singing (or thinking about) this song without permission, but we also need to extend copyrights in order to give MGM an opportunity to recoup their original investment. Please help support both of these efforts.
While I'm at it, I should also suggest that both the RIAA and MPAA could get a second benefit by legislating that everyone have brain implants. Besides the primary benefit of decoding the DRM directly as it hits your brain and automatically charging your credit card for seeing or hearing anything copyrighted; there is a second benefit. We could also find wrongthinking people who are guilty of thinking about violating copyright.
Does anyone think that this page is maybe a little ironic?
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
The guy should be careful. The Microsoft FrontPage 2000 license forbids you from disparaging Microsoft, MSN, Expedia, [blah, blah, blah] or any of their products or services. Don't want to get secretly arrested at midnight or anything like that.
I believe this was covered on Slashdot previously, and other places as well, but I have not yet fully mastered the sophisticated skills necessary to use Google. And I'm lazy.
Someone going on about microsoft, and using microsoft products to do so?
Agreed. This is outrageous. There should be a law or something. You should not be able to use a company's products to disparage that company. Better yet, you should not be able to disparage a company if you have ever merely heard of that company before. Especially if the things you say are mere facts that are embarrasing. Yeah, that's it! Write your congresscritters! Maybe they can get it introduced this session.
I`m sure most of the posts here slagging off microsoft are performed using internet explorer.
Maybe it is a testament to the power and control that Microsoft has.
thats because most of the posters here are major league assholes.
After seeing your post, I would have to agree that this remark has an element of truth to it.
You do realize that a) the case that made that point is no longer good law (it's been overtaken by Brandenberg), and b) was making a point about speech that very directly and unusually threatened people's lives, as opposed to be being a mere nuisance.
I see the light. The whole purpose of free speech and free assembly is to ensure that some people could harass other people. Especially as new technology emerges.
If junk faxes, telemarketing and door to door con men can be stopped, so can spam.
I simply disagree, as do most people, that this has anything to do with restricting free speech. Spammers are perfectly free to exercise their right to free speech. They can't make me listen. And they cannot do it at my expense.
Yes, the easy part is getting the look right, natively or otherwise.
But the feel is an entirely different can of worms.
You make a very good point.
Some applications simply don't care. If they look "mostly" native, great. So for those, everything is just fine.
For others, the programmer must go to extra effort.
I can see a couple approaches. Maybe they are actually endpoints of a spectrum?
Architect your program as a front-end and back-end. (Mathematica?) Your model and document classes represent the entire model state of the document, including current "undo" levels, etc. But nothing visual. A seperate "front-end" set of code visualizes the document/model state and sends messages to it to affect changes. MVC or as I do it: Model and ViewController. I actually divide the back end into a Model that generates ModelState objects. The Document has an undoStack that keeps previous ModelState objects generated by the Model. When a change is made, the Model generates a new ModelState object. Several ModelState objects may share significant data structure. (Isn't garbage collection wonderful?) For instance, a 3D modelling program's ModelStates might share a huge amount of data, except for the object, and its parents which were changed. A "Photoshop" application's ModelStates might point to a new huge set of pixels in the now-larger tempfile.
The Model also keeps the UI informed of which actions are appropriate on the current ModelState. (For instance, since nothing is selected, some commands should be disabled. Or the selection doesn't permit certian operations at present. The back-end doesn't care weather the Copy command is presented as an Edit->Copy menu choice, or as a toolbar button, or both, or something else. But the UI can keep the enabled/disabled state of the Copy command synched with what the back-end says.
Using this approach I can build multiple front-end UI's onto the back end. Different UI's can visualize the ModelState in different ways. Multiple UI implementations could share a lot of code that draws the model to the screen. The UI itself has ViewStates. Multiple ViewStates might be in an "undo" stack so that you could undo a ViewState change, such as Zoom 500%, which didn't actually change the back end model any, but did affect how it appeared on screen. The two ViewStates could both be pointing to the same ModelState object. The UndoCommand goes back to the most recent ViewState. (The ViewState changes whenever the back end offers up a new ModelState.) Therefore "undo" becomes very easy to implement. You could even save undo states into the document if desired, or if the user so elects under Tools->Options, or is it Edit->Preferences? Which brings us back to...
A second implementation approach is to have one front end UI, but have it programmed to adapt to the platform. Not only do you set a pluggable look and feel during startup, but you also customize things such as shortcut keys, where the menu bar appears, and the how dialog boxes appear. I might be more likely to adopt this approach, unless one platform called for a very different UI. I've only implemented one UI for my application.
These two approaches might be a spectrum rather than just two endpoints.
Still, by using an architecture, as I describe above, which I have actually implemented (in a yet-to-be-distributed program that I will undoubtedly open source), you have the flexibility to use the back end with different front-end's. I could build a web based interface to my application. Or an MDI application. Something that is a floating properties window could become a modal dialog box, or a tab panel on the main window. Multiple different visualizations of the same ModelState could be presented.
As a long, long time Mac user and one time advocate, I would say that Apple's implementation of Java on Mac (MRJ) was never really that good. On a typical Mac of a few years back, with 144 MB RAM, back when that was a LOT (!), MRJ was just plain bad at running any reasonably sized swing application. It really begged for a better underlying OS with true virtual memory and other services, which Mac OS X is. I have run some big Swing applications, a few times, on OS X, and can say that I was impressed.
Unrelated, I no longer use Mac very much.
This has been exactly my experience.
:-)
Swing is a hog.
Swing allows the developer to work at an extremely abstract high level. Platform neutral. Any modern PC bought within the last couple years is more than capable of running Swing programs very comfortably. I say this based on experience. I run several Swing based "hog" programs. Notably, NetBeans. XNap. My own program, which will probably be open source at some point, when I'm ready to actually give it to anyone.
Swing is very high level. No absolute positioning. Powerful layout managers allow you to design your forms where everything is relative to everything else, yet you have control of what widgets expand and contract as the window is resized. This also gets you the ultimate platform neutrality. Now matter how swing is implemented, even if a swing pluggable UI is implemented using native widgets. High level in other ways as well. MVC. Actions. Multiple visual representations tied to a single action that can update the state of numerous controls. (i.e. a menu item, a button, and a toolbar item might all be tied to the "undo" action.) A powerful "accessibility" interface.
I very much have the attitude about Swing that I had about the Lisa in 1983. Computers should make me more productive -- how many megabytes and megahertz it takes be damned. A year later, 1984, the Mac was a pleasant surprise. Computers today are vastly more powerful, and moreso every day.
So I ask the question, how soon before nobody gives a darn about Swing being a hog? If you think that execution efficiency for the computer is paramount, then you are hypocritical if you program in anything but assembly language. Yet, the assembly vs. high-level language debate pretty much ended by the mid 70's. (I watched it, I know.) As computers become more powerful, programmers and lusers alike naturally gravitate towards less (computer) efficient, but more (human) efficient tools. Just as stone knives gave way to refrigerated meat in the grocery store. We've come a long way. (despite Microsoft
Swing might be cross platform, but it isn't native look-and-feel
Swing has pluggable look and feel. Windows and Mac OS X programs in Swing sure look like native widgets to me. That is, they visually look native, although the implementation might not be, but could be.
but it isn't native look-and-feel, which the original poster suggested the topic of discussion was.
Then we better not have any discussion of GTK here. (Not a flame. Just an observation that GTK apps on Windows look anything but native.)
Disabling the electronics might not be completely safe.
The direct effects of the weapon itself are completely safe. That is the point of the claim. The weapon won't hurt you -- directly.
There could be indirect effects. It could do something unprecedented, such as causing Windows to crash.
Takeaway points:
- Junk FAXes ARE regulated -- constitutionally
- Telemarketers are regulated -- constitutionally
- Billboards are regulated -- constitutionally
- Door to door solicitation is regulated -- constitutionally
- Similarly, junk e-mail can be regulated -- constitutionally
One is free to exercise one's free speech rights at their own expense. Spam is at my expense. If you have a message, commercial, political, whatever, you are free to advertise it on TV, put up a billboard, on the side of a bus, etc. You can stand on the street corner and hand out flyers, put them in store front windows (with owner's permission). Or wonder or wonders, create a web site!The DMA must think it is a shame that the writers of the constitution did not see fit to impose a duty on everyone to actually have to listen to your free speech. Indeed the purpose of free speech is to make sure the government cannot suppress political discussion that it might not like.
Just an aside: Banning forged e-mail and e-mail served through open relays is not a free speech issue. But I'm primarily focusing on a non-existant, hypothetical kind of spam from a known sender, not sent by illegal means (computer intrusion).
Similar to shouting fire in a theatre, nobody has the free speech right to stand up and start shouting their advertising message in a theatre either. That's the rub, their rights end where my rights begin. Ultimately this is what the governed want.
As for door to door solicitation, it seems that I can legally put a No Solicitors sign on my door and legally have a cause of action against any solicitors.
Perhaps a standardized, simple "No Solicitors" header added to the initial SMTP handshake should be legally recognized to give you a cause of action to recover monetary costs plus punitive damages. A less ideal, but equally effective solution would be to simply require spam to be flagged as such, with a criminial penalty attached. The latter idea would still cost me my bandwidth, plus the cost of supporting all of the bandwidth in the infrastructure, but it would have the same effect of completely eliminating spam. (Why? Because everyone would universally filter it, making it unprofitable.)
It would be safer for you if a careless pedestrian collided with you than if you were on a segway.
But on the other hand, we want users to believe messages like this...
So how should the stupid users know which messages to believe? Next, we'll hear the end users saying, "If it sounds too good to be true, then use WinXP."