Well, I used the term "inflation" as a synonym for the rate of change in the total monetary supply. Obviously, in a fast growing economy increasing the money supply by 1% per year may actually translate into price deflation.
In any case, increasing Bitcoin's money supply in a fixed pre-determined rate is actually trivially easy. If, for example, you want the increase in money supply to asymptotically approach 0%, all you have to do is to let the block mining reward forever be 50 BTC. Therefore, there is nothing in Bitcoin's architecture that prevents the usage of a different algorithm for increasing money supply.
In fact, I think it is very likely that we will witness the emergence of a competitor to Bitcoin that is based on the same architecture and crypto (perhaps even forking the same source code), but whose sole difference will be the elimination of the 21 million coin hard-cap. Though most hardline Bitcoin supporters will dismiss this alternative system as doomed to fail because of the built-in inflation, I suspect it may actually succeed because people will be more inclined to use it as currency instead of just hoarding.
From the beginning there have been people alerting that Bitcoin, while technically impressive, has dubious economic fundamentals. Namely, the built-in hard-cap on the total number of Bitcoins that will ever be generated (21 million) will result in deflation dynamics once new currency stops being generated, and may induce hoarding, speculation, and the formation of a bubble much sooner than that.
The USD/BTC index for the past few months and the overall mentality seen in the Bitcoin forums seems to be confirming the worst case scenario described by critics of Bitcoin's economic model. People are talking of Bitcoins not as a currency but as a store of value. Instead of spending them to kickstart the economy, people are instead hoarding them with the expectation they will continue to multiply in value. And indeed, the steady influx of new users with the same expectation of a once-in-a-lifetime opportunity has caused the value of the currency to soar. However, without an actual economy taking off, there is the danger that sooner or later there may be a massive loss of confidence in the currency, leading to a catastrophic crash.
I suspect that the above dynamics could have been prevented with a simple tweak to the algorithm: instead of a hard-cap, let the total number of coins continuously increase in such a way that the inflation rate approaches a small, but positive number (say 0.1%). This small change would have multiple advantages:
a) Miners would always have an incentive beyond just transaction fees. This means lower fees in the long run.
b) Though in practice there may not be much of a difference between an inflation rate of -0.1% and one of 0.1%, human psychology is such that the latter scenario would likely not lead to hoarding and speculative behaviour.
c) The inflation rate would still be low enough as to make inflationary erosion of value an irrelevant issue.
With all of the above in mind, my question is as follows: would you agree that the strict adherence to Austrian Economics espoused by most members of the Bitcoin community may render them too dismissive of the dangers of the built-in deflation, and thus end up being Bitcoin's Achilles' Heel?
Isn't Portugal's current prime-minister (Jose Socrates) notorious for his close association with everything Microsoft?
And isn't he currently at the center of a national scandal involving serious corruption charges?
And didn't his government recently try to sell the notion that the Intel Classmate they are introducing into public schools is a "portuguese invention"?
Anyway, this sort of report does not surprise me one bit...
I second the Ocaml suggestion. In fact, I would consider OCaml to be the best kept "secret" of the Linux community. It's a wonderful language to use, with an extremely powerful type-system, and to top it all it produces extremely fast code, comparable to C++. I often wonder why it's so obscure among the Linux community -- is it because it's French? Come on guys, the French have given us lots of great things, and Ocaml is definitely among them. Do yourself a favour and give Ocaml a try! The only regret you'll have is not having discovered it sooner...
(Sorry if the paragraph above sounds like a dreamy-eyed sales pitch. But once you grok the power of a functional language like Ocaml you'll understand what I mean...)
I really don't get why the parent was modded to -1. He makes a very good point: while C/C++ may indeed be very fast for pure algorithmic stuff of the kind you find on the Shootout, when you consider large real world applications that advantage quickly diminishes. The reason is that the languages (either C or C++) don't offer built-in mechanisms for memory management (among others), forcing one to use libraries that are far from being optimised (not because their authors are dumb, but because they are very difficult to optimise anyway).
A note on F# and Ocaml
on
C# In-Depth
·
· Score: 3, Interesting
I think that one of the most interesting developments of C# and most mainstream programming languages is that they keep borrowing long-established elements of functional programming.
All and all this is a positive development. The only irritating aspect about it is the number of Microsofties who think M$ is inventing new stuff and being "innovative(TM)". A good example of this is F#: while the language is basically an adaptation of Ocaml to the.NET environment (to the point that simple programs are indistinguishable), I've seen plenty of people touting F# as the best thing since sliced bread, but completely failing to mention its roots, or the fact that Ocaml is a well-established language with a long history, and perhaps the most successfull (in terms of actual usage in the industry) of functional programming languages.
(Though I give credit to the interviewee in this particular article for being an exception to this rule, and for acknowledging F#'s pedigree).
Incidentally, this has long been a burning question for me: why is a language like Ocaml ignored to such an extent within the mainstream open-source community? It already has a small but vibrant community, excellent coverage in terms of libraries, performance comparable to C++, and the safety and cleanness that comes with functional programming. I even see Linux people excited with F#, seemingly oblivious to the fact that we *already* have a language better than F# that runs natively under Linux!
(Note: I consider Ocaml to be superior to F# because in the process of transforming Ocaml into F#, Microsoft removed two of the most interesting and powerful features of Ocaml: functors and polymorphic variants)
I, for one, sincerely hope that C++ is indeed losing ground. The language started already on the wrong foot (making it backwards compatible with C was a terrible mistake) and has since become the ultimate cathedral of rococo horror.
(Have you noticed how most (relatively) sane C++ developers tend to use only a subset of the language? And how C++ dev teams inevitably run into problems when the subsets mastered by different programmers are disjoint?)
Note that I did dabble in C++ for a number of years. But now, I only regret not having discovered Ocaml sooner. Though a functional programming language, it isn't one useful only for academic wankery. Quite on the contrary; it's very pragmatic in its design, supporting also imperative and object oriented programming. And by virtue of its very expressive and strong type system, it makes programming far safer than in C++ or even Java (no "null pointer exceptions" or that sort of runtime failure). Moreover, it is a very fast language (comparable to C++ in terms of speed) and has an excellent coverage in terms of available libraries.
So you will pardon me if I don't shed a tear on news of C++'s impending demise...
I think you are making a false dichotomy here, and that at least a third option should be considered: Kubuntu might not be the best KDE desktop around. Bear in mind that Ubuntu was initially Gnome-only, and that to this day that's the desktop that gets most of Canonical's resources. Kubuntu doesn't get nowhere near the same level of attention, and that shows. Kubuntu mostly lacks polishing, ie, the "little things" that end up making a substantial impact on the user's experience. Moreover, there have been in the past a number of serious, potential data-loss bugs in Kubuntu that festered for *months* because there was just not the manpower to fix them. That is substantial evidence that Kubuntu is a second-class citizen for Canonical.
While I find KDE overall a superior desktop to Gnome, I have to agree that Ubuntu is generally a better desktop experience than Kubuntu. However, I just wish people would stop equating Gnome==Ubuntu and KDE==Kubuntu, and therefore Gnome > KDE.
Seriously, Slashdot editors: be a bit more responsible when you are dealing with potentially serious and life-threatening medical conditions. The study did not find that "Antidepressants work no better than a placebo". What it seems to have found is that there is an indication that antidepressants do work for people who do have a serious depression, while there is little indication it works better than a placebo for lighter (possibly misdiagnosed) cases.
Here's the thing: a clinical depression is a serious, crippling condition. Recent research has tied its physical underpinning to a slowdown in neurogenesis in certain areas of the brain. Most likely, this slowdown is caused by the bad quality of sleep caused by continuous and prolonged stress. But whatever the cause, the end result is a brain that is physically different. Yes, this is a physical condition, one whose recovery is progressive and takes a fair amount of time. And it's precisely in this condition that antidepressants have been shown to be of help. Moreover, you cannot magically cure someone with a clinical depression by having them "snap out of it". (Would you say "snap out of it" to someone with a broken leg?)
Part of the reason why depression is so wildly misunderstood is because everyone gets the blues every now and then. That is not the same as a clinical depression. And if a misinformed doctor prescribes antidepressants to someone who just has this "pseudo-depression", then it's no surprise that antidepressants won't really make much of a difference. However, this does not invalidate that antidepressants are valuable tools in fighting real clinical depressions.
Wtf?! The Spanish civil war occurred in the 1930s (not centuries ago), and had ABSOLUTELY NOTHING to do with muslims (who had been kicked out of Spain centuries earlier). I'm surprised such an egregious comment was rated "insightful" and lasted so long without being corrected...
I've asked the question below in other fora, but could never find a conclusive answer; here's hoping that/. wisdom will change that...
So, when people complain about Rails being slow, just how slow are we talking about? Are we talking in the range of 10s, 100s, or 1000s of requests per second? And how does it compare to PHP, the Python-based frameworks, etc?
Imagine I created a simple "hello world" dynamic page: something that when given a number as parameter, would return "the double of $num is $double". Imagine you would call it with http://whatever/get_double?num=10. How many req/sec would you expect on a decent machine with your favourite CGI language or web framework?
(And yes, I realise just how awfully simplistic this example is, but I would like to get a ballpark figure). Thanks!
Ah, the title seemed promising: someone had come to the conclusion that there is a world outside of the Rails hype-machine. Perhaps they were telling us to look into the truly innovative frameworks, such as Lift (for the Scala language), or even Ocsigen (for the OCaml language). But no. They decided to go back to PHP!? I am confused: is this story about S&M fetishes?
I have been using Ocsigen myself for a few months now. It is based on OCaml, so it's very high-level while still being extremely fast (it can be compiled into native code, comparable in speed to C++). Moreover, OCaml has very strong types, and Ocsigen leverages that type-safety to ensure the produced markup will always be Xhtml compliant and that there are no inconsistencies or broken links within a website. Heck, you can even extend that type-safety into the database access, so there is no chance that you'll be processing data the wrong way. And best of all, all mistakes are detected at compile-time! It really is a pleasure to use...
Well, the bottleneck for web apps tends to be the database, so that would depend a lot on how it is designed. Don't expect miracles if your SQL tables are a mess!
As for Ocsigen itself, since it is based on a language (OCaml) that allows for native-code compilation and uses little memory compared with almost everything else, it should scale reasonably well. And things like caching function calls can be done in a practically transparent way using memoization (google for it).
I don't have much experience with other web frameworks, so it is hard to make relative comparisons. On my good old machine (an Athlon at 1.5Ghz), I can easily get Ocsigen to output of a few hundred dynamic pages per second (without caching). That is fast enough for my purposes. There's even a few examples where Ocsigen can output dynamically generated pages faster than Apache can output a static version of the same page! It really is that fast.
However, the primary advantage comes from the type-safety of using OCaml. It is very hard to generate a programme (ie, a website) that has bugs. If it compiles, you can almost be sure that it will run forever!
The main reason why more people aren't using it is because OCaml is still a relatively obscure language. Though I reckon that will eventually change, as people realise its advantages. Take the new darling of many people, F#, for example: it is largely based on OCaml.
If you had really complete freedom and were willing to try out something radically different from existing frameworks, I would suggest you would take a look at Ocsigen. It is based on the OCaml language, which alone implies a different mindset from traditional frameworks based on imperative languages. Some of Ocsigen's cool features:
Extends the OCaml type-safety into the generation of XHTML. This means that producing valid XHTML is not only "nice", but actually enforced by the framework: your programme won't even compile otherwise!
The entire site is seen as a programme where each public URL is a function. The OCaml type-safety is extended to forms and internal links, meaning there can't be any inconsistencies whatsoever.
With database bindings such as PG'OCaml, you can extend the type-safety also to database access. Think about it: the compiler checks at compile-time if your programme is consistent with the database itself!
Functional programming is very high-level, which means rapid development and happy programmers.
It is fast. And by fast I mean really, really, fast. How would you like your web framework to generate native code whose speed is close to that obtained with C?
Sorry if this sounds like a sales pitch, but I would just like to point out that there are wonderful technologies out there, if people were just willing to take a step outside the trodden path.
Glad to see Erlang finally getting some attention
on
Programming Erlang
·
· Score: 1
I had my first encounter with Erlang at a Ericsson presentation back in 1994. It's amazing that more than ten years have passed since then, and only now is the language becoming more mainstream! This new-found attention is well-deserved, however: Erlang will feel right at home in those +80 CPU cores on the horizon...
As for other less conventional languages, OCaml also definitely deserves a look. It is functional, though also allows imperative features; it has a powerful module system, but also supports object-oriented programming; it has a certain academic feel, but real-world performance (check the shootout if you want: it's among the fastest ones, comparable to C++) and a very good and comprehensive repository of libraries (even for low-level stuff!). Definitely one of the best things to come out of France in recent memory!
Can the enlightened/. crowd tell me if Eclipse also handles (decently!) non-mainstream languages like Haskell or OCaml? I am particularly interested in the latter, and I'm curious to know if this Eclipse thingy will do a better job than vi at handling OCaml programmes.
Let us start by the definitions. By "Libertarian", I assume you mean someone who on the political compass tends towards the southeast quadrant (favours high social freedom and low/no state intervention in economic affairs). If that is the case, then I beg to differ. Me and most of my geek friends tend towards the far southwest quadrant. I would go as far as saying that is default assumption around here (I am european) when I meet someone who is intelligent and "geeky".
On the subject of burnout and depression, you might also want to check a wikibook on the subject:
Demystifying Depression.
It takes a very mechanicist view on the problem, but the advice therein contained might be
of help to those suffering from depression (it helped me, your mileage may vary of course).
In short, try not to think as depression as something simply psychological, but as a
physical illness caused by chronic abuse of the brain. Giving it a chance to rest
is the first step towards recovery.
I often get the impression that people look for extraneous reasons
to explain problems like stress and depression. That's more than
understandable, especially considering the stigma associated with
mental illness. However, even though depression is almost certainly
an illness with physiological underpinnings (not just something of
the "soul" as many people still think -- often those who never
had it), you don't have to go around looking for EM fields or
whatever for the causes. Take a look at the
Demystifying Depression Wikibook for a much more plausible
explanation.
To summarise it, what if stress and depression arise from chronic
overuse of the brain?
Information overload and lack of sleep could be the real culprits.
Think about it.
What happens is that smarter people are able to compensate for longer the damage caused
by Alzheimer's. Thus they tend to show the "show-stopping" symptoms much later than the
average person. But by that time, the disease has ravaged the brain so much that the
decline *seems* ("seem" is the critical word) to happen a lot faster.
First of all, thanks to all the people who have
replied with ideas and suggestions. Your help
is very much appreciated!
Some have asked why do they need a publisher at
all. Well, their previous EP was distributed in
a large "brick & mortar" chain here in Portugal,
and having physical CDs does help in getting the
album reviewed by dead-tree newspapers and
magazines.
As for internet distribution, P2P is definitely
the way to go. It is easy to give copies of
official ogg vorbis to a bunch of friends and
ask them to share the files on the Edonkey2000
network or others.
Bittorrent would also be nice, but that entails
finding a reliable tracker to be the host.
As for the file formats, does anyone know if
they would be allowed (legal-wise) to produce official MP3s? (Though they would also release
ogg vorbis anyway).
Indeed! They are actually very well aware of this:
even though they will have to invest some money into
decent studio production (even if most of the stuff
is done with a computer at home), they say they
typically get it all back from gigs.
As some have pointed out, many generations of medical students have
experienced a similar problem when they go through the very long
list of known illnesses. ("Oh my god, I have hysterical pregnancy!
No wait, I'm a man...")
However, medical students are well aware of this phenomenon
(at a rational level) and soon get over it. The problem
with having so much medical information (even assuming it is
all trustworthy) available to the general public is that
your average person has no preparation whatsoever to deal
with it. Expect to find plenty of aunties with prostate cancer...:-)
Despite all of these pitfalls, I think the advantages of having broader
access to information still outweight the disadvantages. If not
for anything else, it keeps doctors on their toes: they are not
the sole guardians of the "mystical medical knowledge" anymore.
At last, consider that in some cases you may discover on the Internet
"second opinions" about some medical treatments which otherwise you would
be totally ignorant about. Check
this story for a very enlightening example.
I know that some people will have a hard time accepting this,
and it seems that Mr. Gates himself dismisses it altogether,
but information overload can be a real problem.
Heck, it was just yesterday that a
"Ask Slashdot" entry discussed the relation between information
overload and mental illnesses such as burnout and depression!
Many young people may be tempted to think that their brains are
indestructible, that they can work for as many hours as they want,
sleep as less as possible, and constantly overload their minds
with stuff to process. They tend to find out the hard way (namely
with burnouts) that reality is quite different.
If you doubt this, do yourself a favor and have a chat with
someone who has been through the problem.
You will therefore excuse me, Mr. Gates, but information overload
is definitely not overblown.
However, do make sure you read the kuro5hin articles on depression before you decide
to start exercising to fight off stress
(Part 1
and Part 2).
I thought that his (her?) description of hormesis was fascinating. Take a good look
at those graphs in section 3 (from the second part) to understand the real
deal behind sports. Everyone who starts
to exercise to fend off stress should really understand how and why it may help.
Remember folks: if you over do it, you could actually be making your depression worse!
It's a pity that this huge caveat isn't more widely known. Especially
if you are young, it is very easy to start exercising obsessively, and it might be
too late before you realise all the harm that you are doing to yourself. Remember
that moderation is the secret!
Well, I used the term "inflation" as a synonym for the rate of change in the total monetary supply. Obviously, in a fast growing economy increasing the money supply by 1% per year may actually translate into price deflation.
In any case, increasing Bitcoin's money supply in a fixed pre-determined rate is actually trivially easy. If, for example, you want the increase in money supply to asymptotically approach 0%, all you have to do is to let the block mining reward forever be 50 BTC. Therefore, there is nothing in Bitcoin's architecture that prevents the usage of a different algorithm for increasing money supply.
In fact, I think it is very likely that we will witness the emergence of a competitor to Bitcoin that is based on the same architecture and crypto (perhaps even forking the same source code), but whose sole difference will be the elimination of the 21 million coin hard-cap. Though most hardline Bitcoin supporters will dismiss this alternative system as doomed to fail because of the built-in inflation, I suspect it may actually succeed because people will be more inclined to use it as currency instead of just hoarding.
From the beginning there have been people alerting that Bitcoin, while technically impressive, has dubious economic fundamentals. Namely, the built-in hard-cap on the total number of Bitcoins that will ever be generated (21 million) will result in deflation dynamics once new currency stops being generated, and may induce hoarding, speculation, and the formation of a bubble much sooner than that.
The USD/BTC index for the past few months and the overall mentality seen in the Bitcoin forums seems to be confirming the worst case scenario described by critics of Bitcoin's economic model. People are talking of Bitcoins not as a currency but as a store of value. Instead of spending them to kickstart the economy, people are instead hoarding them with the expectation they will continue to multiply in value. And indeed, the steady influx of new users with the same expectation of a once-in-a-lifetime opportunity has caused the value of the currency to soar. However, without an actual economy taking off, there is the danger that sooner or later there may be a massive loss of confidence in the currency, leading to a catastrophic crash.
I suspect that the above dynamics could have been prevented with a simple tweak to the algorithm: instead of a hard-cap, let the total number of coins continuously increase in such a way that the inflation rate approaches a small, but positive number (say 0.1%). This small change would have multiple advantages:
With all of the above in mind, my question is as follows: would you agree that the strict adherence to Austrian Economics espoused by most members of the Bitcoin community may render them too dismissive of the dangers of the built-in deflation, and thus end up being Bitcoin's Achilles' Heel?
Isn't Portugal's current prime-minister (Jose Socrates) notorious for his close association with everything Microsoft?
And isn't he currently at the center of a national scandal involving serious corruption charges?
And didn't his government recently try to sell the notion that the Intel Classmate they are introducing into public schools is a "portuguese invention"?
Anyway, this sort of report does not surprise me one bit...
I second the Ocaml suggestion. In fact, I would consider OCaml to be the best kept "secret" of the Linux community. It's a wonderful language to use, with an extremely powerful type-system, and to top it all it produces extremely fast code, comparable to C++. I often wonder why it's so obscure among the Linux community -- is it because it's French? Come on guys, the French have given us lots of great things, and Ocaml is definitely among them. Do yourself a favour and give Ocaml a try! The only regret you'll have is not having discovered it sooner...
(Sorry if the paragraph above sounds like a dreamy-eyed sales pitch. But once you grok the power of a functional language like Ocaml you'll understand what I mean...)
I really don't get why the parent was modded to -1. He makes a very good point: while C/C++ may indeed be very fast for pure algorithmic stuff of the kind you find on the Shootout, when you consider large real world applications that advantage quickly diminishes. The reason is that the languages (either C or C++) don't offer built-in mechanisms for memory management (among others), forcing one to use libraries that are far from being optimised (not because their authors are dumb, but because they are very difficult to optimise anyway).
I think that one of the most interesting developments of C# and most mainstream programming languages is that they keep borrowing long-established elements of functional programming.
All and all this is a positive development. The only irritating aspect about it is the number of Microsofties who think M$ is inventing new stuff and being "innovative(TM)". A good example of this is F#: while the language is basically an adaptation of Ocaml to the .NET environment (to the point that simple programs are indistinguishable), I've seen plenty of people touting F# as the best thing since sliced bread, but completely failing to mention its roots, or the fact that Ocaml is a well-established language with a long history, and perhaps the most successfull (in terms of actual usage in the industry) of functional programming languages.
(Though I give credit to the interviewee in this particular article for being an exception to this rule, and for acknowledging F#'s pedigree).
Incidentally, this has long been a burning question for me: why is a language like Ocaml ignored to such an extent within the mainstream open-source community? It already has a small but vibrant community, excellent coverage in terms of libraries, performance comparable to C++, and the safety and cleanness that comes with functional programming. I even see Linux people excited with F#, seemingly oblivious to the fact that we *already* have a language better than F# that runs natively under Linux!
(Note: I consider Ocaml to be superior to F# because in the process of transforming Ocaml into F#, Microsoft removed two of the most interesting and powerful features of Ocaml: functors and polymorphic variants)
I, for one, sincerely hope that C++ is indeed losing ground. The language started already on the wrong foot (making it backwards compatible with C was a terrible mistake) and has since become the ultimate cathedral of rococo horror.
(Have you noticed how most (relatively) sane C++ developers tend to use only a subset of the language? And how C++ dev teams inevitably run into problems when the subsets mastered by different programmers are disjoint?)
Note that I did dabble in C++ for a number of years. But now, I only regret not having discovered Ocaml sooner. Though a functional programming language, it isn't one useful only for academic wankery. Quite on the contrary; it's very pragmatic in its design, supporting also imperative and object oriented programming. And by virtue of its very expressive and strong type system, it makes programming far safer than in C++ or even Java (no "null pointer exceptions" or that sort of runtime failure). Moreover, it is a very fast language (comparable to C++ in terms of speed) and has an excellent coverage in terms of available libraries.
So you will pardon me if I don't shed a tear on news of C++'s impending demise...
I think you are making a false dichotomy here, and that at least a third option should be considered: Kubuntu might not be the best KDE desktop around. Bear in mind that Ubuntu was initially Gnome-only, and that to this day that's the desktop that gets most of Canonical's resources. Kubuntu doesn't get nowhere near the same level of attention, and that shows. Kubuntu mostly lacks polishing, ie, the "little things" that end up making a substantial impact on the user's experience. Moreover, there have been in the past a number of serious, potential data-loss bugs in Kubuntu that festered for *months* because there was just not the manpower to fix them. That is substantial evidence that Kubuntu is a second-class citizen for Canonical.
While I find KDE overall a superior desktop to Gnome, I have to agree that Ubuntu is generally a better desktop experience than Kubuntu. However, I just wish people would stop equating Gnome==Ubuntu and KDE==Kubuntu, and therefore Gnome > KDE.
Seriously, Slashdot editors: be a bit more responsible when you are dealing with potentially serious and life-threatening medical conditions. The study did not find that "Antidepressants work no better than a placebo". What it seems to have found is that there is an indication that antidepressants do work for people who do have a serious depression, while there is little indication it works better than a placebo for lighter (possibly misdiagnosed) cases.
Here's the thing: a clinical depression is a serious, crippling condition. Recent research has tied its physical underpinning to a slowdown in neurogenesis in certain areas of the brain. Most likely, this slowdown is caused by the bad quality of sleep caused by continuous and prolonged stress. But whatever the cause, the end result is a brain that is physically different. Yes, this is a physical condition, one whose recovery is progressive and takes a fair amount of time. And it's precisely in this condition that antidepressants have been shown to be of help. Moreover, you cannot magically cure someone with a clinical depression by having them "snap out of it". (Would you say "snap out of it" to someone with a broken leg?)
Part of the reason why depression is so wildly misunderstood is because everyone gets the blues every now and then. That is not the same as a clinical depression. And if a misinformed doctor prescribes antidepressants to someone who just has this "pseudo-depression", then it's no surprise that antidepressants won't really make much of a difference. However, this does not invalidate that antidepressants are valuable tools in fighting real clinical depressions.
> the Spanish civil war
Wtf?! The Spanish civil war occurred in the 1930s (not centuries ago), and had ABSOLUTELY NOTHING to do with muslims (who had been kicked out of Spain centuries earlier). I'm surprised such an egregious comment was rated "insightful" and lasted so long without being corrected...
I've asked the question below in other fora, but could never find a conclusive answer; here's hoping that /. wisdom will change that...
So, when people complain about Rails being slow, just how slow are we talking about? Are we talking in the range of 10s, 100s, or 1000s of requests per second? And how does it compare to PHP, the Python-based frameworks, etc?
Imagine I created a simple "hello world" dynamic page: something that when given a number as parameter, would return "the double of $num is $double". Imagine you would call it with http://whatever/get_double?num=10. How many req/sec would you expect on a decent machine with your favourite CGI language or web framework?
(And yes, I realise just how awfully simplistic this example is, but I would like to get a ballpark figure). Thanks!
Ah, the title seemed promising: someone had come to the conclusion that there is a world outside of the Rails hype-machine. Perhaps they were telling us to look into the truly innovative frameworks, such as Lift (for the Scala language), or even Ocsigen (for the OCaml language). But no. They decided to go back to PHP!? I am confused: is this story about S&M fetishes?
I have been using Ocsigen myself for a few months now. It is based on OCaml, so it's very high-level while still being extremely fast (it can be compiled into native code, comparable in speed to C++). Moreover, OCaml has very strong types, and Ocsigen leverages that type-safety to ensure the produced markup will always be Xhtml compliant and that there are no inconsistencies or broken links within a website. Heck, you can even extend that type-safety into the database access, so there is no chance that you'll be processing data the wrong way. And best of all, all mistakes are detected at compile-time! It really is a pleasure to use...
Well, the bottleneck for web apps tends to be the database, so that would depend a lot on how it is designed. Don't expect miracles if your SQL tables are a mess!
As for Ocsigen itself, since it is based on a language (OCaml) that allows for native-code compilation and uses little memory compared with almost everything else, it should scale reasonably well. And things like caching function calls can be done in a practically transparent way using memoization (google for it).
I don't have much experience with other web frameworks, so it is hard to make relative comparisons. On my good old machine (an Athlon at 1.5Ghz), I can easily get Ocsigen to output of a few hundred dynamic pages per second (without caching). That is fast enough for my purposes. There's even a few examples where Ocsigen can output dynamically generated pages faster than Apache can output a static version of the same page! It really is that fast.
However, the primary advantage comes from the type-safety of using OCaml. It is very hard to generate a programme (ie, a website) that has bugs. If it compiles, you can almost be sure that it will run forever!
The main reason why more people aren't using it is because OCaml is still a relatively obscure language. Though I reckon that will eventually change, as people realise its advantages. Take the new darling of many people, F#, for example: it is largely based on OCaml.
If you had really complete freedom and were willing to try out something radically different from existing frameworks, I would suggest you would take a look at Ocsigen. It is based on the OCaml language, which alone implies a different mindset from traditional frameworks based on imperative languages. Some of Ocsigen's cool features:
Sorry if this sounds like a sales pitch, but I would just like to point out that there are wonderful technologies out there, if people were just willing to take a step outside the trodden path.
I had my first encounter with Erlang at a Ericsson presentation back in 1994. It's amazing that more than ten years have passed since then, and only now is the language becoming more mainstream! This new-found attention is well-deserved, however: Erlang will feel right at home in those +80 CPU cores on the horizon...
As for other less conventional languages, OCaml also definitely deserves a look. It is functional, though also allows imperative features; it has a powerful module system, but also supports object-oriented programming; it has a certain academic feel, but real-world performance (check the shootout if you want: it's among the fastest ones, comparable to C++) and a very good and comprehensive repository of libraries (even for low-level stuff!). Definitely one of the best things to come out of France in recent memory!
Can the enlightened /. crowd tell me if Eclipse also handles (decently!) non-mainstream languages like Haskell or OCaml? I am particularly interested in the latter, and I'm curious to know if this Eclipse thingy will do a better job than vi at handling OCaml programmes.
Let us start by the definitions. By "Libertarian", I assume you mean someone who on the political compass tends towards the southeast quadrant (favours high social freedom and low/no state intervention in economic affairs). If that is the case, then I beg to differ. Me and most of my geek friends tend towards the far southwest quadrant. I would go as far as saying that is default assumption around here (I am european) when I meet someone who is intelligent and "geeky".
In short, try not to think as depression as something simply psychological, but as a physical illness caused by chronic abuse of the brain. Giving it a chance to rest is the first step towards recovery.
To summarise it, what if stress and depression arise from chronic overuse of the brain? Information overload and lack of sleep could be the real culprits. Think about it.
What happens is that smarter people are able to compensate for longer the damage caused by Alzheimer's. Thus they tend to show the "show-stopping" symptoms much later than the average person. But by that time, the disease has ravaged the brain so much that the decline *seems* ("seem" is the critical word) to happen a lot faster.
There was recently an article on New Scientist precisely about this: http://www.newscientist.com/channel/health/mg18825 301.300.html
(unfortunately the whole article does not seem available for free on the web).
Some have asked why do they need a publisher at all. Well, their previous EP was distributed in a large "brick & mortar" chain here in Portugal, and having physical CDs does help in getting the album reviewed by dead-tree newspapers and magazines.
As for internet distribution, P2P is definitely the way to go. It is easy to give copies of official ogg vorbis to a bunch of friends and ask them to share the files on the Edonkey2000 network or others.
Bittorrent would also be nice, but that entails finding a reliable tracker to be the host.
As for the file formats, does anyone know if they would be allowed (legal-wise) to produce official MP3s? (Though they would also release ogg vorbis anyway).
Merchandising is a good idea anyway.
However, medical students are well aware of this phenomenon (at a rational level) and soon get over it. The problem with having so much medical information (even assuming it is all trustworthy) available to the general public is that your average person has no preparation whatsoever to deal with it. Expect to find plenty of aunties with prostate cancer... :-)
Despite all of these pitfalls, I think the advantages of having broader access to information still outweight the disadvantages. If not for anything else, it keeps doctors on their toes: they are not the sole guardians of the "mystical medical knowledge" anymore.
At last, consider that in some cases you may discover on the Internet "second opinions" about some medical treatments which otherwise you would be totally ignorant about. Check this story for a very enlightening example.
Many young people may be tempted to think that their brains are indestructible, that they can work for as many hours as they want, sleep as less as possible, and constantly overload their minds with stuff to process. They tend to find out the hard way (namely with burnouts) that reality is quite different. If you doubt this, do yourself a favor and have a chat with someone who has been through the problem.
You will therefore excuse me, Mr. Gates, but information overload is definitely not overblown.
I thought that his (her?) description of hormesis was fascinating. Take a good look at those graphs in section 3 (from the second part) to understand the real deal behind sports. Everyone who starts to exercise to fend off stress should really understand how and why it may help. Remember folks: if you over do it, you could actually be making your depression worse!
It's a pity that this huge caveat isn't more widely known. Especially if you are young, it is very easy to start exercising obsessively, and it might be too late before you realise all the harm that you are doing to yourself. Remember that moderation is the secret!