One of the big things that worries me is that there are a lot of files generated. That scares me. What if I made a mistake at the beginning? Is it easy to go back? Do I need to start from scratch?
The generation script doesn't actually generate anything especially complex - it's literally like 10 or 12 lines of code. Further, the framework doesn't remember what it's generated, so you can rename / delete stuff to your heart's content without causing any problems.
For us unenlightened, *when* is the proper time to use RoR? I get it's DB driven. So if you have to write a store, library, or/., you're good. But how does it fair for more general apps?
For any database-driven web application (which ends up being most non-trivial web applications). If your website has user accounts or otherwise needs to remember things, it can probably be written with a database backend.
The book I used to get started is "Agile Web Development with Rails", which covers enough to figure things out.
Re:Usual OSS criticism argument...
on
Rails May Not Suck
·
· Score: 0, Flamebait
How about instead of whining about people whining about their software, Rails advocates fix some of the issues causing arguments against their framework?
How about not.
I'm developing an app in Rails right now, and it's meeting my needs perfectly. If I have problems with it, I'll fix them. If you have problems with it, you fix them.
First, you're misusing a technical term. In the context of voting systems, "gaming" occurs when a voter votes in a way that contradicts their true preferences for (correct) strategic reasons. Setting your threshold wrong in Approval voting doesn't produce a vote that contradicts your true preferences (your examples are all valid expressions of voter preferences) and isn't a correct strategic decision. People failing to understand how to operate an Approval ballot after coming from a plurality system is likely, but it's a separate issue from gaming.
Second, you're right that a 2-candidate plurality election avoids a whole pile of problems - but that doesn't matter because such a system doesn't solve the problem at hand. In practice there *are* more than two candidates (as there must be, because there are more than two political positions), and the solution that you seem to be suggesting, of institutionalizing two specific parties and then having them each select a candidate through primaries, just makes the problem more complex and introduces more systemic artifacts into the result.
They're two separate, incompatible licenses. That's just the way it is. They just happen to have similar names.
You're going out of your way to ignore the obvious reality of the situation.
The GNU GPL is a license that was designed to be occasionally revised, and the writers therefore explicitly provided for forward-compatibility. Most projects that use any version of the license maintain this foreword compatibility - projects that go out of the way to prevent it are the exception.
Maintaining a "GPLv2 or later" project in the face of the possibility of "GPLv3 only" contributions is no more radical or difficult than maintaining a project like Mozilla under a non-trivial license. In contrast, insisting on GPLv2 only is even more obnoxious than insisting on GPLv3 only (since the FSF let everyone know that new versions were likely to happen).
There's a radical difference between "giving up all patent rights" and "providing a patent license to downstream users / developers on the GPLv3 codebase". The GPLv3 makes it so that a company can't contribute code to a project and then sue people later for using that code under the GPLv3. It doesn't impact their patent rights at all for random competitors *unless* those competitors are using the GPLv3 program or a program derived from under it (and therefore still GPLv3 licensed).
Linux used to be released under the latest version of the most popular free software license. Code from Linux could be combined with code from any other GPLed project. Because of the Linux developer's explicit choice to remove the "or later" provision from their license text, this is no longer true. Now most GPLed projects cannot include code from Linux without causing themselves obnoxious and unnecessary licensing problems (by being forced to GPLv2 only instead of GPLv2 or later/GPLv3).
Most GPLed code is licensed under "version X or later", allowing forward compatibility between versions. The main reason some people are annoyed with the Linux guys is that they explicitly removed the "or later" bit from their licensing, making it so that Linux code can't be used with v3 code.
Are you seriously arguing that college computer science graduates should be left completely unaware of low level concerns simply because many of them will have to deal with such problems only occasionally? C and C++ code is reasonably common - sometimes it's even the right tool for a job. If CS graduates don't have experience dealing with the complications of programing in a language with pointers then who does that leave to do it?
In Approval voting, you either vote for a candidate or not. So you have to chose to either vote for Hillary and Obama or to just vote for Hillary. Neither of these choices is gaming the system - they're just different expressions of how much you prefer Obama to Hillary and Hillary to Edwards. It's only gaming the system if you decided to vote for Edwards and *not* for Hillary or Obama - but there's no incentive to do that.
Now, your comment seems to be talking about Range voting - as discussed in the article. In range voting you're still expressing the same preferences - just with more detail. Again, there's no incentive to rank a candidate that you dislike higher than a candidate that you like - and how high you rank Hillary between Obama and Edwards isn't gaming the system - it's expressing your preference specifically (which is the whole point of the system).
You can always game a system that has >= 3 candidates. That's the end of the theory.
How do you game Approval Voting?
You don't. Instead we argue about whether the unrestricted domain criteria is actually important enough that the extent to which Approval voting doesn't meet it is a problem.
Why don't they build it with solar panels that convert solar energy to elctricty so they don't have to pump any salt? Seriously, ones that run on just heat are such a bad, inefficient idea.
It seems like that would be true, doesn't it. Luckily, engineers use actual science to design stuff rather than just gut feelings. Solar to concentrated heat to a steam engine (or similar) is actually still a bit more efficient and cheaper than photovoltaics, but the real killer bit here is overnight storage and generation.
How do you store electricity? Batteries - which are ridiculously expensive and wildly inefficient.
How do you store hot liquids? In a thermos - which ends up being really, really efficient.
we would have shut up all the 'can't be moral without religion' idiots with a simple, 'so the only reason you aren't raping and murdering me right now and stealing my wallet from my corpse is cos your afraid of god punishing you?'
Here in Sweden, it's explicitly to prevent "healthy" people from accidentally seeing kiddie porn, because they (the filterists) believe that pedophilia is contagious; if someone sees kiddie pron, they will become pedophiles. No, I am not making this up.
You should be able to simply ad-hominem them out of the discussion in that case. Get to state their position on TV and simply respond with "So then, what you're saying is that if you saw a picture of a little boy getting it on with a dog you would be sexually aroused?"
When a government decides what communication is allowed and what communication isn't and then actively prevents disallowed communication, that is censorship. It doesn't matter what the communication is or what excuses are used to justify the policy - government controlled filters are censorship, and censorship is evil.
My old Radeon 9800 out performs it greatly ( 100 fps @ 1280x1024), and that has about one third [270Mhz clock vs 800 Mhz clock] the power of the 2400XT
Don't do this. Comparing video cards by clock speed doesn't work at all. You'd have to multiply by pipelines at least, but even that doesn't work anymore with shader units and stuff.
The Radeon 9800 was a high end card from 2003. It has a triangle fill rate of 2.6 GT/s. The Radeon 2400 XT is a low end card today. It has a triangle fill rate of 2.8 GT/s. Performance-wise they're basically the same, with the 2400 XT having a bunch of newer features. But even triangle fill rate isn't a very good comparison - in the end, frame rate in specific games at a given image quality is the only real way to compare the performance of different video cards.
Actually many Universities consider downloading above a certain speed download abuse, they don't care what you are downloading at all.
And many university residents who actually know how to administer a network think that those universities have idiots staffing their IT departments. Fairly sharing bandwidth and handling bandwidth overage charges are both solved problems - the university admins just need to suck it up and implement the known good solutions. This may even involve billing specific students reasonably amounts of extra money for high usage and/or upgrading network connections - if that ends up being the case, they just need to suck it up and do it.
The scientists actually studying in the field seem to think that there is enough variation within the Homo genus to have distinguished at least 14 separate species: http://en.wikipedia.org/wiki/Homo_(genus). You could argue that they have their definition of species wrong, but that's sort of silly - "species" is a scientific classification, so it's far more likely that you have the definition wrong than they do.
Apparently the "different species" hypothesis looks pretty good, but if you want to argue it then that's not something a pair of non-experts are going to resolve in a Slashdot thread.
Homo floresiensis happens to be a good example for the "island isolation" situation, but Neanderthals (or even Chimpanzees if you want to be 100% sure on your "species" difference) are good - and less arguable - examples of speciation among our near evolutionary relatives.
Do you seriously think it is possible to isolate something for hundred of thousands of year without interbreeding?
Absolutely. That's what this Giraffe article is about, after all. It's even happened to humans - that's why there are other species in the "Homo" genus. http://en.wikipedia.org/wiki/Homo_floresiensis makes a good example of long-term isolation.
The question that matters here is a very simple one: The cultural works (songs, movies, and TV shows) already exist. The textbooks to teach every school subject up through undergraduate level already exist. The effective cost to distribute these things to everyone with an internet connection in the entire world is $0. How can we morally justify excluding anyone from access to these things?
We have had isolated colonies last hundreds of thousands of years without this happening.
We have? Where?
The most significant splits you could argue for are the American and the Australian native - and the earliest I've heard for either of those is 40,000 years ago. But even those are extremely unlikely to have been truly isolated populations. Australia is close enough to the rest of Southeast Asia that it's probably never really been genetically isolated. As for the Americas, there have probably been a number of major migrations - with the most recent no earlier than about 10 thousand years ago.
For species splits you really need hundreds of thousands of years without interbreeding, at least for a species with ~20 year generations. Island populations being isolated for centuries is nowhere near long enough to be significant.
The generation script doesn't actually generate anything especially complex - it's literally like 10 or 12 lines of code. Further, the framework doesn't remember what it's generated, so you can rename / delete stuff to your heart's content without causing any problems.
For any database-driven web application (which ends up being most non-trivial web applications). If your website has user accounts or otherwise needs to remember things, it can probably be written with a database backend.
The book I used to get started is "Agile Web Development with Rails", which covers enough to figure things out.
How about not.
I'm developing an app in Rails right now, and it's meeting my needs perfectly. If I have problems with it, I'll fix them. If you have problems with it, you fix them.
First, you're misusing a technical term. In the context of voting systems, "gaming" occurs when a voter votes in a way that contradicts their true preferences for (correct) strategic reasons. Setting your threshold wrong in Approval voting doesn't produce a vote that contradicts your true preferences (your examples are all valid expressions of voter preferences) and isn't a correct strategic decision. People failing to understand how to operate an Approval ballot after coming from a plurality system is likely, but it's a separate issue from gaming.
Second, you're right that a 2-candidate plurality election avoids a whole pile of problems - but that doesn't matter because such a system doesn't solve the problem at hand. In practice there *are* more than two candidates (as there must be, because there are more than two political positions), and the solution that you seem to be suggesting, of institutionalizing two specific parties and then having them each select a candidate through primaries, just makes the problem more complex and introduces more systemic artifacts into the result.
True, but Italian, French, or Spanish will help more. As far as I can tell, the languages are more alike than they are similar to Latin.
A dead cat can do that to though though, and it'll only bid $3/hour.
You're going out of your way to ignore the obvious reality of the situation.
The GNU GPL is a license that was designed to be occasionally revised, and the writers therefore explicitly provided for forward-compatibility. Most projects that use any version of the license maintain this foreword compatibility - projects that go out of the way to prevent it are the exception.
Maintaining a "GPLv2 or later" project in the face of the possibility of "GPLv3 only" contributions is no more radical or difficult than maintaining a project like Mozilla under a non-trivial license. In contrast, insisting on GPLv2 only is even more obnoxious than insisting on GPLv3 only (since the FSF let everyone know that new versions were likely to happen).
There's a radical difference between "giving up all patent rights" and "providing a patent license to downstream users / developers on the GPLv3 codebase". The GPLv3 makes it so that a company can't contribute code to a project and then sue people later for using that code under the GPLv3. It doesn't impact their patent rights at all for random competitors *unless* those competitors are using the GPLv3 program or a program derived from under it (and therefore still GPLv3 licensed).
Linux wouldn't have even gotten off the ground if it weren't for the work that RMS did, like GCC and the GPL.
Linux used to be released under the latest version of the most popular free software license. Code from Linux could be combined with code from any other GPLed project. Because of the Linux developer's explicit choice to remove the "or later" provision from their license text, this is no longer true. Now most GPLed projects cannot include code from Linux without causing themselves obnoxious and unnecessary licensing problems (by being forced to GPLv2 only instead of GPLv2 or later/GPLv3).
Most GPLed code is licensed under "version X or later", allowing forward compatibility between versions. The main reason some people are annoyed with the Linux guys is that they explicitly removed the "or later" bit from their licensing, making it so that Linux code can't be used with v3 code.
Are you seriously arguing that college computer science graduates should be left completely unaware of low level concerns simply because many of them will have to deal with such problems only occasionally? C and C++ code is reasonably common - sometimes it's even the right tool for a job. If CS graduates don't have experience dealing with the complications of programing in a language with pointers then who does that leave to do it?
In Approval voting, you either vote for a candidate or not. So you have to chose to either vote for Hillary and Obama or to just vote for Hillary. Neither of these choices is gaming the system - they're just different expressions of how much you prefer Obama to Hillary and Hillary to Edwards. It's only gaming the system if you decided to vote for Edwards and *not* for Hillary or Obama - but there's no incentive to do that.
Now, your comment seems to be talking about Range voting - as discussed in the article. In range voting you're still expressing the same preferences - just with more detail. Again, there's no incentive to rank a candidate that you dislike higher than a candidate that you like - and how high you rank Hillary between Obama and Edwards isn't gaming the system - it's expressing your preference specifically (which is the whole point of the system).
How do you game Approval Voting?
You don't. Instead we argue about whether the unrestricted domain criteria is actually important enough that the extent to which Approval voting doesn't meet it is a problem.
It seems like that would be true, doesn't it. Luckily, engineers use actual science to design stuff rather than just gut feelings. Solar to concentrated heat to a steam engine (or similar) is actually still a bit more efficient and cheaper than photovoltaics, but the real killer bit here is overnight storage and generation.
How do you store electricity? Batteries - which are ridiculously expensive and wildly inefficient.
How do you store hot liquids? In a thermos - which ends up being really, really efficient.
It answers the only question that matters: "Can the results be reproduced?"
That tactic actually occasionally works.
You should be able to simply ad-hominem them out of the discussion in that case. Get to state their position on TV and simply respond with "So then, what you're saying is that if you saw a picture of a little boy getting it on with a dog you would be sexually aroused?"
When a government decides what communication is allowed and what communication isn't and then actively prevents disallowed communication, that is censorship. It doesn't matter what the communication is or what excuses are used to justify the policy - government controlled filters are censorship, and censorship is evil.
Don't do this. Comparing video cards by clock speed doesn't work at all. You'd have to multiply by pipelines at least, but even that doesn't work anymore with shader units and stuff.
The Radeon 9800 was a high end card from 2003. It has a triangle fill rate of 2.6 GT/s. The Radeon 2400 XT is a low end card today. It has a triangle fill rate of 2.8 GT/s. Performance-wise they're basically the same, with the 2400 XT having a bunch of newer features. But even triangle fill rate isn't a very good comparison - in the end, frame rate in specific games at a given image quality is the only real way to compare the performance of different video cards.
And many university residents who actually know how to administer a network think that those universities have idiots staffing their IT departments. Fairly sharing bandwidth and handling bandwidth overage charges are both solved problems - the university admins just need to suck it up and implement the known good solutions. This may even involve billing specific students reasonably amounts of extra money for high usage and/or upgrading network connections - if that ends up being the case, they just need to suck it up and do it.
The scientists actually studying in the field seem to think that there is enough variation within the Homo genus to have distinguished at least 14 separate species: http://en.wikipedia.org/wiki/Homo_(genus). You could argue that they have their definition of species wrong, but that's sort of silly - "species" is a scientific classification, so it's far more likely that you have the definition wrong than they do.
Apparently the "different species" hypothesis looks pretty good, but if you want to argue it then that's not something a pair of non-experts are going to resolve in a Slashdot thread.
Homo floresiensis happens to be a good example for the "island isolation" situation, but Neanderthals (or even Chimpanzees if you want to be 100% sure on your "species" difference) are good - and less arguable - examples of speciation among our near evolutionary relatives.
Absolutely. That's what this Giraffe article is about, after all. It's even happened to humans - that's why there are other species in the "Homo" genus. http://en.wikipedia.org/wiki/Homo_floresiensis makes a good example of long-term isolation.
You're asking the wrong questions.
The question that matters here is a very simple one: The cultural works (songs, movies, and TV shows) already exist. The textbooks to teach every school subject up through undergraduate level already exist. The effective cost to distribute these things to everyone with an internet connection in the entire world is $0. How can we morally justify excluding anyone from access to these things?
We have? Where?
The most significant splits you could argue for are the American and the Australian native - and the earliest I've heard for either of those is 40,000 years ago. But even those are extremely unlikely to have been truly isolated populations. Australia is close enough to the rest of Southeast Asia that it's probably never really been genetically isolated. As for the Americas, there have probably been a number of major migrations - with the most recent no earlier than about 10 thousand years ago.
For species splits you really need hundreds of thousands of years without interbreeding, at least for a species with ~20 year generations. Island populations being isolated for centuries is nowhere near long enough to be significant.