Scalability today means using the multiple cores that my processor has. Ruby provides no real means for doing this (e.g., native threads). Sure, you can launch multiple ruby processes, and chat between them with IPC, but look at the overhead of a ruby process...
Umm, you seem to be confusing performance with scalability here.
I'd say that a program based on processes communicating via IPC is far far more scalable that a program based on threads sharing memory.
The processes + IPC program can be distributed across several machines; the threaded program cannot. The fact that the threaded application is slightly faster is irrelevant since it cannot scale beyond a certain point.
It's easy to forget that hardware costs very little compared to developers' time.
Disclaimer: I make a large part of my living writing server-side Tcl code (which is about on a par with Ruby performance-wise I believe).
Also, languages are not by themselves slow, the virtual machines or interpreters are, so saying a language is slow is nonsensical.
Well, yes and no. One can meaningfully say that "Language Foo is harder for an implementation to optimise than language Bar". In practice "harder" will often been completely infeasible.
Here's some examples I've plucked out of the air:
32-bit integers with silent wrap-around (e.g. Java) generally map much closer to the hardware than do unbounded integers (e.g. Tcl 8.5).
A compiler / interpreter can infer many things about a C++ function (whether it has side-effects, names and types of all the local variables it uses) which it can't about a Ruby method since a Ruby method can always call "eval" (or call a method which calls eval).
I'll pick on C for a change - a headache for C compiler writers is pointer aliasing; the compiler cannot safely make some optimisations since it cannot be sure whether two pointers could be referencing the same thing. This is generally less of a problem in FORTRAN.
Having said all that, I'd far rather develop in Python, Tcl or Ruby than in C++, Java or C#, despite that fact that programs written in the latter languages are likely to run faster on most conceivable implementations.
IMHO, Clarity and expressiveness is far more important than performance for at least 95% of code written (and the other 5% can always be done in something from the C family if it's not an algorithmic performance problem).
For what it's worth, I had ADSL installed in my family's home in a fairly rural part of the Pangasinan province of the Philippines, and can report that the ADSL service there is fairly good (if rather slow).
We pay 1600 piso (about $30 USD) per month to Digitel for 256 KBytes down and 64 KBytes up, with no cap. However, when considering the price, it's worth bearing in mind that a local school teacher probably less than $100 USD per month!
There was an installation fee equal to about one months service. Installation took place 3 days after ordering, and the helpful engineer even installed Windows 98 on the PC. I added a software firewall and antivirus software myself.
The service has been pretty reliable for the past few months we've had it - more reliable in fact than the local electricity which suffers brownouts on a daily basis. Brief disconnects do occur from time to time, but the modem reconnects automatically after a few minutes.
Digitel have been very helpful - for one month our PC was out of order, and they have not charged us for that month since we never connected!
In the same way that cellphone service here is cheap and efficient due to the competition between SMART and GLOBE, I think the competition between PLDT and Digitel has helped keep landline and DSL services reasonable.
Note that I'd strongly advise against using Dial-up internet access here from a Windows machine - previously we had problems with trojan diallers which appear to be targetted at the Philippines and ran up a bill of around 10,000 piso ($200 USD) calling a premium number in the Solomon Islands. Unfortunately, Digitel were less helpful here and we had to pay for these calls. For many people here, that would be several months salary.
Quick aside - as far as I can tell there is no Internet censorship in place in the Hong Kong or Macau Special Administrative Regions.
Both Hong Kong and Macau have their own "Basic Law" (a mini-constitution if you like) and residents enjoy rather greater freedom than in mainland China.
But I can confirm it's not accessible from Macau, China (no DNS entry, and no route to 80.68.80.24 found).
So the comment is somewhat Informative and a little Interesting - I wonder what other countries it's not accessible from? Perhaps someone with access to more obscurely located servers could tell us - any Akamai employees about?
I remember reading a fascinating article on how to warn an unknown future civilisation about high-level nuclear waste. One suggestion included a huge field of spikes.
Quite a tricky problem - the researchers reckoned one of the key tasks was to make it look important but obviously valueless in order to prevent tomb robbers (after all, the Egyptian curses in the pyramids din't work too well).
Unfortunately, I can't seem to find it online, though some of the same material is covered in:
It's a criminal offense for a non-US bookie to accept bets from a US punter. See the Wire Act (1961):
"Whoever being engaged in the business of betting or wagering knowingly uses a wire communication facility for the transmission in interstate or foreign commerce of bets or wagers or information assisting in the placing of bets or wagers on any sporting event or contest, or for the transmission of a wire communication which entitles the recipient to receive money or credit as a result of bets or wagers, or for information assisting in the placing of bets or wagers, shall be fined under this title or imprisoned not more than two years, or both."
There is also a proposal by the late Bob Forward called HiVolt which may be a way to drain at least parts of the Van Allen belts to 1% of their natural level within a year.
Hmm. Is it just me, or does messing with the Earth's natural electromagnetic fields sound like a particularly bad idea?
If I read your post correctly, you are basically saying that evolution is often not a good method to use because humans can do better without it.
I say, take a look at a whale, a swallow, a spider, a virus. Can human engineers do better than these self-replicating, self-healing machines that are perfectly optimised to their environments?
Er, I think the point was that evolution is quite a slow process, especially if evaluating the fitness of a candidate solution takes a long time.
A whale may indeed be optimised to it's environment rather better than a submarine, but the whale is the product of a evolutionary process that's taken 100s of millions of years...
Perhaps if they started showing the movie everywhere on the same date, this wouldn't be such a big issue.
Why are the brits (or americans, most of the time) gifted with early showing while the rest of us have to wait?
There is a reason for this - a distribution print of a movie costs about $1500 USD. Prints are often shipped out to the rest of the world (or at least, places where subtitles aren't needed/wanted) once they've finished their US run.
Another good quote is "Computer science is as much about computers as astronomy is about telescopes" (Dijkstra, I think).
I suspect this isn't the case in all universities, but actual programming was a very minor part of my Comp Sci. degree (at a UK university). In fact, I don't recall ever writing any code in my "Programming Language Design" or "Artificial Intelligence" modules.
Actually, there is no plan to convert carbon dioxide to hydrogen with any kind of organism. That would require nuclear transmutation, which so far as I know has never been done in a biological organism.
You'd certainly think not, but incredibly it does seem likely that a natural nuclear reactor was constructed by bacteria some 1.8 billion years ago in Africa - see e.g. NATURAL NUCLEAR REACTORS (OKLO).
I just get "JVM terminated abnormally" when I try to run it via the launcher.
If I run it directly I get:
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x0
Function=[Unknown.]
Library=(N/A)
NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.
Current Java thread:
at org.lwjgl.opengl.CoreGL.activeTexture(Native Method)
at com.realityinteractive.quakeworld.client.texture.G LTextureEngine.selectTexture(GLTextureEngine.java: 171)
at com.realityinteractive.quakeworld.client.texture.G LTextureEngine.setMultiTexture(GLTextureEngine.jav a:212)
I'm using a Matrox card on Windows 2000, so maybe that's the problem.
I wouldn't bet against Microsoft bringing Haskell to the real world - their research department (which would put many universities to shame) has some top Haskell people, such as Simon Peyton Jones.
There's some interesting papers by him over here.
I think the argument is somewhat more persuasive in the classic 10 men having dinner analogy (not sure who came up with this):
<quote> I was having lunch with one of my favorite friends last week and the conversation turned to the government's recent round of tax cuts. "I'm opposed to those tax cuts," the retired West coast college instructor declared, "because they benefit the rich. The rich get much more money back than ordinary taxpayers like you and me and that's not fair."
"But the rich pay more in the first place," I argued, "so it stands to reason that they'd get more money back." I could tell that my friend was unimpressed by this meager argument.
So I said to him, let's put tax cuts in terms everyone can understand. Suppose that every day 10 men go to a restaurant for dinner. The bill for all ten comes to $100. If it was paid the way we pay our taxes, the first four men would pay nothing; the fifth would pay $1; the sixth would pay $3; the seventh $7; the eighth $12; the ninth $18. The tenth man (the richest) would pay $59.
The 10 men ate dinner in the restaurant every day and seemed quite happy with the arrangement until the owner threw them a curve. Since you are all such good customers, he said, I'm going to reduce the cost of your daily meal by $20. Now dinner for the 10 only costs $80.
The first four are unaffected. They still eat for free. Can you figure out how to divvy up the $20 savings among the remaining six so that everyone gets his fair share? The men realize that $20 divided by 6 is $3.33, but if they subtract that from everybody's share, then the fifth man and the sixth man would end up being paid to eat their meal.
The restaurant owner suggested that it would be fair to reduce each man's bill by roughly the same percentage, being sure to give each a break, and he proceeded to work out the amounts each should pay. And so now the fifth man paid nothing, the sixth pitched in $2, the seventh paid $5, the eighth paid $9, the ninth paid $12, leaving the tenth man with a bill of $52 instead of $59.
Outside the restaurant, the men began to compare their savings. "I only got a dollar out of the $20," complained the sixth man, pointing to the tenth, "and he got $7!" "Yeah, that's right," exclaimed the fifth man. "I only saved a dollar, too. It's unfair that he got seven times more than me!"
"That's true," shouted the seventh man. "Why should he get $7 back when I got only $2? The wealthy get all the breaks!" "Wait a minute," yelled the first four men in unison. "We didn't get anything at all. The system exploits the poor."
The nine men surrounded the tenth man and beat him up. The next night he didn't show up for dinner, so the nine sat down and ate without him. But when it came time to pay the bill, they discovered something important. They were $52 short! And that, boys, girls and college instructors, is how America's tax system works. The people who pay the highest taxes should get the most benefit from a tax reduction. Tax them too much, attack them for being wealthy, and they just may not show up at the table any more. </quote>
But what about our precious bodily fluids?
on
Antibody Food Spices
·
· Score: 5, Funny
General Jack D. Ripper: Mandrake, do you realize that in addition to fluoridating water, why, there are studies underway to fluoridate salt, flour, fruit juices, soup, sugar, milk... ice cream. Ice cream, Mandrake, children's ice cream. Group Capt. Lionel Mandrake: Lord, Jack. General Jack D. Ripper: You know when fluoridation first began? Group Capt. Lionel Mandrake: I... no, no. I don't, Jack. General Jack D. Ripper: Nineteen hundred and forty-six. Nineteen forty-six, Mandrake. How does that coincide with your post-war Commie conspiracy, huh? It's incredibly obvious, isn't it? A foreign substance is introduced into our precious bodily fluids without the knowledge of the individual. Certainly without any choice. That's the way your hard-core Commie works.
Obviously the programming language character set does not affect the smallest unit adressable in machine code, as you say, but I think the previous poster was talking about ANSI-C, where a char is defined to always be 1 byte, but not necessarily an octet.
I agree Mozilla is the best browser out there at the moment, but I'm not sure its stability is a good argument for OSS right now.
Don't get me wrong, I use it all the time, but v1.2 does crash / hang on me at least twice a day, and also has a habit of deciding to allocate 200Mb+ of memory from time to time.
Umm, you seem to be confusing performance with scalability here.
I'd say that a program based on processes communicating via IPC is far far more scalable that a program based on threads sharing memory.
The processes + IPC program can be distributed across several machines; the threaded program cannot. The fact that the threaded application is slightly faster is irrelevant since it cannot scale beyond a certain point.
It's easy to forget that hardware costs very little compared to developers' time.
Disclaimer: I make a large part of my living writing server-side Tcl code (which is about on a par with Ruby performance-wise I believe).
Well, yes and no. One can meaningfully say that "Language Foo is harder for an implementation to optimise than language Bar". In practice "harder" will often been completely infeasible.
Here's some examples I've plucked out of the air:Having said all that, I'd far rather develop in Python, Tcl or Ruby than in C++, Java or C#, despite that fact that programs written in the latter languages are likely to run faster on most conceivable implementations.
IMHO, Clarity and expressiveness is far more important than performance for at least 95% of code written (and the other 5% can always be done in something from the C family if it's not an algorithmic performance problem).
For what it's worth, I had ADSL installed in my family's home in a fairly rural part of the Pangasinan province of the Philippines, and can report that the ADSL service there is fairly good (if rather slow). We pay 1600 piso (about $30 USD) per month to Digitel for 256 KBytes down and 64 KBytes up, with no cap. However, when considering the price, it's worth bearing in mind that a local school teacher probably less than $100 USD per month! There was an installation fee equal to about one months service. Installation took place 3 days after ordering, and the helpful engineer even installed Windows 98 on the PC. I added a software firewall and antivirus software myself. The service has been pretty reliable for the past few months we've had it - more reliable in fact than the local electricity which suffers brownouts on a daily basis. Brief disconnects do occur from time to time, but the modem reconnects automatically after a few minutes. Digitel have been very helpful - for one month our PC was out of order, and they have not charged us for that month since we never connected! In the same way that cellphone service here is cheap and efficient due to the competition between SMART and GLOBE, I think the competition between PLDT and Digitel has helped keep landline and DSL services reasonable. Note that I'd strongly advise against using Dial-up internet access here from a Windows machine - previously we had problems with trojan diallers which appear to be targetted at the Philippines and ran up a bill of around 10,000 piso ($200 USD) calling a premium number in the Solomon Islands. Unfortunately, Digitel were less helpful here and we had to pay for these calls. For many people here, that would be several months salary.
Call me a geek, but the first company I thought of was Level 9 Computing ...
I make it 23 'XXX's and 12 'TODO's just within the main TCP file: http://cvs.opensolaris.org/source/xref/usr/src/uts /common/inet/tcp/tcp.c
Quick aside - as far as I can tell there is no Internet censorship in place in the Hong Kong or Macau Special Administrative Regions. Both Hong Kong and Macau have their own "Basic Law" (a mini-constitution if you like) and residents enjoy rather greater freedom than in mainland China.
192.5.18.102 is the IP my UK DNS server gives me for www.darpa.mil, not 80.68.80.24.
True, it's not blocked to all non-Americans.
But I can confirm it's not accessible from Macau, China (no DNS entry, and no route to 80.68.80.24 found).
So the comment is somewhat Informative and a little Interesting - I wonder what other countries it's not accessible from? Perhaps someone with access to more obscurely located servers could tell us - any Akamai employees about?
Which brings up the question, why do you want your repositories to be human editable?
I find "grep -ri blah /../cvsroot" rather useful. I suspect I'm not the only one.
I remember reading a fascinating article on how to warn an unknown future civilisation about high-level nuclear waste. One suggestion included a huge field of spikes.
Quite a tricky problem - the researchers reckoned one of the key tasks was to make it look important but obviously valueless in order to prevent tomb robbers (after all, the Egyptian curses in the pyramids din't work too well).
Unfortunately, I can't seem to find it online, though some of the same material is covered in:
"An Architecture of Peril"
http://www.arch.ksu.edu/seamon/Brill.htm
You can't. Sorry.
It's a criminal offense for a non-US bookie to accept bets from a US punter. See the Wire Act (1961):
"Whoever being engaged in the business of betting or wagering knowingly uses a wire communication facility for the transmission in interstate or foreign commerce of bets or wagers or information assisting in the placing of bets or wagers on any sporting event or contest, or for the transmission of a wire communication which entitles the recipient to receive money or credit as a result of bets or wagers, or for information assisting in the placing of bets or wagers, shall be fined under this title or imprisoned not more than two years, or both."
I quite agree.
Another good quote is "Computer science is as much about computers as astronomy is about telescopes" (Dijkstra, I think).
I suspect this isn't the case in all universities, but actual programming was a very minor part of my Comp Sci. degree (at a UK university). In fact, I don't recall ever writing any code in my "Programming Language Design" or "Artificial Intelligence" modules.
Actually, there is no plan to convert carbon dioxide to hydrogen with any kind of organism. That would require nuclear transmutation, which so far as I know has never been done in a biological organism.
You'd certainly think not, but incredibly it does seem likely that a natural nuclear reactor was constructed by bacteria some 1.8 billion years ago in Africa - see e.g. NATURAL NUCLEAR REACTORS (OKLO).
Followup - turns out that that helpful error message means that my card doesn't support multi-texturing.
I just get "JVM terminated abnormally" when I try to run it via the launcher. If I run it directly I get:
G LTextureEngine.selectTexture(GLTextureEngine.java: 171)
at com.realityinteractive.quakeworld.client.texture.G LTextureEngine.setMultiTexture(GLTextureEngine.jav a:212)
An unexpected exception has been detected in native code outside the VM. Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x0 Function=[Unknown.] Library=(N/A) NOTE: We are unable to locate the function name symbol for the error just occurred. Please refer to release documentation for possible reason and solutions. Current Java thread: at org.lwjgl.opengl.CoreGL.activeTexture(Native Method) at com.realityinteractive.quakeworld.client.texture.
I'm using a Matrox card on Windows 2000, so maybe that's the problem.
I wouldn't bet against Microsoft bringing Haskell to the real world - their research department (which would put many universities to shame) has some top Haskell people, such as Simon Peyton Jones.
There's some interesting papers by him over here.
but the World of Spectrum has 10,677 titles just for one computer - the Sinclair ZX Spectrum.
No, one of the points I'm making is that 10% of the population pay 50% of the total income tax revenue. That's a fact.
I think the argument is somewhat more persuasive in the classic 10 men having dinner analogy (not sure who came up with this):
<quote>
I was having lunch with one of my favorite friends last week and the conversation turned to the government's recent round of tax cuts. "I'm opposed to those tax cuts," the retired West coast college instructor declared, "because they benefit the rich. The rich get much more money back than ordinary taxpayers like you and me and that's not fair."
"But the rich pay more in the first place," I argued, "so it stands to reason that they'd get more money back." I could tell that my friend was unimpressed by this meager argument.
So I said to him, let's put tax cuts in terms everyone can understand. Suppose that every day 10 men go to a restaurant for dinner. The bill for all ten comes to $100. If it was paid the way we pay our taxes, the first four men would pay nothing; the fifth would pay $1; the sixth would pay $3; the seventh $7; the eighth $12; the ninth $18. The tenth man (the richest) would pay $59.
The 10 men ate dinner in the restaurant every day and seemed quite happy with the arrangement until the owner threw them a curve. Since you are all such good customers, he said, I'm going to reduce the cost of your daily meal by $20. Now dinner for the 10 only costs $80.
The first four are unaffected. They still eat for free. Can you figure out how to divvy up the $20 savings among the remaining six so that everyone gets his fair share? The men realize that $20 divided by 6 is $3.33, but if they subtract that from everybody's share, then the fifth man and the sixth man would end up being paid to eat their meal.
The restaurant owner suggested that it would be fair to reduce each man's bill by roughly the same percentage, being sure to give each a break, and he proceeded to work out the amounts each should pay. And so now the fifth man paid nothing, the sixth pitched in $2, the seventh paid $5, the eighth paid $9, the ninth paid $12, leaving the tenth man with a bill of $52 instead of $59.
Outside the restaurant, the men began to compare their savings. "I only got a dollar out of the $20," complained the sixth man, pointing to the tenth, "and he got $7!" "Yeah, that's right," exclaimed the fifth man. "I only saved a dollar, too. It's unfair that he got seven times more than me!"
"That's true," shouted the seventh man. "Why should he get $7 back when I got only $2? The wealthy get all the breaks!" "Wait a minute," yelled the first four men in unison. "We didn't get anything at all. The system exploits the poor."
The nine men surrounded the tenth man and beat him up. The next night he didn't show up for dinner, so the nine sat down and ate without him. But when it came time to pay the bill, they discovered something important. They were $52 short! And that, boys, girls and college instructors, is how America's tax system works. The people who pay the highest taxes should get the most benefit from a tax reduction. Tax them too much, attack them for being wealthy, and they just may not show up at the table any more.
</quote>
General Jack D. Ripper: Mandrake, do you realize that in addition to fluoridating water, why, there are studies underway to fluoridate salt, flour, fruit juices, soup, sugar, milk... ice cream. Ice cream, Mandrake, children's ice cream.
Group Capt. Lionel Mandrake: Lord, Jack.
General Jack D. Ripper: You know when fluoridation first began?
Group Capt. Lionel Mandrake: I... no, no. I don't, Jack.
General Jack D. Ripper: Nineteen hundred and forty-six. Nineteen forty-six, Mandrake. How does that coincide with your post-war Commie conspiracy, huh? It's incredibly obvious, isn't it? A foreign substance is introduced into our precious bodily fluids without the knowledge of the individual. Certainly without any choice. That's the way your hard-core Commie works.
Obviously the programming language character set does not affect the smallest unit adressable in machine code, as you say, but I think the previous poster was talking about ANSI-C, where a char is defined to always be 1 byte, but not necessarily an octet.
I agree Mozilla is the best browser out there at the moment, but I'm not sure its stability is a good argument for OSS right now.
Don't get me wrong, I use it all the time, but v1.2 does crash / hang on me at least twice a day, and also has a habit of deciding to allocate 200Mb+ of memory from time to time.