1. A law is passed, and now any project funded to any extent by public money is required to be released to the public (excepting classified work, blah blah blah).
2. Millions of corporate sponsors withdraw their aid from academia, since they can't get any money out of it, and instead fund their private research labs.
3. Thousands of universities file for bankruptcy for lack of funding.
Some compromise would be needed. Every project will very likely require an open-source component, and a commercial component. You can't just work the public funding like a loan, and say that if you want to sell the software, fine, but the first profits go toward paying off the loan. That fixes the money problem, but of course there's still the issue of who controls the intellectual property.
I started reading this article with my mind pretty much made up at first: if the public paid for it, the public should have it. Then I started reading the article, and little issues starting popping up all over.
Say I'm a CS grad student at some university. In the process of getting my degree I end up writing a great deal of code. Some of it's written on my home computer. Some is written on university mainframes. A little is borrowed from open source. A few tools are paid for, but aren't intrinsically part of the final package.
I get the degree, and now it's time to make money. Only now do I realize my predicament. I can't sell that code because it was written partially on university money, partially on my tuition. I can't even reuse the idea, because the idea was also developed partly with public money. Is my shiny new diploma worth it?
You could say it is, because I ought to be quite marketable to BigCos. But what if I don't want to work for a BigCo? What if I want to start my own business? Should I be able to leverage some of that I wrote in college, considering how much I paid in tuition, home computer time, and other out-of-pocket expenses?
I could build even more upon the idea, and in fact I'm in a prime position to do so because I'm now one of the foremost specialists in that area, except that it would be very expensive. I'd likely have to seek outside funding, which means giving up some of the rights. Which in turn means seeking legal expertise, which means even more money. I suppose starting a restaurant requires every bit as much investment, so maybe it's okay. But damn, it sure seems like more work than it ought to be.
One more issue. What if I know all this before I write a single line of code? What effect will this have? Will the typical student hold his cards close, doing only part of the project on public money, and save the real juicy stuff for when it's time to make a profit? Maybe that's the way to go.
While I absolutely despise the approach Microsoft takes toward software development, I can safely say they won't ever get "absolute control" over it. Yeah, they're big, they're rich, they're formidable, but they're also bumbling and very error-prone, as we all know from leaked e-mails, virus reports, etc.
The worst thing I see happening is a sort of class society, with Microsoft developing code for its circle of businesses, and everybody else in a sort of underground. Black market code, if you will. I very seriously doubt that things will come to, say, Microsoft getting the USGovt to pass a law forbidding software development by unlicensed, uncertified developers, and then fixing the game so only Microsoft developers can be easily certified.
You don't actually lose mass in burning something.
Indeed. In a way, you actually gain mass, in that whatever you're burning is chemically bonded to oxygen drawn from the environment. (cf: phlogiston)
Nuclear energy causes a small mass loss. As well as the sun does. If you could turn atoms straight into their energy equivalent. You would have a lot of energy. E=MC^2 1 gram of matter turned into energy would yield 1*(3*10^8)^2=30000000000000000. I believe that measure is in Joules, anyone care to correct me on that?
Using your units, 1g*(3*10^8m/s)^2 = 3*10^16 gm^2/s^2, or 3*10^20 g*cm^2/s^2. An erg is 1 gcm^2/s^2. A joule is 10^7 ergs. So you just produced 3*10^13 joules. If you could do this once per second, you'd be generating 30 trillion watts (assuming I didn't make a mistake).
A number of posters here are claiming that the average compression ratio for data is 1:1. Just so you all know, that limit is correct, and is a hard limit set by logic. Here's the simple proof:
Lossless compression is essentially a 1-to-1 mapping between one sequence of bits and another sequence of bits. It has to be 1-1 in order for it to be lossless. QED.:-)
The trick is to take more "common" bit sequences and map them to smaller ones, of course. The downside is that the sequence you're mapping to also has to map to something. Typically you map it to something larger - basically, you're compressing an already-compressed sequence. For every sequence you can compress, there's another that must expand, generally speaking.
Naturally, if you don't mind a little dirt in the original, you can get away with a better ratio. JPEG is an example of this. The dirt amounts to minute differences in a photograph, which is fine for many purposes.
To be clearer, Nater is describing a classic factoring algorithm that runs in O(sqrt(n)) in the size of the number. The tricker and more interesting question is whether there's an algorithm that is O(n) where n is the number of bits in the number to be factored.
Suppose n=128. Then the classic algorithm requires sqrt(2^128) steps, or 2^64. In general, the classic algorithm runs in O(2^(n/2)) in the number of bits, which is equivalent to O(2^n).
In conclusion, the classic algorithm is better than linear-time in the size of the number, and exponential-time in the number of bits in the number.
If you have access to a lot of memory and a lot of time for pre-computation, you can do even better than this, of course. Rather than divide by all integers up to the square root of x, you can divide only by 2, and then by all the odd integers. Better still, you can divide only by all the prime integers up to the square root. However, this requires you to keep a list of them. I don't believe there's any list of all prime numbers up to 2^64, for example. It would be several gigabytes, if not terabytes, I imagine, and would take a long time to compile.
You could use this algorithm to grow that list, and this would take no longer than n-squared time to make a list of all primes less than n. Even so, that's a huge number. In general that's what makes the factorization problem useful in encryption, even though there's a better-than-linear-time solution to break any particular key; the key is friggin' huge.
Peter Jackson's always been a bit of a favorite of mine, and I was glad to see him involved in LoTR, though I was surprised to see him as director. This is a huge project for someone who's done as few films as Jackson has.
Even so, I loved his work in The Frighteners, and Bad Taste, for that matter. It's a funny film, as much for its amateurishness as for anything else. The rocket was my favorite part!
How in the heck would you transmit data to Earth from an observatory on the far side of the Moon? A selenosynchronous orbit obviously wouldn't work. Probably the best way would be to set up a series of repeaters on the moon's surface going out to the far-near line, but you're talking about a lot of repeaters.
Granted, such a set-up would be pretty cool to have. However, we could plan such a mission any time we like. A Pluto mission has to happen now, or else it won't happen for another 600 years. (Or more likely, we'll be sending actual people there by then.)
I agree with Golias from another thread; Robert and Wil were excellent, but Levar was the man. I'm pretty sure he had a perfect record in the first three rounds. He went 4-1 on the head-to-head (how many notes minimum make a chord). I'm pretty sure he got one wrong in Round 7 (which is to be expected, given that you have something like eight tough questions to answer). And maybe one or two wrong before that. He did miss "10 squared", which I can only guess is him mishearing the question(??). The only reason he wasn't cited as strongest link was because Robert, Wil, Denise, and Armin were also often giving perfect answering records, and were also banking.
Judging from Round 6, if I were in Wil's place, I would've voted for Robert too, simply because I can't vote for myself, and there's no way I'm voting for Levar. I'd figure on Levar voting for me, and then either Robert (who I don't know as well, though he went up several notches in my book as of last night) either votes for me and I'm off, or he votes for Levar, and Levar gets to cast the deciding vote.
Wil, you did great all game, but you seemed to tank Round 6 and knew it, and IMO you did the honorable thing... and in the meantime, damn, y'all really ran it up. I loved the whistles coming from the audience at the end of Round 7. (I missed what Levar and Robert were saying to each other there; anyone?)
In general, I'd say the block of Wil, Levar, and Robert was the main force behind that record prize, with Denise, Roxanne, and Armin right there with the bank, not to mention starting a few good chains of their own. Let's hear it for Trek...
I know someone who doesn't write very readable code. I've seen some of the plain text he writes as well. I cringe to think of what his code would look like with three lines of text for each line of code.
This is the same guy who made it company policy to put a lengthy comment before every subroutine we write, documenting every single thing it does, and then writes crappy documentation.
I will say that there are times when a 3:1 comment:code ratio is called for. But mind the above, and Be Careful What You Wish For.
The choice is never that simple. It's more like this: you have the choice of doing A, B, C, or D. All four could possibly cause damage. We don't know the chance that each will cause damage. We don't know exactly how much damage will be done. We can find out, but the effort to find out could also possibly cause damage, and will take at least fifty years. Until then, we still have to do A, B, C, or D.
...ternary computing is harder to do than binary, unary computing should be trivially easy.
Think of it. We'd have, uh, uits. Or maybe its. We'd all have to remember 1 to various powers. We wouldn't need stoopid transistors, just wires to carry a single signal. This is looking better and better!!
There's no way Wil's read all of Asimov. Asimov wrote about a billion stories. ASIMOV hasn't read all of Asimov.
(Seriously. I think someone went up to Asimov with a list of story titles as a test, and asked him which title was to one of his; he got it wrong. Or something like that.)
Are you implying that a Martian colony would have nothing but male scientists? My idea of a colony would have bona-fide colonists. People moving out there in the equivalent of Conestoga wagons, with the intent of living on Mars, raising food, opening stores, mining, etc. Not to mention bringing over Terran wildlife, in the likely event that we find none there.
"But to colonise it? Give me just one reason to justify such an incredibly expensive task."
Because one good-sized rock could hit the Earth, and that's it for humanity.
A self-sustaining settlement on another planet (or in space, though that's MUCH harder) gives the species the best chance to survive such an impact. Otherwise, it's up to mutant octopi to figure out how to get off the planet within 65 million years.
Then you figure out how to re-settle one planet from the other in the event of an impact. After that, you have a nice long 5-billion year stretch to figure out how to colonize another star system.
Terraforming the Sahara might be good practice, though.
1. A law is passed, and now any project funded to any extent by public money is required to be released to the public (excepting classified work, blah blah blah).
2. Millions of corporate sponsors withdraw their aid from academia, since they can't get any money out of it, and instead fund their private research labs.
3. Thousands of universities file for bankruptcy for lack of funding.
Some compromise would be needed. Every project will very likely require an open-source component, and a commercial component. You can't just work the public funding like a loan, and say that if you want to sell the software, fine, but the first profits go toward paying off the loan. That fixes the money problem, but of course there's still the issue of who controls the intellectual property.
I started reading this article with my mind pretty much made up at first: if the public paid for it, the public should have it. Then I started reading the article, and little issues starting popping up all over.
Say I'm a CS grad student at some university. In the process of getting my degree I end up writing a great deal of code. Some of it's written on my home computer. Some is written on university mainframes. A little is borrowed from open source. A few tools are paid for, but aren't intrinsically part of the final package.
I get the degree, and now it's time to make money. Only now do I realize my predicament. I can't sell that code because it was written partially on university money, partially on my tuition. I can't even reuse the idea, because the idea was also developed partly with public money. Is my shiny new diploma worth it?
You could say it is, because I ought to be quite marketable to BigCos. But what if I don't want to work for a BigCo? What if I want to start my own business? Should I be able to leverage some of that I wrote in college, considering how much I paid in tuition, home computer time, and other out-of-pocket expenses?
I could build even more upon the idea, and in fact I'm in a prime position to do so because I'm now one of the foremost specialists in that area, except that it would be very expensive. I'd likely have to seek outside funding, which means giving up some of the rights. Which in turn means seeking legal expertise, which means even more money. I suppose starting a restaurant requires every bit as much investment, so maybe it's okay. But damn, it sure seems like more work than it ought to be.
One more issue. What if I know all this before I write a single line of code? What effect will this have? Will the typical student hold his cards close, doing only part of the project on public money, and save the real juicy stuff for when it's time to make a profit? Maybe that's the way to go.
While I absolutely despise the approach Microsoft takes toward software development, I can safely say they won't ever get "absolute control" over it. Yeah, they're big, they're rich, they're formidable, but they're also bumbling and very error-prone, as we all know from leaked e-mails, virus reports, etc.
The worst thing I see happening is a sort of class society, with Microsoft developing code for its circle of businesses, and everybody else in a sort of underground. Black market code, if you will. I very seriously doubt that things will come to, say, Microsoft getting the USGovt to pass a law forbidding software development by unlicensed, uncertified developers, and then fixing the game so only Microsoft developers can be easily certified.
No thats chemical energy.
Correct.
You don't actually lose mass in burning something.
Indeed. In a way, you actually gain mass, in that whatever you're burning is chemically bonded to oxygen drawn from the environment. (cf: phlogiston)
Nuclear energy causes a small mass loss. As well as the sun does. If you could turn atoms straight into their energy equivalent. You would have a lot of energy. E=MC^2 1 gram of matter turned into energy would yield 1*(3*10^8)^2=30000000000000000. I believe that measure is in Joules, anyone care to correct me on that?
Using your units, 1g*(3*10^8m/s)^2 = 3*10^16 gm^2/s^2, or 3*10^20 g*cm^2/s^2. An erg is 1 gcm^2/s^2. A joule is 10^7 ergs. So you just produced 3*10^13 joules. If you could do this once per second, you'd be generating 30 trillion watts (assuming I didn't make a mistake).
If you don't drive, you're a terrorist, right?
Actually, it's the other way around.
A number of posters here are claiming that the average compression ratio for data is 1:1. Just so you all know, that limit is correct, and is a hard limit set by logic. Here's the simple proof:
:-)
Lossless compression is essentially a 1-to-1 mapping between one sequence of bits and another sequence of bits. It has to be 1-1 in order for it to be lossless. QED.
The trick is to take more "common" bit sequences and map them to smaller ones, of course. The downside is that the sequence you're mapping to also has to map to something. Typically you map it to something larger - basically, you're compressing an already-compressed sequence. For every sequence you can compress, there's another that must expand, generally speaking.
Naturally, if you don't mind a little dirt in the original, you can get away with a better ratio. JPEG is an example of this. The dirt amounts to minute differences in a photograph, which is fine for many purposes.
"A near miss would be a hit, wouldn't it?"
Ahem. Easy on the wordsmith juice. A "near miss" is merely a miss which is nonetheless near.
Well, that should kill off any stragglers...
Read more Slashdot, then maybe you will understand a joke.
To be clearer, Nater is describing a classic factoring algorithm that runs in O(sqrt(n)) in the size of the number. The tricker and more interesting question is whether there's an algorithm that is O(n) where n is the number of bits in the number to be factored.
Suppose n =128. Then the classic algorithm requires sqrt(2^128) steps, or 2^64. In general, the classic algorithm runs in O(2^(n/2)) in the number of bits, which is equivalent to O(2^n).
In conclusion, the classic algorithm is better than linear-time in the size of the number, and exponential-time in the number of bits in the number.
If you have access to a lot of memory and a lot of time for pre-computation, you can do even better than this, of course. Rather than divide by all integers up to the square root of x, you can divide only by 2, and then by all the odd integers. Better still, you can divide only by all the prime integers up to the square root. However, this requires you to keep a list of them. I don't believe there's any list of all prime numbers up to 2^64, for example. It would be several gigabytes, if not terabytes, I imagine, and would take a long time to compile.
You could use this algorithm to grow that list, and this would take no longer than n-squared time to make a list of all primes less than n. Even so, that's a huge number. In general that's what makes the factorization problem useful in encryption, even though there's a better-than-linear-time solution to break any particular key; the key is friggin' huge.
Q: What's going over the Atlantic now?
A: Baywatch reruns.
Peter Jackson's always been a bit of a favorite of mine, and I was glad to see him involved in LoTR, though I was surprised to see him as director. This is a huge project for someone who's done as few films as Jackson has.
Even so, I loved his work in The Frighteners, and Bad Taste, for that matter. It's a funny film, as much for its amateurishness as for anything else. The rocket was my favorite part!
How in the heck would you transmit data to Earth from an observatory on the far side of the Moon? A selenosynchronous orbit obviously wouldn't work. Probably the best way would be to set up a series of repeaters on the moon's surface going out to the far-near line, but you're talking about a lot of repeaters.
Granted, such a set-up would be pretty cool to have. However, we could plan such a mission any time we like. A Pluto mission has to happen now, or else it won't happen for another 600 years. (Or more likely, we'll be sending actual people there by then.)
I agree with Golias from another thread; Robert and Wil were excellent, but Levar was the man. I'm pretty sure he had a perfect record in the first three rounds. He went 4-1 on the head-to-head (how many notes minimum make a chord). I'm pretty sure he got one wrong in Round 7 (which is to be expected, given that you have something like eight tough questions to answer). And maybe one or two wrong before that. He did miss "10 squared", which I can only guess is him mishearing the question(??). The only reason he wasn't cited as strongest link was because Robert, Wil, Denise, and Armin were also often giving perfect answering records, and were also banking.
Judging from Round 6, if I were in Wil's place, I would've voted for Robert too, simply because I can't vote for myself, and there's no way I'm voting for Levar. I'd figure on Levar voting for me, and then either Robert (who I don't know as well, though he went up several notches in my book as of last night) either votes for me and I'm off, or he votes for Levar, and Levar gets to cast the deciding vote.
Wil, you did great all game, but you seemed to tank Round 6 and knew it, and IMO you did the honorable thing... and in the meantime, damn, y'all really ran it up. I loved the whistles coming from the audience at the end of Round 7. (I missed what Levar and Robert were saying to each other there; anyone?)
In general, I'd say the block of Wil, Levar, and Robert was the main force behind that record prize, with Denise, Roxanne, and Armin right there with the bank, not to mention starting a few good chains of their own. Let's hear it for Trek...
I know someone who doesn't write very readable code. I've seen some of the plain text he writes as well. I cringe to think of what his code would look like with three lines of text for each line of code.
This is the same guy who made it company policy to put a lengthy comment before every subroutine we write, documenting every single thing it does, and then writes crappy documentation.
I will say that there are times when a 3:1 comment:code ratio is called for. But mind the above, and Be Careful What You Wish For.
The Tick, trying to keep something from being sucked into a black hole by grabbing it and pulling it, by hand, back into a spaceship:
"Must... defy... laws... of physics!"
The choice is never that simple. It's more like this: you have the choice of doing A, B, C, or D. All four could possibly cause damage. We don't know the chance that each will cause damage. We don't know exactly how much damage will be done. We can find out, but the effort to find out could also possibly cause damage, and will take at least fifty years. Until then, we still have to do A, B, C, or D.
...ternary computing is harder to do than binary, unary computing should be trivially easy.
Think of it. We'd have, uh, uits. Or maybe its. We'd all have to remember 1 to various powers. We wouldn't need stoopid transistors, just wires to carry a single signal. This is looking better and better!!
No, Wil Wheaton is not gay. You, however, are.
(And not in the good sense.)
There's no way Wil's read all of Asimov. Asimov wrote about a billion stories. ASIMOV hasn't read all of Asimov.
(Seriously. I think someone went up to Asimov with a list of story titles as a test, and asked him which title was to one of his; he got it wrong. Or something like that.)
I see Wil's posting as Anon Coward now. Cha-CHING!!
Are you implying that a Martian colony would have nothing but male scientists? My idea of a colony would have bona-fide colonists. People moving out there in the equivalent of Conestoga wagons, with the intent of living on Mars, raising food, opening stores, mining, etc. Not to mention bringing over Terran wildlife, in the likely event that we find none there.
"But to colonise it? Give me just one reason to justify such an incredibly expensive task."
Because one good-sized rock could hit the Earth, and that's it for humanity.
A self-sustaining settlement on another planet (or in space, though that's MUCH harder) gives the species the best chance to survive such an impact. Otherwise, it's up to mutant octopi to figure out how to get off the planet within 65 million years.
Then you figure out how to re-settle one planet from the other in the event of an impact. After that, you have a nice long 5-billion year stretch to figure out how to colonize another star system.
Terraforming the Sahara might be good practice, though.