I'd wager the profits are greater than the loss the content producers face, and are of net benefit to the global economy.
The problem is that if everybody pirate, the musician gets no money, starves to death, and stops playing.... Or just stops playing because it can't be their day job;)
The report [precursorblog.com] makes a wild-ass-guess that Google pays $344M for its bandwidth, and that since (allegedly) 16.5% of a user's broadband bandwidth is for Google content, and consumers pay $44 billion for broadband in the US, Google is cheating "taxpayers" (WTF?) out of $6.9 billion.
So if I get really popular and pay $344M for my telephony services, "taxpayers" pay $44 billion for theirs and they call me 16.5% of their time, am I cheating them out of something that was theirs?
Point being: someone has an idea about how the Internet pricing structure should be that doesn't match reality. They're entitled to their opinion. I'm entitled to say it's wrong;)
And teh horrors! American tax payers are subsidizing Europeans, Asians, Africans and other nice people visiting Google. We're totally ripping you off.
(On the other hand, we are surfing long distance...)
You are more likely to get better performance and stability out of Java's virtual machines just because they've had more time to be beat up by a vast community of developers.
Vast community? From anything developed by Sun? I guess there's really news on/.:)
I imagine the differences in modern pc architecture and the modern xbox actually make porting a game quite difficult if it is not written on a common platform that runs on all systems
Such as C++?
Here's a quick-and-dirty proof: debian has tons of stuff written in C++, and it runs on $BIGNUM architectures. I don't write fetch_to_L1_cache() or kill_instruction_pipeline() calls in my code.
Sure, you can add inline assembly, but you can also ifdef it out and write replacement C++ on incompatible archs.
For instance, the Debian distro is available via bit torrent. No sane person, downloads the latest Debian.torrent posted by 1337_KeRNeL_haxor on the pirate bay. They get it from debian.com or some other trusted site.
Have a look at debtorrent (or apt-p2p)...
You're right that you need centralized servers for signatures, and a backup seed if no one else seeds. But other than that, it's safe to grab binaries from just about anyone.
Unless you think that either the crypto doesn't work, or it's been misapplied. In that case, the trust you need if you download from a centralized server is that there are no men in the middle.
"imposing someone else's subjective moral values on the general populace."
Regulating markets will in some cases (when done right of course) increase societal wealth. Most notably when you're dealing with monopolies; but also in some other situation.
I recall seeing an economic game (as in game theory) regarding the construction of and packet-routing on interconnected networks. If you let players behave individually rationally, the public gets less benefit than if the regulatory iron fist of government steps in.
I think "we should make humanity richer" is a subjective moral value. I also think very little of those who oppose that goal, or want to pursue its negation. And I'm all in favor of having it imposed on me if I get to reap the benefits of it being imposed on others.
This is of course all under the highly debatable assumption that overall, the government does well.
I think governments can do well; I live in Denmark where I get my ass taxed off in return for free health service, free education, free welfare money while I'm taking the education, free libraries, free cellular telephony*, and the happiest people on the planet.
* For low monthly usage; it's not even provided by the government but the (frigging) market. Yes, the market is regulated, but the government hasn't set the price to zero.
However I really can't see any reason for the first interpretation, it looks to me that it is unambiguously the second one.
Maybe I overspoke. It's possible that one can write an unambiguous grammar that captures the rules one wants. But I think maybe it's going to be hard (or impossible) writing a LALR(1) grammar.
And there's an interesting third tree I missed: f(x, g)(y).
And "f x, g y, h z, i w, j v" is _really_ interesting. Is it "(f(x), g(y),...)", or "f(x, g(y, h(...", or "f(x, g)(y, h)(z, i)(w, j)(v)", or....
Somebody else pointed out that the Python shell could do this without changing Python internals at all and most people would be happy.
You'd have to maintain two different grammars, and you'd have to know that one is a subset of the other. I don't know about the python internals enough to predict how far out the different grammars would ripple.
Why not make print a function, but then change the language to not require parentheses for any function call?
A good argument is that it would make the grammar ambiguous.
What's the parse tree of "f x, g y"? I think it can be both (tuple (f x) (g y)) and (f x (g y)).
One could of course detect and disallow ambiguous strings, at the expense of the parser having to do a little more work. It may be a little, or it may be a lot....
If you want to run a layer of compression and then one of encryption before hitting the NILFS backend, would you then need to use two instances of CONSFS?
In my experience, those who started off learning theory, then learned how to apply that theory in practical situations, are far better programmers than those who are taught "practical" languages.
Amen!
More important that learning how to implement Fibonacci heaps or IO-efficient merge sorts, my advanced algorithms course taught me by having me go through the motions that theoretically fast sometimes is and sometimes isn't practically fast, and that I always need to measure.
The practical application? Synergy2 has a function that is given some axis-parallel rectangles in the plane and tries to find an intersection between any two. The code says "for... for...// XXX O(n^2)". I've implemented an O(n log n) line-sweeping algorithm, but not even for insanely big n and insanely small rectangles could I make the line-sweeping algorithm go faster. The rectangles correspond to your screens, so n < 1000 seems like a good assumption.
Synergy will probably get the following diff s/XXX O(n^2)/This is O(n^2). You can't do it faster. There an O(n log n) algorithm which is slower even for big n. Please try, though;)/ instead of a diff that
slows it down
increases the amount of code; and
decreases the obvious correctness of the algorithm
Being gone through the motions: good thing.
If you're curious about the line-sweeping, here it is:
segs = sorted(line segments, by y top-to-bottom)
active = {}
for each line segment SEG in segs:
if SEG is at the bottom of a rectangle: active.remove(SEG.[x_s..x_e])
else if active contains an interval overlapping with SEG.[x_s..x_e]: return "overlap"
But if the solution involves something that has no equivalent in the day-to-day world, how are you going to conceptualize it?
That's actually not that big of a problem. You just talk about the system it terms of the system instead of the analogy.
What's worse is the other way: when you conclude something in the analogy that doesn't hold true in the system.
You may know BlueJ. If you don't: it's a text editor with a compile-java button (somehow the acronym doesn't come out I D E...). It also has an "Object workbench", where you can create objects and invoke methods on them, similar to the python interpreter (or irb, or in a limited sense gdb) except with a GUI. Objects show up as little red boxes with rounded corners and a menu listing their methods.
Around three weeks into introductory programming (I TA'ed it), you come to the point where you're writing "foo = new Foo();" in your code. That's when I discovered how interlocked the concept of an object had become to the stimulus of a red box in the mind of my students. "But when I write `new', there's no red box; where's the red box? How do I call stuff on it if there's no red box?"
It was a horror to watch. Not that I blame the students of course; they were third-year math-econ students, the course was mandatory and they worked hard to earn a well-deserved passing grade.
I still don't understand the decision to try to wrap programming into something "easy-to-grasp" that you have to break out of straight away.
My pet peeve, that descends from this same idea, is from the teaching of object orientation.
Tell me about it. Especially when "objects as a model of real-world things" is stressed and stretched. I'm always thinking to myself "so what does struct tcphdr { u32 seqno; u32 ackno;...} model?" and I have yet to come up with a satisfying answer. The electrons on the wire? The electrons in RAM? What properties of them are you modeling? What meaning do these electrons have other than that imposed on them by the RFC?
First of all, the traffic a web site gets from Google's spider is dwarfed by the the traffic it gets from other legit users.
Fixed that for you.
I'd wager the profits are greater than the loss the content producers face, and are of net benefit to the global economy.
The problem is that if everybody pirate, the musician gets no money, starves to death, and stops playing. ... Or just stops playing because it can't be their day job ;)
The report [precursorblog.com] makes a wild-ass-guess that Google pays $344M for its bandwidth, and that since (allegedly) 16.5% of a user's broadband bandwidth is for Google content, and consumers pay $44 billion for broadband in the US, Google is cheating "taxpayers" (WTF?) out of $6.9 billion.
So if I get really popular and pay $344M for my telephony services, "taxpayers" pay $44 billion for theirs and they call me 16.5% of their time, am I cheating them out of something that was theirs?
Point being: someone has an idea about how the Internet pricing structure should be that doesn't match reality. They're entitled to their opinion. I'm entitled to say it's wrong ;)
And teh horrors! American tax payers are subsidizing Europeans, Asians, Africans and other nice people visiting Google. We're totally ripping you off.
(On the other hand, we are surfing long distance...)
See if you get the same problem when accessing through tor. If you don't, it's probably your ISP fucking your over.
If you don't, your ISP is probably still fucking you over :(
You are more likely to get better performance and stability out of Java's virtual machines just because they've had more time to be beat up by a vast community of developers.
Vast community? From anything developed by Sun? I guess there's really news on /. :)
Using Java avoids most of the nastiness of Linux while preserving a solid code base.
Using C avoids most of the nastiness of Java while preserving a solid Linux base :)
We had on average 4 bugs a week due to the indentation bullshit
I want to avoid your products.
I want to avoid working there. The coders must be pretty incompetent. And since they're there, so must the management.
The problem is that it means ALL request have to go through a proxy to be tested, whether they are on the blacklist or not.
So the Aussie government requires that everyone with an AS number drops packets targeted by the blacklist, done deal.
Every request has to go through a proxy, but it doesn't have to be the same proxy.
I imagine the differences in modern pc architecture and the modern xbox actually make porting a game quite difficult if it is not written on a common platform that runs on all systems
Such as C++?
Here's a quick-and-dirty proof: debian has tons of stuff written in C++, and it runs on $BIGNUM architectures. I don't write fetch_to_L1_cache() or kill_instruction_pipeline() calls in my code.
Sure, you can add inline assembly, but you can also ifdef it out and write replacement C++ on incompatible archs.
vertical bars instead of proper > quote indicators
Yeah, I really hate those!
For instance, the Debian distro is available via bit torrent. No sane person, downloads the latest Debian .torrent posted by 1337_KeRNeL_haxor on the pirate bay. They get it from debian.com or some other trusted site.
Have a look at debtorrent (or apt-p2p)...
You're right that you need centralized servers for signatures, and a backup seed if no one else seeds. But other than that, it's safe to grab binaries from just about anyone.
Unless you think that either the crypto doesn't work, or it's been misapplied. In that case, the trust you need if you download from a centralized server is that there are no men in the middle.
"imposing someone else's subjective moral values on the general populace."
Regulating markets will in some cases (when done right of course) increase societal wealth. Most notably when you're dealing with monopolies; but also in some other situation.
I recall seeing an economic game (as in game theory) regarding the construction of and packet-routing on interconnected networks. If you let players behave individually rationally, the public gets less benefit than if the regulatory iron fist of government steps in.
I think "we should make humanity richer" is a subjective moral value. I also think very little of those who oppose that goal, or want to pursue its negation. And I'm all in favor of having it imposed on me if I get to reap the benefits of it being imposed on others.
This is of course all under the highly debatable assumption that overall, the government does well.
I think governments can do well; I live in Denmark where I get my ass taxed off in return for free health service, free education, free welfare money while I'm taking the education, free libraries, free cellular telephony*, and the happiest people on the planet.
* For low monthly usage; it's not even provided by the government but the (frigging) market. Yes, the market is regulated, but the government hasn't set the price to zero.
On topic: Berlusconi seems he'd like now to create a UNIQUE ID for every net citizen so that they'd be univocally identified on the Internet.
And the populace is all singing and screaming "No" with a single voice?
However I really can't see any reason for the first interpretation, it looks to me that it is unambiguously the second one.
Maybe I overspoke. It's possible that one can write an unambiguous grammar that captures the rules one wants. But I think maybe it's going to be hard (or impossible) writing a LALR(1) grammar.
And there's an interesting third tree I missed: f(x, g)(y).
And "f x, g y, h z, i w, j v" is _really_ interesting. Is it "(f(x), g(y), ...)", or "f(x, g(y, h(...", or "f(x, g)(y, h)(z, i)(w, j)(v)", or ....
Somebody else pointed out that the Python shell could do this without changing Python internals at all and most people would be happy.
You'd have to maintain two different grammars, and you'd have to know that one is a subset of the other. I don't know about the python internals enough to predict how far out the different grammars would ripple.
Why not make print a function, but then change the language to not require parentheses for any function call?
A good argument is that it would make the grammar ambiguous.
What's the parse tree of "f x, g y"? I think it can be both (tuple (f x) (g y)) and (f x (g y)).
One could of course detect and disallow ambiguous strings, at the expense of the parser having to do a little more work. It may be a little, or it may be a lot. ...
I heard they're going to use Python 3.0 for the impending from-scratch rewrite of DNF.
Try out different filesystems, NILFS
If you want to run a layer of compression and then one of encryption before hitting the NILFS backend, would you then need to use two instances of CONSFS?
The appendix is actually quite useful as spare tissue
It's where you put the things that wouldn't fit the main body of the text?
"Look!"
"It's just a text wound"
I'm gonna get rich when I invent a machine that lets you cut someone's arm off over the internet.
Both sides are so entrenched in groupthink it's incredible that the government can get anything done at all.
Who would have thinked it: that a two-party system leads to a greater concentration of an us-or-them, with-us-or-against-us mentality?
ICANNhas.cheezburger?
Only on www.lol.cat ;)
(http://en.wikipedia.org/wiki/GTLD) .mobe was created at the same time as .cat, .jobs, .post, .tel, and .travel.
imagine owning www.steve.jobs. I vote for a .koelker gTLD ;)
On a less serious note, imagine www.lol.cat...
In my experience, those who started off learning theory, then learned how to apply that theory in practical situations, are far better programmers than those who are taught "practical" languages.
Amen!
More important that learning how to implement Fibonacci heaps or IO-efficient merge sorts, my advanced algorithms course taught me by having me go through the motions that theoretically fast sometimes is and sometimes isn't practically fast, and that I always need to measure.
The practical application? Synergy2 has a function that is given some axis-parallel rectangles in the plane and tries to find an intersection between any two. The code says "for ... for ... // XXX O(n^2)". I've implemented an O(n log n) line-sweeping algorithm, but not even for insanely big n and insanely small rectangles could I make the line-sweeping algorithm go faster. The rectangles correspond to your screens, so n < 1000 seems like a good assumption.
Synergy will probably get the following diff s/XXX O(n^2)/This is O(n^2). You can't do it faster. There an O(n log n) algorithm which is slower even for big n. Please try, though ;)/ instead of a diff that
Being gone through the motions: good thing.
If you're curious about the line-sweeping, here it is:
But if the solution involves something that has no equivalent in the day-to-day world, how are you going to conceptualize it?
That's actually not that big of a problem. You just talk about the system it terms of the system instead of the analogy.
What's worse is the other way: when you conclude something in the analogy that doesn't hold true in the system.
You may know BlueJ. If you don't: it's a text editor with a compile-java button (somehow the acronym doesn't come out I D E...). It also has an "Object workbench", where you can create objects and invoke methods on them, similar to the python interpreter (or irb, or in a limited sense gdb) except with a GUI. Objects show up as little red boxes with rounded corners and a menu listing their methods.
Around three weeks into introductory programming (I TA'ed it), you come to the point where you're writing "foo = new Foo();" in your code. That's when I discovered how interlocked the concept of an object had become to the stimulus of a red box in the mind of my students. "But when I write `new', there's no red box; where's the red box? How do I call stuff on it if there's no red box?"
It was a horror to watch. Not that I blame the students of course; they were third-year math-econ students, the course was mandatory and they worked hard to earn a well-deserved passing grade.
I still don't understand the decision to try to wrap programming into something "easy-to-grasp" that you have to break out of straight away.
My pet peeve, that descends from this same idea, is from the teaching of object orientation.
Tell me about it. Especially when "objects as a model of real-world things" is stressed and stretched. I'm always thinking to myself "so what does struct tcphdr { u32 seqno; u32 ackno; ...} model?" and I have yet to come up with a satisfying answer. The electrons on the wire? The electrons in RAM? What properties of them are you modeling? What meaning do these electrons have other than that imposed on them by the RFC?