We could always beam power from the ground to get the desired level of heating. I don't know of any zero pressure hot air balloons, but doesn't mean it couldn't be done.
Most hot air balloons are open from the below, so the hot air generated by the burner can enter the balloon. What I'm suggesting is letting Sun do the work.
I still wonder if my nitrogen-repulsing magnet bubble would work, too.
Why would it work? I didn't realize you were serious there.
Half-serious. It should work because most of atmosphere is nitrogen, and nitrogen is diamagnetic and thus repelled from magnetic fields. So, if you employ a strong enough field, you should get a nitrogen-free bubble. The only question is: would the lower internal pressure caused other gasses to flow inward, or would their greater concentration inside the bubble cause them to flow outward due to osmotic pressure.
Basically, it's a balloon made of a force (magnetic) field.
Black civil rights had nothing to do with religion, just racism. The gay issue has everything to do with religion, which is why it's a completely different kettle of fish to sort out.
The "gay issue" has nothing to do with religion. The people claiming it does almost always quote Levictus of Old Testament, yet ignore everything else that book condemns. That means that they didn't read the Bible and decide "okay, my god forbids these things, and gay sex is one of them, so I'll act against them all and start lobbying to forbid restaurants from serving shrimp and cloth makers from using more than one fabric per cloth item"; no, it went "I don't like gay sex, so I'll read the Bible and try to find some excuse to forbid it, ignoring everything else it says".
Pretending they're directly analogous is fucking retarded.
They are. Homophobia isn't religiously motivated, it simply uses religion to hide its true nature.
So basically, you're saying that the only bad side of a helium balloon is the need for helium?
What if we simply painted the balloon black? Or, better yet, make its upper half transparent and the inside of the lower half black? Would the end result be a solar powered hot air balloon?
I still wonder if my nitrogen-repulsing magnet bubble would work, too. Would the partial pressure of oxygen increase inside to compensate for decreased overall pressure, and if so, to what degree? Total pressure and the magnetic field push oxygen in, partial pressure push it out, which will dominate?
I seriously have to question if you know what a felony is. A felon can lose their 2nd amendment rights, the right to vote or serve on a jury, be banned from working as a lawyer, teacher or a career in the military and with the 3 strike laws can face life in prison.
This rises some questions about the wisdom of the whole concept of a felon, specifically the "no voting" part. It seems a very convenient way of ensuring that only people who think and act like those in power are allowed to have political influence.
That's true today. Will it be true in 100 years when helium gets truly difficult to get ahold of? I'm skeptical. Assuming, of course, we haven't found some way to synthesize it.
A fusor should be able to synthesize helium from hydrogen, however I'm not sure how economical that would be.
Vacuum is lighter than helium (0 g/l vs. 0.1786 g/l at NTP). The problem is the weight of the casing necessary to keep the atmospheric pressure out. Since it seems that nitrogen is diamagnetic, putting a sufficiently strong superconducting magnet in the middle of the balloon might help by reducing the effective density of the atmosphere around the balloon; unfortunately it's not quite sufficient alone since oxygen is paramagnetic, so we can't build a vacuum bubble with that alone. Then again, simply repulsing nitrogen should create lift...
I personally use python 90% of the time (when performance does not matter). And when it does, I use C++, which performs just as well as C and gives me a lot of useful features and the convenience of the STL, resulting in better code than I would write in C.
Oh, C++ does lead to potentially very neat code, sure... the problem is that it's impossible to figure out what it's doing. I learned C by reverse engineering Nethack, with no prior experience on anything but good old line-number BASIC; on the other hand, I tried to figure out what a piece of C++ code was doing, and after 10 layers of indirection just gave up (can't remember the project, sorry).
C++ forces you to worry about low-level details, yet makes it easy to hide those very same details under operator overloading and templates. That's fine if you're working on a project alone, or can ask whoever wrote the code; but if neither of these is true, and you can't even trust a single assignment operation to not behave as expected...
Honestly, when performance is the main goal Java is not that attractive,
Thus the "C for performance, Java for high-level language" paradigm:).
However, I wonder if Java programs wouldn't actually be faster than C in many uses, mainly due to JIT. Take, for example, modern games: the heavy lifting part of 3D graphics is done by the graphics card, and most of what's left is running various scripts. In C/C++ these scripts are interpreted, while in Java - and other JITted languages - you can let the JIT compile them. Java is not really optimal for this purpose, but something like Python or Lisp could easily be.
The Earth would explode, since nothing would counteract its internal pressure anymore. So would Sun, Moon, and any other body kept together by gravity. Earth's explosion would likely kill you, but if it by some miracle failed to do so, the lack of breathable air - since that too is lost as soon as gravity fails - would, and then the expanding shockwave from Sun's explosion would vaporize your bloated remains, assuming that the increased radiation due to its core shining through dispersing external parts wouldn't.
Destructive and just plain stupid legislation that can't be enforced and can't be defended on anything but purely ideological grounds - just the kind that's been all rage lately (right-wingers, I'm looking at you).
not any more so than you can use OO to replace, say, structured programming
Just make every block of code an object. In fact, make every program statement an object and store them in a linked list or vector. Functions would simply be such lists stored in variables, statements like "if" and "while" would get a list as their arguments, and naturally you could easily alter or construct these lists at runtime. These "function objects" could also have their local variables, with settable initial values, some bound to passed arguments, some shared between invocations. They could have locks to control concurrent access; in fact thread creation would be handled by "concurrent" command, which would take a function object as a parameter, along its parameters and the variable to use to store the return value.
Basically, get rid of old-style structural programming and use function objects for everything - it's the wave of the future:).
No, C is exactly as fast as C++. C++ only becomes slower if you use certain features that have a performance impact.
Which would be every feature that isn't C with added syntactic sugar.
Frankly, there is no valid reason for starting a new program in C in this day and age.
Yes, there is: it's a simple language with very predictable behaviour, compiles fast, and the resulting binary can be trivially interfaced with pretty much every other language. There's no good reason to use C++: you don't get the benefits of managed environments and the real encapsulation they offer, yet it's almost impossible to figure out what code using templates and operator overloading is actually doing.
Use C for performance and control, or use Java, Python and friends for a real high-level language. C++ gets you the worst of both worlds. Let's just let the damn thing die already.
And Java can be faster than C++, if you write sufficiently good Java code and sufficiently bad C++ code. That you manage to find a single instance of this is true doesn't prove anything.
In short: Your right to swing your fist ends at the tip of my nose.
Only if you're richer than the fist-swinger. Otherwise you'll be charged for the soap to wash away the blood, and if he's much richer, for his pain upon having his delicate noble hand impact upon your thick peasant skull.
It was a comment on "saving people" - mostly from themselves.
And you got a comment to it telling you to give up yours if you feel that live's aren't worth saving. Isn't it just amazing how people tend to react with some variety of that to such suggestions?
Try to understand - every time we muck around trying to break Darwin's laws, we are only screwing ourselves.
The inanity of this oft-repeated excuse for lack of compassion is obvious when you remember that compassion is an evolved trait.
And, frankly, lately it's been psychopaths like you who've screwed us all. And not just lately but for the whole last century. And the one before that, and the one before that, and... You are to humanity as fleas are to dogs.
Besides, single-core chips have long been parallel.
Which has little to do with multithreading or writing parallel programs, so what exactly is your point?
The point is that modern processors (everything from Pentium on) are basically parellelizing the program on the fly. Since laws of physics set limits to the clock rate, and laws of logic set limits to how few clock cycles it's going to take to perform an operation (1 at the absolute minimum), the only remaining source of further speed is performing multiple operations per clock cycle.
At best, this can be taken advantage of by programmers writing code that their processors are better at executing in parallel, which is more of a job for their compiler.
It's a job both for the compiler and the processor's AI. The former generates the assembly code, and when its executed the latter further compiles it to processor internal microcode and queues microcode instructions for execution in processor's various units, trying to keep them all busy all the time.
No, it is an example of vector math, which is related to parallel execution, but not quite the same. Programmers using SSE instructions are still writing programs as a single instruction stream.
SSE is an instruction set that allows certain operations to be carried out for multiple registers in parallel. And as I already stated, programs written as a single instruction stream are actually executed with as many instructions in parallel as the CPU can manage.
There is no locking or contention to deal with in vector math, there are guarantees about execution order (at least as far as the results of the execution are concerned), and so forth.
Actually, there is, it simply all happens inside the processor where you the programmer don't see it. I told you, modern processors execute multiple instructions in parallel; that requires locking and ensuring that a value has been calculated before any instruction requiring it arrives at the stage it's required in, and so forth.
Compilers have trouble making use of vector math instructions because it is difficult to tell when using those instructions is appropriate, at least with current compiler technology and algorithms.
Compilers have trouble making use of SSE and friends for the exact same reason they have trouble automatically parallelizing programs: it's hard to look at low-level construct and trying to figure out what the programmer was trying to do. And better algorithms would, of course, solve the whole problem, and allow automatic generation of multithreaded programs.
Then you have never bothered to take a look at how many x86 instructions there are, and how many of those instructions are actually placed in the code generated by your compiler, or how many times the programs on your system actually use those instructions. Even the Intel compiler team has not figured out how best to use the x86 instruction set. Seriously, take a look at the situation before asserting that single core processors are at their limit.
If x86 instruction set contained an instruction that caused the processor to send "Help I'm a CPU" to some PCI device in Morse, would a compiler that failed to use this instruction "have not figured out how best to use the x86 instruction set"?
Look, I get that there are lots of instructions that don't get used much, but that has nothing to do with the speed of programs. For example, few people use x86 Real Mode, and those who use Protected Mode usually don't use segments, since simply using just plain paged memory is faster and simpler.
I'm not sure what problems in your mental model of a processor could cause this bizarre obsession with the number of different instructions used - do you perhaps think that different instructions are like cylinders of a car?
Are there any citations to show that there is a real shortage of people on this planet? Maybe it would be good if we didn't save so many lives?
Since you managed to post that comment, it seems reasonable to assume that you have an electric socket. You are also likely capable of finding long, thin, metallic objects. Therefore, you have everything you need to put your money where your mouth is.
Or was this another case of there being too many other people?
The NY donation system doesn't punish you for not being an organ donor. They simply assume you want to be one unless you demonstrate otherwise.
They don't assume that you want to be one. They simply assume that if you don't care about the issue enough to sign a paper forbidding it, it's okay to use your corpse to save other people's lives.
Frankly, it's somewhat questionable whether dead guy's opinions should trump living people's survival, but oh well...
I'm basing my argument on the simple logic that if a CPU manufacturer could make a single-core CPU that's significantly faster than the current ones, they would, rather than force the programmers to make parallel programs which, as you yourself noted, is hard.
Was this really that difficult to understand, or did you simply figure this would be a nice cheap shot?
People talk about parallel programming like it is some kind of silver bullet that is going to make everything happen faster, when the reality is that we really have no idea how to improve most programs by executing code in parallel. Even if we ignore the huge amount of IO-bound code out there and focus only on those programs that are CPU-intensive, there are plenty of tasks that have too many data dependencies or that wind up create hotspots, which kill performance in parallel programs.
Yes, this is all true. Which is simply more evidence that single-core processors have hit their limit: after all, why would the processor makers keep pushing parallel chips otherwise?
Besides, single-core chips have long been parallel. The original Pentium had two pipelines, allowing it to perform two instructions in parallel (altought they weren't equivalent). More were added in later models, however the data dependencies you noted meant that came increasingly hard to keep them all busy, requiring more and more transistors for the control logic. Hyper-Threading was an attempt to help the situation, based on the assumption that two different threads would have less dependencies than the nearby instructions of a single one. Multi-core CPUs simply mean that the processor makers have given up, and are spending the transistor budget of the chip for several separate cores rather than trying to boost a single one.
Worse still is the fact that single core architectures are not even being used to their full potential. x86 has tons of instructions that are unused by most programs, even programs that could take advantage of those instructions, because compilers have a hard time figuring out how those instructions can be used.
Um, what?
There are plenty of programs that could use the SSE instructions, even in cases where there is no vector math in the code, but compilers are generally unable to take advantage of the majority of instructions out there.
SSE is an example of parallel execution. Compilers have problems using it for the same reason they have problems parallelizing programs in general: it's hard.
Claiming that we have hit the limit of single core architectures, when we are not even using them to their full potential, is not very accurate.
Frankly, I doubt that you understand what you're talking about. Your earlier comment about unused x86 instructions kinda implies that.
They got bailed out to avert a total economic collapse -- not as a vote of confidence. If anything, the bailout was a symbol that the banks fucked up -- badly.
This rises a question of whether banks should be simply nationalized? They aren't acting as private companies anyway, since the risk is public, and we already paid for them. Taking them under direct and permanent governmental control would allow us the people to exert some control over them and prevent this from reoccurring.
No private company should be allowed to be so large that its owner can blackmail the rest of the nation. I, for one, do not think that billionaires have any more divine right to rule than kings.
That would depend on the detail level of the model, now wouldn't it? Unless you're advocating some form of mind-body dualism.
When someone models your behavior, they turn you into a thing.
Everyone models everyone around them all the time. This is the basis of for example compassion, which is usually considered a good thing. In fact, it's impossible to take someone into account at all if you don't model them in your mind - that is, turn them into "a thing".
After all, it's hard for me to avoid taking actions that might hurt you if I'm not allowed to model your behaviour and likely response.
People have been saying that single core architectures have reached their limit for a long time now, so what makes you think it is definitely true now as opposed to a decade ago?
The fact that CPU makers have stopped boasting about their chips megahertz rating and instead switched to boasting about how many cores they have comes to mind. Also, graphics cards are massively parallel (1600 cores in Radeon 5870), and there seems to be a push to get them to work on general computing.
It's a lot easier to connect to an Oracle database using Java than it is with.NET, and Oracle really doesn't want.NET to win since MS SQL is now a viable alternative(and substantially cheaper) than Oracle for all but the largest of data sets.
So... should we expect to see using non-Oracle databases from Java becoming harder?
and here i thought high tariffs on imports where seen as domestic protectionism, and frowned upon by economists.
They are protectionism and are frowned upon by economists. This guy is suggesting that we start protecting our domestic industries rather than blindly follow the ideology of free trade, which for me seems like a very smart thing to do.
Most hot air balloons are open from the below, so the hot air generated by the burner can enter the balloon. What I'm suggesting is letting Sun do the work.
Half-serious. It should work because most of atmosphere is nitrogen, and nitrogen is diamagnetic and thus repelled from magnetic fields. So, if you employ a strong enough field, you should get a nitrogen-free bubble. The only question is: would the lower internal pressure caused other gasses to flow inward, or would their greater concentration inside the bubble cause them to flow outward due to osmotic pressure.
Basically, it's a balloon made of a force (magnetic) field.
The "gay issue" has nothing to do with religion. The people claiming it does almost always quote Levictus of Old Testament, yet ignore everything else that book condemns. That means that they didn't read the Bible and decide "okay, my god forbids these things, and gay sex is one of them, so I'll act against them all and start lobbying to forbid restaurants from serving shrimp and cloth makers from using more than one fabric per cloth item"; no, it went "I don't like gay sex, so I'll read the Bible and try to find some excuse to forbid it, ignoring everything else it says".
They are. Homophobia isn't religiously motivated, it simply uses religion to hide its true nature.
What world are you from, and how do I get there?
So basically, you're saying that the only bad side of a helium balloon is the need for helium?
What if we simply painted the balloon black? Or, better yet, make its upper half transparent and the inside of the lower half black? Would the end result be a solar powered hot air balloon?
I still wonder if my nitrogen-repulsing magnet bubble would work, too. Would the partial pressure of oxygen increase inside to compensate for decreased overall pressure, and if so, to what degree? Total pressure and the magnetic field push oxygen in, partial pressure push it out, which will dominate?
This rises some questions about the wisdom of the whole concept of a felon, specifically the "no voting" part. It seems a very convenient way of ensuring that only people who think and act like those in power are allowed to have political influence.
So what you're saying is that, in this case, Cthulhu is the lesser evil?
A fusor should be able to synthesize helium from hydrogen, however I'm not sure how economical that would be.
Vacuum is lighter than helium (0 g/l vs. 0.1786 g/l at NTP). The problem is the weight of the casing necessary to keep the atmospheric pressure out. Since it seems that nitrogen is diamagnetic, putting a sufficiently strong superconducting magnet in the middle of the balloon might help by reducing the effective density of the atmosphere around the balloon; unfortunately it's not quite sufficient alone since oxygen is paramagnetic, so we can't build a vacuum bubble with that alone. Then again, simply repulsing nitrogen should create lift...
Anyone care to work the physics out?
Oh, C++ does lead to potentially very neat code, sure... the problem is that it's impossible to figure out what it's doing. I learned C by reverse engineering Nethack, with no prior experience on anything but good old line-number BASIC; on the other hand, I tried to figure out what a piece of C++ code was doing, and after 10 layers of indirection just gave up (can't remember the project, sorry).
C++ forces you to worry about low-level details, yet makes it easy to hide those very same details under operator overloading and templates. That's fine if you're working on a project alone, or can ask whoever wrote the code; but if neither of these is true, and you can't even trust a single assignment operation to not behave as expected...
Thus the "C for performance, Java for high-level language" paradigm :).
However, I wonder if Java programs wouldn't actually be faster than C in many uses, mainly due to JIT. Take, for example, modern games: the heavy lifting part of 3D graphics is done by the graphics card, and most of what's left is running various scripts. In C/C++ these scripts are interpreted, while in Java - and other JITted languages - you can let the JIT compile them. Java is not really optimal for this purpose, but something like Python or Lisp could easily be.
The Earth would explode, since nothing would counteract its internal pressure anymore. So would Sun, Moon, and any other body kept together by gravity. Earth's explosion would likely kill you, but if it by some miracle failed to do so, the lack of breathable air - since that too is lost as soon as gravity fails - would, and then the expanding shockwave from Sun's explosion would vaporize your bloated remains, assuming that the increased radiation due to its core shining through dispersing external parts wouldn't.
Destructive and just plain stupid legislation that can't be enforced and can't be defended on anything but purely ideological grounds - just the kind that's been all rage lately (right-wingers, I'm looking at you).
Which would be every feature that isn't C with added syntactic sugar.
Yes, there is: it's a simple language with very predictable behaviour, compiles fast, and the resulting binary can be trivially interfaced with pretty much every other language. There's no good reason to use C++: you don't get the benefits of managed environments and the real encapsulation they offer, yet it's almost impossible to figure out what code using templates and operator overloading is actually doing.
Use C for performance and control, or use Java, Python and friends for a real high-level language. C++ gets you the worst of both worlds. Let's just let the damn thing die already.
And Java can be faster than C++, if you write sufficiently good Java code and sufficiently bad C++ code. That you manage to find a single instance of this is true doesn't prove anything.
And you got a comment to it telling you to give up yours if you feel that live's aren't worth saving. Isn't it just amazing how people tend to react with some variety of that to such suggestions?
The inanity of this oft-repeated excuse for lack of compassion is obvious when you remember that compassion is an evolved trait.
And, frankly, lately it's been psychopaths like you who've screwed us all. And not just lately but for the whole last century. And the one before that, and the one before that, and... You are to humanity as fleas are to dogs.
The point is that modern processors (everything from Pentium on) are basically parellelizing the program on the fly. Since laws of physics set limits to the clock rate, and laws of logic set limits to how few clock cycles it's going to take to perform an operation (1 at the absolute minimum), the only remaining source of further speed is performing multiple operations per clock cycle.
It's a job both for the compiler and the processor's AI. The former generates the assembly code, and when its executed the latter further compiles it to processor internal microcode and queues microcode instructions for execution in processor's various units, trying to keep them all busy all the time.
SSE is an instruction set that allows certain operations to be carried out for multiple registers in parallel. And as I already stated, programs written as a single instruction stream are actually executed with as many instructions in parallel as the CPU can manage.
Actually, there is, it simply all happens inside the processor where you the programmer don't see it. I told you, modern processors execute multiple instructions in parallel; that requires locking and ensuring that a value has been calculated before any instruction requiring it arrives at the stage it's required in, and so forth.
Compilers have trouble making use of SSE and friends for the exact same reason they have trouble automatically parallelizing programs: it's hard to look at low-level construct and trying to figure out what the programmer was trying to do. And better algorithms would, of course, solve the whole problem, and allow automatic generation of multithreaded programs.
If x86 instruction set contained an instruction that caused the processor to send "Help I'm a CPU" to some PCI device in Morse, would a compiler that failed to use this instruction "have not figured out how best to use the x86 instruction set"?
Look, I get that there are lots of instructions that don't get used much, but that has nothing to do with the speed of programs. For example, few people use x86 Real Mode, and those who use Protected Mode usually don't use segments, since simply using just plain paged memory is faster and simpler.
I'm not sure what problems in your mental model of a processor could cause this bizarre obsession with the number of different instructions used - do you perhaps think that different instructions are like cylinders of a car?
Since you managed to post that comment, it seems reasonable to assume that you have an electric socket. You are also likely capable of finding long, thin, metallic objects. Therefore, you have everything you need to put your money where your mouth is.
Or was this another case of there being too many other people?
They don't assume that you want to be one. They simply assume that if you don't care about the issue enough to sign a paper forbidding it, it's okay to use your corpse to save other people's lives.
Frankly, it's somewhat questionable whether dead guy's opinions should trump living people's survival, but oh well...
Hopefully never.
On unrelated note, when will Slashdot get "-1 began a sentence in the subject" mod?
I'm basing my argument on the simple logic that if a CPU manufacturer could make a single-core CPU that's significantly faster than the current ones, they would, rather than force the programmers to make parallel programs which, as you yourself noted, is hard.
Was this really that difficult to understand, or did you simply figure this would be a nice cheap shot?
Yes, this is all true. Which is simply more evidence that single-core processors have hit their limit: after all, why would the processor makers keep pushing parallel chips otherwise?
Besides, single-core chips have long been parallel. The original Pentium had two pipelines, allowing it to perform two instructions in parallel (altought they weren't equivalent). More were added in later models, however the data dependencies you noted meant that came increasingly hard to keep them all busy, requiring more and more transistors for the control logic. Hyper-Threading was an attempt to help the situation, based on the assumption that two different threads would have less dependencies than the nearby instructions of a single one. Multi-core CPUs simply mean that the processor makers have given up, and are spending the transistor budget of the chip for several separate cores rather than trying to boost a single one.
Um, what?
SSE is an example of parallel execution. Compilers have problems using it for the same reason they have problems parallelizing programs in general: it's hard.
Frankly, I doubt that you understand what you're talking about. Your earlier comment about unused x86 instructions kinda implies that.
This rises a question of whether banks should be simply nationalized? They aren't acting as private companies anyway, since the risk is public, and we already paid for them. Taking them under direct and permanent governmental control would allow us the people to exert some control over them and prevent this from reoccurring.
No private company should be allowed to be so large that its owner can blackmail the rest of the nation. I, for one, do not think that billionaires have any more divine right to rule than kings.
That would depend on the detail level of the model, now wouldn't it? Unless you're advocating some form of mind-body dualism.
Everyone models everyone around them all the time. This is the basis of for example compassion, which is usually considered a good thing. In fact, it's impossible to take someone into account at all if you don't model them in your mind - that is, turn them into "a thing".
After all, it's hard for me to avoid taking actions that might hurt you if I'm not allowed to model your behaviour and likely response.
The fact that CPU makers have stopped boasting about their chips megahertz rating and instead switched to boasting about how many cores they have comes to mind. Also, graphics cards are massively parallel (1600 cores in Radeon 5870), and there seems to be a push to get them to work on general computing.
So... should we expect to see using non-Oracle databases from Java becoming harder?
They are protectionism and are frowned upon by economists. This guy is suggesting that we start protecting our domestic industries rather than blindly follow the ideology of free trade, which for me seems like a very smart thing to do.