It was, of course, a lie what you read about my religious convictions, a lie which is being systematically repeated. I do not believe in a personal God and I have never denied this but have expressed it clearly. If something is in me which can be called religious then it is the unbounded admiration for the structure of the world so far as our science can reveal it.
Regardless, even if he did say what you're suggesting, it would still be wrong. He's the one who invented the cosmological constant, after all -- as if even that were relevant. You might also want to look up "appeal to authority".
Science can't explain how the universe was formed from.
So in addition to not studying biology or science at all, you've also neglected English.
Get an education.
At one point it couldn't explain how the earth was formed, or why the rain fell, what was lightning.
Yes, and now we can.
Why is a concept like Zues' lightning bolt sound more absurd then 'a big bang'
Because we know that lightning doesn't come from Zeus, and we know with a high degree of certainty not only that the Big Bang happened, but what the Universe looked like since a few fractions of a second afterwards. Such ideas sound absurd to you only because you haven't bothered to learn.
Google "cosmic background radiation". Find similar evidence for Zeus, and we'll talk.
are you saying because something is not well understood it should be ignored?
No, we are saying that in science, when you don't actually know something -- that is, when you have insufficient evidence for something -- you say, "I don't know." You can speculate, sure, but the place to do that is in the field, with other scientists, not in the classroom.
Would you be similarly eager to teach astrology alongside cosmology? How about teaching the appropriate use of leeches and trepanation alongside real medicine?
In what world is it at all appropriate to present your personal speculation as scientific fact to a group of impressionable schoolchildren?
Creationism is not a scientific theory, and Evolution has more evidentiary support than the theory of gravity. If you want to "teach the controversy", do it at home, or even in a religious studies class, but get it the fuck out of our science classes.
As my Christian friends love to point out whenever I quote a particularly uncomfortable Bible passage, it's all about context.
woe to those who draw a picture of Jesus,
In what context? If it's in art class, and if the assignment allows it, I don't see a problem. If you were supposed to be doing a master copy, or maybe it wasn't a class related to art at all, that would be a problem.
pray,
If it's in a cafeteria, say, or in the hall, sure! If it's in class and it's disrupting people, again, we have a problem.
ask to start a Bible club,
Are you intending to use school funds for that? If so, I can see that being a problem -- you're asking for the school, and thus the taxpayers, to support your particular religion. Oddly enough, I know that each of the multiple religious student groups on campus here are "equal opportunity", and that technically, I could join all of them, and they couldn't kick me out on the basis of my religion (or lack thereof).
or physically bring the Bible to school.
That shouldn't be a problem, though I would again have to ask for context -- how was it being used? If the kid was simply carrying it in his backpack, no problem. If he was studying it when he was supposed to be studying something else, problem.
Also: Citation needed. Which cases are you talking about, so that we have a chance of moving beyond speculation?
Group 1 is the worrying one, because not a lot can be done about them. However, it would be worth at least encouraging these companies to test with newer versions of IE in a compatibility mode, or even keeping IE6 around only as IETab for their corporate intranet.
Group 2 is exactly the group which needs a cluebat, which is why we need more websites to at least start urging users to upgrade, if not outright blocking older browsers. Aside from harming the Web, their IE6 is likely full of holes (especially with WinME in a default configuration), so they'll be part of several botnets.
Group 3 kind of deserve that "your'e a douche" message.
It seems like most of the cost he describes is associated with running a Web-based proxy -- that is, a proxy that simply presents itself as a webpage with a form, rather than a native HTTP proxy.
We've had HTTP proxies as a spec for decades. Forget all the custom software and hacks you're talking about -- slightly more work by the end-user, but it would work everywhere, and the upkeep would be the cost of running a Squid proxy.
As the source language is actually PHP, I'm going to say that the fact that it compiles to C++ is about as relevant as the fact that the PHP interpreter itself was likely written in C.
The point stands -- get as big as Facebook, and you could be doing the same thing to Ruby code.
you're taking "ruby is really slow" and trying to spin it into an advantage.
Nope, I'm saying Ruby is optimizing something else -- developer time. That isn't to say it will never be fast, and last I checked, the full Merb stack (and Rails 3.0 is also Merb 2.0) was on par with PHP.
It's also not that it's hard, it's that it's expensive, and a needless expense. Let me put it another way: Do you watch YouTube, ever? (Replace YouTube with Vimeo or any other Flash video website.) Do you ever bother to download a video just to watch it? I mean, you do realize that VLC takes a fraction of the CPU cycles that Flash does, for the same video, right?
But no, I bet you're just like 99% of the population -- it may burn more CPU, it may burn more battery, but you're going to just watch it in the Flash player until you have a good reason not to.
If it was really an issue, if your computer was so old and so slow that the Flash wouldn't play properly... Weigh the amount of time you'd spend in a video downloader against the cost of a low-end PC, and it's a no-brainer.
Ruby on Rails can't be optimized!
Nope, it certainly can, it's just hard, and may (in an absolute worst case) involve replacing parts of it with another language, like C extensions -- not an entirely alien idea to any game developer who's replaced bits of C++ with assembly. (No one would sanely claim that the next blockbuster game should be written in assembly for speed -- you optimize the tight loops that way, but the game logic should be higher level.)
And it's just an observation, I'm not sure if it's cultural or if it's the slowness, but it seems like Ruby people, especially Rails people, focus on horizontal scalability and optimizing their algorithms in the broad sense -- again, O(logn) vs O(n^2). Java vs Ruby is the difference between two servers and four, or a request taking 50 ms vs 100 ms. Your application logic is the difference between four servers and twenty (or not being able to scale at all), or between 100 ms and 2000 ms (or two days, or crash the server because you ran out of RAM).
These are good lessons for any system, but Ruby people seem to be especially conscious of it. Still, I think it illustrates something -- the language is going to be the least of your problems when it comes to optimizing any app, until you're at a much larger scale than 2-4 machines -- think hundreds. Eventually, it may be worth rewriting large chunks of your app, or doing a ground-up rewrite, in a more efficient language -- or it may be worth improving the interpreter of the language you've got (as Facebook has).
But you have to get there first. If you're busy doing Java because you want it to be efficient, and I steal all your marketshare because I write one line of Ruby for every five lines of Java, and I get to market while you've got a prototype with 20% of the functionality... I win. Even if I have to rewrite it all in Java later, I have the money to do that, because I've got the traffic.
And the biggest "problem" there is the lag while they spin up an instance of your app. The most promising thing I've seen about that is a proposal to cache a JRuby image as Java bytecode -- that should drop us back closer to Java spin-up times, which really aren't that bad now.
Take a look at some of the replies. I see two which bash Rails quite a lot, they just actually put some thought into it. They got modded up, and you got modded down.
But hey...
Ruby on Rails promised that it will "kill developers"
I don't think anyone ever claimed that, except you.
Soon after it turned out "real programmers" can't scale a Rails app to save their job (Twitter).
They still have jobs, and Twitter still runs Rails on the web interface.
Your moment of marketing glory is over.
We're programmers. Marketing doesn't quite work if there isn't at least something to back it up -- that's why we're not all using ASP.NET.
AC was just saying what many of us think,
Nice how you post this as an AC, also...
just like PHP RoR is a great language
Nope, PHP is a language, and it's not great. Ruby is a language, but Ruby on Rails is not a language, it's a framework.
I could find dozens of reasons Ruby is better than PHP, but hey, Facebook runs on PHP.
It's praises are sung by the same group that think MySQL is the ultimate enterprise database.
Rails supports Oracle and SQL Server. But hey, MySQL still runs Twitter.
First, I truly dislike "convention over configuration". The main problem there is that they "convention" they use is far too limited for any sizable application. It may be sufficient for a blog web app, or a bug tracker, or small-scale applications like that. But we now have one web app with over 900 controllers, and "convention" falls apart at this size.
First, yes,
we probably should refactor our app, but we're not in a position to do so at the moment.
you should, and this would be biting you in the ass just as much with other technologies.
But keep in mind, "convention over configuration" is not "convention instead of configuration". The idea is that if you follow the conventions, things work better. If you need to go beyond them, you can still configure things.
The same goes for ActiveRecord. It's great in simple cases, but falls apart rapidly when you're developing larger web apps, especially when you're performing complex data retrieval.
For what it's worth, I prefer Datamapper. I don't have especially bad memories of ActiveRecord, though -- but I probably wasn't doing especially complex queries.
But note, again, it's about convention over configuration. Nothing's stopping you from hand-coding raw SQL, or even going entirely around ActiveRecord in the few cases where you actually need that. The other lesson is, of course, that if your queries are your bottleneck, there are probably other tricks you could be doing, like memcached.
And like it or not, the performance of Ruby is quite poor. We actually had to purchase some additional hardware to handle the extra load after converting an old Java-based web app to Ruby on Rails.... It was cheaper just to buy more hardware.
That's part of the point of Rails, though. It usually is cheaper to buy more hardware than to optimize, Ruby just forces you to face that up front.
Sure, sometimes you can change your algorithm from O(n^2) to O(logn) and get a massive speedup, and it's worth it when you can do that. But an extra 5-10% likely isn't worth it until you're of sufficient size that 5-10% of your hardware is costing more than hiring an extra person to do those optimizations.
This argument is wonderfully circular. So because closed video formats are the way things are for some applications, closed video formats are the way things should remain.
Momentum tends to be that way.
No, I'm not saying things should remain that way, but I'm saying that is why there will be a lot of h.264 video, and I'd like to be able to deal with it. That's also why if you want Theora to win, you're going to have to address it there.
It's not a fun problem -- you've got the chicken-and-egg situation of vendors not supporting you because the format isn't popular, and the format certainly won't be popular if it drains everything's battery life and stutters madly on slower machines.
Google will probably be that king-maker and the video codec they're likely to make king is VP8. And fret not, once that happens broad device support will follow.
Great! And I do mean that.
Even if this were to happen, though, it's not going to be an instant overnight change. I still want my browser to be able to play h.264 in a video tag.
Flash video? You mean that problematic, closed system that everyone is trying to move away from with HTML5?
Sadly not everyone.
Flash has no future.
I hope so, but the current install base and usage suggests otherwise. I'm also using it as an illustration that even if you are right and closed formats lose in the long run, they can still dominate in the short term, and for good reason.
they can either 1) pay licensing fees and not distribute part of their code, which flies in the face of what open source is all about, or 2) integrate native support for three different APIs on three different platforms.
Option #2 has been done by Mozilla many times, for many other things. They've got their own abstraction layer -- or did you think XUL runs on air? This would hardly be the first or the last time they have to add native support for quirks of at least three platforms.
Even in your perfect world where Theora is adopted everywhere, they'd still be far smarter to include native support, so that Theora could be hardware accelerated. It is a stupidly obvious decision from an architectural standpoint, no matter what codec is used -- yet I've seen the feature requests for these killed because people had this zealot-like "h264 BAD!" response.
In order for Apple to include native Ogg Theora support, they can simply integrate one freely available codec into Safari.
Nope, they'd integrate it into OS X -- and third-parties can install it also, at which point it will be supported by Safari.
Apple has refused to do so because of patent concerns.
And you're accusing Mozilla of being the one that has religious-like motivation?
Let's see... Apple is a large, very visible corporation. If it turns out someone does have a submarine patent in Theora, they could be hit, hard. At least with h.264, they've had their lawyers go over it, and they have some assurance that the group they're licensing it from has gone over it -- they may even be able to shift the blame if there do turn out to be submarine patents.
Yes, they're paying a fee, but it's a known fee, and so far, one free of legal hassles. I don't agree with that decision, but I can see what motivates it.
But here's the thing -- Apple has already done what I suggested Mozilla do. Safari simply uses QuickTime for <video> support, and QuickTime is pluggable. Even if Mozilla won't support the native systems, they should at least support a pluggable system -- yet so far, they've refused to even do that.
In conclusion -- Mozilla refuses to support the stupidly obvious way of doing codecs. Apple already does, at least on OS X. Is that BS?
Can you not see the irony in what you're saying?
No, but I'm sure you'll attempt to point it out to me.
Have you ever considered how much you benefit from the ideals of open source, and yes, even DeCSS, even if you don't use open source software?
And I do use open source software.
But I think you're conflating the ideals of open source with the more extreme ideals of Free Software.
Have you been hiding under a rock as we consumers have been trying so hard to pry Big Content's wares from them for our computers and mobile devices, offering to pay a reasonable price for the privilege to do so, only to be constantly turned down because of their greed?
If I understand what you're saying, you're talking about my consistent desire to have major motion pictures available as a DRM-free download, legally and for a fee.
I don't see how what I'm suggesting is inconsistent with that. DRM-free doesn't necessarily imply patent-free. I also don't see how it's as apocalyptic as you paint it -- it's really Big Content's loss if I end up resorting to BitTorrent and a few indie productions which will let me pay for what I want.
Do you think for a second that if it weren't for DeCSS, sites like hulu.com would exist,
Do you think for a second that DeCSS has anything whatsoever to do with Hulu? And what makes Hulu so great? Only in certain countries, unskippable ads, and they're very likely moving to a subscription model soon.
or most of the digital downloads in Apple's app store,
Not in the sense I'm talking about. I'm talking about either the relevant patents expiring, or broad patent reform. This is inevitable. What's not known is whether or not a better format than h.264 will be discovered, and I'd hate to think we went with the second-best technologically because of some short-term legal bullshit.
The patents on H.264 don't expire until 2025. So your proposal is that in 15 years time, the web will be ready for video.
No, my proposal is that in 15 years time, the H.264 patents specifically will become a moot point. Likely less, but I'm not sure.
I say the web is ready for video now and we already have open video formats to implement it. And as you say, in the future we'll have more open formats to choose from.
So I'd rather start using those now.
I agree more or less with your sentiment. The biggest problem I have with this attitude is Firefox' response, which has been to refuse to implement H.264 for no legal, monetary, or technical reason, but entirely as an ideological stand, to prevent H.264 from even being considered. This is the kind of behavior you'd find deplorable in proprietary software -- it would be as if IE refused to support PNG because they had a stake in the GIF patents.
Honestly, there is very little value in closed formats to you as an end user.
There's little value in them being closed, but vast value in specific formats.
H.264 has hardware support on every platform I am ever likely to use, including mobile platforms where it's actually needed. Theora doesn't.
H.264 has better video quality.
H.264 has thousands of videos encoded in it. I can download videos from YouTube, BitTorrent, and many other places, in H.264 format. If I want those same videos in Theora, I have to re-encode, thus taking Theora's quality hit plus the generational loss.
Give me a Theora video, and I either have to re-encode to H.264 to watch on a mobile device, or I have to likely crack it, install custom software, and burn battery. The custom software and battery life hits even apply to laptops.
If you want me to support Theora, give me technical reasons to do so. Make the quality and performance better than H.264. Get hardware vendors to support it. Get OS vendors to include it. And do it in less than 15 years, or H.264 becomes open anyway.
Luckily for you, the only formats that will succeed on the web are open formats.
That is incredibly naive. Were that really the case, would we see Flash video dominate, ever?
The claim that Ogg Theora is inferior is a myth [xiph.org].
You would do well to actually read that page.
The quality of video is virtually identical,
Maybe for a layman, and I know it's hard for me to see the difference. But it is not identical, and quality-per-bit matters. Do you really think Google is paying the h.264 royalties because they haven't done the research? I can't imagine Google enjoys wasting millions.
I thought I made myself clear. Yes, I unequivocally would.
I probably would also, where it made sense -- just as I advocate flac and vorbis over aac. However...
That's not to say that I would have advocated that browsers not implement PNG;
This is where I have the largest disagreement with Theora supporters right now, Mozilla in particular.
if you're willing and able to pony up the licensing fees, bully for you.
On Windows, Microsoft already paid the licensing fees. All Firefox has to do is support DirectShow.
Same with OS X -- Apple already paid the licensing fees. All Firefox has to do is support QuickTime.
On Linux, I tend not to care, just as I don't care that I've got DeCSS so I can play copy-protected DVDs. But Firefox doesn't have to care -- they can just support GStreamer. Maybe nVidia will even give me a GStreamer plugin that uses my video card to do the decoding, thus making it legal -- after all, nVidia already paid the licensing fees.
There is no technical or legal issue stopping this. Instead, there is the religious issue of Firefox wanting to do everything they can to make it difficult to run h.264 video in a video tag on Firefox, because they don't want h.264 to become the defacto video tag standard. So they're going to take the technologically inferior approach, one which will come back to bite them in the ass the second any other free format is released, or any proprietary format becomes free, and which may well result in Firefox being the only browser which won't support YouTube's HTML5 out of the box.
So I think we're in agreement about that much, at least.
Yes, even GIF is an open format these days as Unisys' patents expired in 2004.
Yes, let's try to remember that the h.264 patents will eventually expire, also. It'll be an annoying decade or so until it happens, granted, but there's something to be said for choosing the appropriate codec on technological grounds and letting the legal system catch up.
Let's not forget just how quickly the popularity of GIF plummeted once Unisys decided it would be a good idea to enforce its patents.
Let's also try to remember that GIFs hardly disappeared from the Internet at that time. Sure, it drove adoption of PNG, which is a good thing, but even today, PNG is not a complete replacement for GIF.
Question: Are we talking under ten percent of all browsers, or just browsers that support HTML5? Keep in mind that IE doesn't support HTML5, so it's not terribly relevant to that "percentage" calculation, unless you also want to compare the same numbers for Theora.
It's kind of like when some Christians whine about how they're being "censored" when they can't force everyone else to accept their views. "You can't require people to pray during science class," somehow gets twisted into "You can't open a Bible in school," which isn't true at all.
So yes -- there is currently no standard. This does not mean h.264 is the standard, it means h.264 is still a possible candidate, and that it would still be standard to deliver video in h.264 format -- and also in Theora, DivX, or anything else. Just like it's currently allowed to distribute images in PNG, GIF, or anything else.
Remember the GIF kerfuffle? Remember the JPG morass? Remember how long it took Microsoft to get a browser out there that supported PNG, which is a better image rendering codec,
And there's still a lot of it that they don't support... but that's beside the point. All modern browsers still support GIF and JPEG, for obvious reasons -- GIF can be animated, and PNG can't make up its mind about a proper animated standard, so animated PNGs tend not to work in browsers. And JPEG is lossy compression, which you do sometimes want.
Wouldn't it be nice if, just for once, we could bypass all of the stupidity and just settle on something up front that's easy and that everyone can support?
You're missing a third requirement -- that it be a better codec. Imagine for a moment that PNG had been the proprietary format, and only JPEG had been open. Would you really have advocated JPEG? Do you think anyone would've listened to you?
First, make Theora better than h.264. Then get hardware vendors to implement it. Then we can start making progress. In the mean time, I'd prefer h.264 YouTube videos in a <video> tag, rather than in a flash object.
Let me put it this way: Would you want the Web to be a place with BMPs and GIFs for image formats?
Of course not. But it's not specified. <img> supports pretty much anything, and it's up to the browsers and site authors to agree what to use. It's settled mostly on PNG, GIF, and JPEG, but you can still find BMPs out there, and they still work.
I'd rather have a Web which embraces the robustness principle of, "be conservative in what you send, liberal in what you accept" -- I don't want the Web to be dominated by h.264. However, if I've got an h.264 video, from whatever source -- pirate bay, camera, Blu-Ray rip, whatever -- I'd rather not have to castrate the quality by converting it to another format just to make the browser happy. If I have to transcode anyway to downgrade the quality, sure, I'll use whatever format makes sense, but I'd like the original format to be supported.
Let me put it as simply as I can: How would you like a VLC which only supported Theora? Maybe that will help you understand my disgust with a Firefox that only supports Theora.
He also said:
It was, of course, a lie what you read about my religious convictions, a lie which is being systematically repeated. I do not believe in a personal God and I have never denied this but have expressed it clearly. If something is in me which can be called religious then it is the unbounded admiration for the structure of the world so far as our science can reveal it.
Regardless, even if he did say what you're suggesting, it would still be wrong. He's the one who invented the cosmological constant, after all -- as if even that were relevant. You might also want to look up "appeal to authority".
Science can't explain how the universe was formed from.
So in addition to not studying biology or science at all, you've also neglected English.
Get an education.
At one point it couldn't explain how the earth was formed, or why the rain fell, what was lightning.
Yes, and now we can.
Why is a concept like Zues' lightning bolt sound more absurd then 'a big bang'
Because we know that lightning doesn't come from Zeus, and we know with a high degree of certainty not only that the Big Bang happened, but what the Universe looked like since a few fractions of a second afterwards. Such ideas sound absurd to you only because you haven't bothered to learn.
Google "cosmic background radiation". Find similar evidence for Zeus, and we'll talk.
are you saying because something is not well understood it should be ignored?
No, we are saying that in science, when you don't actually know something -- that is, when you have insufficient evidence for something -- you say, "I don't know." You can speculate, sure, but the place to do that is in the field, with other scientists, not in the classroom.
Would you be similarly eager to teach astrology alongside cosmology? How about teaching the appropriate use of leeches and trepanation alongside real medicine?
In what world is it at all appropriate to present your personal speculation as scientific fact to a group of impressionable schoolchildren?
Creationism is not a scientific theory, and Evolution has more evidentiary support than the theory of gravity. If you want to "teach the controversy", do it at home, or even in a religious studies class, but get it the fuck out of our science classes.
As my Christian friends love to point out whenever I quote a particularly uncomfortable Bible passage, it's all about context.
woe to those who draw a picture of Jesus,
In what context? If it's in art class, and if the assignment allows it, I don't see a problem. If you were supposed to be doing a master copy, or maybe it wasn't a class related to art at all, that would be a problem.
pray,
If it's in a cafeteria, say, or in the hall, sure! If it's in class and it's disrupting people, again, we have a problem.
ask to start a Bible club,
Are you intending to use school funds for that? If so, I can see that being a problem -- you're asking for the school, and thus the taxpayers, to support your particular religion. Oddly enough, I know that each of the multiple religious student groups on campus here are "equal opportunity", and that technically, I could join all of them, and they couldn't kick me out on the basis of my religion (or lack thereof).
or physically bring the Bible to school.
That shouldn't be a problem, though I would again have to ask for context -- how was it being used? If the kid was simply carrying it in his backpack, no problem. If he was studying it when he was supposed to be studying something else, problem.
Also: Citation needed. Which cases are you talking about, so that we have a chance of moving beyond speculation?
How, exactly, does it vary? It seems way more consistent than CSS has been -- again, outside of IE.
It's also not far off. According to their FAQ:
It is estimated by the editor that HTML5 will reach the W3C Candidate Recommendation stage during 2012.
If you believe the W3C's official line, it'll be later this year.
So not flamebait, maybe, but definitely FUD.
Group 1 is the worrying one, because not a lot can be done about them. However, it would be worth at least encouraging these companies to test with newer versions of IE in a compatibility mode, or even keeping IE6 around only as IETab for their corporate intranet.
Group 2 is exactly the group which needs a cluebat, which is why we need more websites to at least start urging users to upgrade, if not outright blocking older browsers. Aside from harming the Web, their IE6 is likely full of holes (especially with WinME in a default configuration), so they'll be part of several botnets.
Group 3 kind of deserve that "your'e a douche" message.
It seems like most of the cost he describes is associated with running a Web-based proxy -- that is, a proxy that simply presents itself as a webpage with a form, rather than a native HTTP proxy.
We've had HTTP proxies as a spec for decades. Forget all the custom software and hacks you're talking about -- slightly more work by the end-user, but it would work everywhere, and the upkeep would be the cost of running a Squid proxy.
As the source language is actually PHP, I'm going to say that the fact that it compiles to C++ is about as relevant as the fact that the PHP interpreter itself was likely written in C.
The point stands -- get as big as Facebook, and you could be doing the same thing to Ruby code.
you're taking "ruby is really slow" and trying to spin it into an advantage.
Nope, I'm saying Ruby is optimizing something else -- developer time. That isn't to say it will never be fast, and last I checked, the full Merb stack (and Rails 3.0 is also Merb 2.0) was on par with PHP.
It's also not that it's hard, it's that it's expensive, and a needless expense. Let me put it another way: Do you watch YouTube, ever? (Replace YouTube with Vimeo or any other Flash video website.) Do you ever bother to download a video just to watch it? I mean, you do realize that VLC takes a fraction of the CPU cycles that Flash does, for the same video, right?
But no, I bet you're just like 99% of the population -- it may burn more CPU, it may burn more battery, but you're going to just watch it in the Flash player until you have a good reason not to.
If it was really an issue, if your computer was so old and so slow that the Flash wouldn't play properly... Weigh the amount of time you'd spend in a video downloader against the cost of a low-end PC, and it's a no-brainer.
Ruby on Rails can't be optimized!
Nope, it certainly can, it's just hard, and may (in an absolute worst case) involve replacing parts of it with another language, like C extensions -- not an entirely alien idea to any game developer who's replaced bits of C++ with assembly. (No one would sanely claim that the next blockbuster game should be written in assembly for speed -- you optimize the tight loops that way, but the game logic should be higher level.)
And it's just an observation, I'm not sure if it's cultural or if it's the slowness, but it seems like Ruby people, especially Rails people, focus on horizontal scalability and optimizing their algorithms in the broad sense -- again, O(logn) vs O(n^2). Java vs Ruby is the difference between two servers and four, or a request taking 50 ms vs 100 ms. Your application logic is the difference between four servers and twenty (or not being able to scale at all), or between 100 ms and 2000 ms (or two days, or crash the server because you ran out of RAM).
These are good lessons for any system, but Ruby people seem to be especially conscious of it. Still, I think it illustrates something -- the language is going to be the least of your problems when it comes to optimizing any app, until you're at a much larger scale than 2-4 machines -- think hundreds. Eventually, it may be worth rewriting large chunks of your app, or doing a ground-up rewrite, in a more efficient language -- or it may be worth improving the interpreter of the language you've got (as Facebook has).
But you have to get there first. If you're busy doing Java because you want it to be efficient, and I steal all your marketshare because I write one line of Ruby for every five lines of Java, and I get to market while you've got a prototype with 20% of the functionality... I win. Even if I have to rewrite it all in Java later, I have the money to do that, because I've got the traffic.
And the biggest "problem" there is the lag while they spin up an instance of your app. The most promising thing I've seen about that is a proposal to cache a JRuby image as Java bytecode -- that should drop us back closer to Java spin-up times, which really aren't that bad now.
Do you have an original thought of your own?
Take a look at some of the replies. I see two which bash Rails quite a lot, they just actually put some thought into it. They got modded up, and you got modded down.
But hey...
Ruby on Rails promised that it will "kill developers"
I don't think anyone ever claimed that, except you.
Soon after it turned out "real programmers" can't scale a Rails app to save their job (Twitter).
They still have jobs, and Twitter still runs Rails on the web interface.
Your moment of marketing glory is over.
We're programmers. Marketing doesn't quite work if there isn't at least something to back it up -- that's why we're not all using ASP.NET.
AC was just saying what many of us think,
Nice how you post this as an AC, also...
just like PHP RoR is a great language
Nope, PHP is a language, and it's not great. Ruby is a language, but Ruby on Rails is not a language, it's a framework.
I could find dozens of reasons Ruby is better than PHP, but hey, Facebook runs on PHP.
It's praises are sung by the same group that think MySQL is the ultimate enterprise database.
Rails supports Oracle and SQL Server. But hey, MySQL still runs Twitter.
First, I truly dislike "convention over configuration". The main problem there is that they "convention" they use is far too limited for any sizable application. It may be sufficient for a blog web app, or a bug tracker, or small-scale applications like that. But we now have one web app with over 900 controllers, and "convention" falls apart at this size.
First, yes,
we probably should refactor our app, but we're not in a position to do so at the moment.
you should, and this would be biting you in the ass just as much with other technologies.
But keep in mind, "convention over configuration" is not "convention instead of configuration". The idea is that if you follow the conventions, things work better. If you need to go beyond them, you can still configure things.
The same goes for ActiveRecord. It's great in simple cases, but falls apart rapidly when you're developing larger web apps, especially when you're performing complex data retrieval.
For what it's worth, I prefer Datamapper. I don't have especially bad memories of ActiveRecord, though -- but I probably wasn't doing especially complex queries.
But note, again, it's about convention over configuration. Nothing's stopping you from hand-coding raw SQL, or even going entirely around ActiveRecord in the few cases where you actually need that. The other lesson is, of course, that if your queries are your bottleneck, there are probably other tricks you could be doing, like memcached.
And like it or not, the performance of Ruby is quite poor. We actually had to purchase some additional hardware to handle the extra load after converting an old Java-based web app to Ruby on Rails.... It was cheaper just to buy more hardware.
That's part of the point of Rails, though. It usually is cheaper to buy more hardware than to optimize, Ruby just forces you to face that up front.
Sure, sometimes you can change your algorithm from O(n^2) to O(logn) and get a massive speedup, and it's worth it when you can do that. But an extra 5-10% likely isn't worth it until you're of sufficient size that 5-10% of your hardware is costing more than hiring an extra person to do those optimizations.
I'd probably use my cell to get the photo, but either way...
From TFA:
I could never type fast enough to keep up with the professor...
WTF? You write faster than you type?
That's bizarre. Learn to touch-type, it'll serve you well.
Either you can have illegal downloads and the Internet, or you can have neither. Your choice.
I'm not sure I agree. The <img> tag doesn't specify a format; why should <audio> or <video>?
This argument is wonderfully circular. So because closed video formats are the way things are for some applications, closed video formats are the way things should remain.
Momentum tends to be that way.
No, I'm not saying things should remain that way, but I'm saying that is why there will be a lot of h.264 video, and I'd like to be able to deal with it. That's also why if you want Theora to win, you're going to have to address it there.
It's not a fun problem -- you've got the chicken-and-egg situation of vendors not supporting you because the format isn't popular, and the format certainly won't be popular if it drains everything's battery life and stutters madly on slower machines.
Google will probably be that king-maker and the video codec they're likely to make king is VP8. And fret not, once that happens broad device support will follow.
Great! And I do mean that.
Even if this were to happen, though, it's not going to be an instant overnight change. I still want my browser to be able to play h.264 in a video tag.
Flash video? You mean that problematic, closed system that everyone is trying to move away from with HTML5?
Sadly not everyone.
Flash has no future.
I hope so, but the current install base and usage suggests otherwise. I'm also using it as an illustration that even if you are right and closed formats lose in the long run, they can still dominate in the short term, and for good reason.
they can either 1) pay licensing fees and not distribute part of their code, which flies in the face of what open source is all about, or 2) integrate native support for three different APIs on three different platforms.
Option #2 has been done by Mozilla many times, for many other things. They've got their own abstraction layer -- or did you think XUL runs on air? This would hardly be the first or the last time they have to add native support for quirks of at least three platforms.
Even in your perfect world where Theora is adopted everywhere, they'd still be far smarter to include native support, so that Theora could be hardware accelerated. It is a stupidly obvious decision from an architectural standpoint, no matter what codec is used -- yet I've seen the feature requests for these killed because people had this zealot-like "h264 BAD!" response.
In order for Apple to include native Ogg Theora support, they can simply integrate one freely available codec into Safari.
Nope, they'd integrate it into OS X -- and third-parties can install it also, at which point it will be supported by Safari.
Apple has refused to do so because of patent concerns.
And you're accusing Mozilla of being the one that has religious-like motivation?
Let's see... Apple is a large, very visible corporation. If it turns out someone does have a submarine patent in Theora, they could be hit, hard. At least with h.264, they've had their lawyers go over it, and they have some assurance that the group they're licensing it from has gone over it -- they may even be able to shift the blame if there do turn out to be submarine patents.
Yes, they're paying a fee, but it's a known fee, and so far, one free of legal hassles. I don't agree with that decision, but I can see what motivates it.
But here's the thing -- Apple has already done what I suggested Mozilla do. Safari simply uses QuickTime for <video> support, and QuickTime is pluggable. Even if Mozilla won't support the native systems, they should at least support a pluggable system -- yet so far, they've refused to even do that.
In conclusion -- Mozilla refuses to support the stupidly obvious way of doing codecs. Apple already does, at least on OS X. Is that BS?
Can you not see the irony in what you're saying?
No, but I'm sure you'll attempt to point it out to me.
Have you ever considered how much you benefit from the ideals of open source, and yes, even DeCSS, even if you don't use open source software?
And I do use open source software.
But I think you're conflating the ideals of open source with the more extreme ideals of Free Software.
Have you been hiding under a rock as we consumers have been trying so hard to pry Big Content's wares from them for our computers and mobile devices, offering to pay a reasonable price for the privilege to do so, only to be constantly turned down because of their greed?
If I understand what you're saying, you're talking about my consistent desire to have major motion pictures available as a DRM-free download, legally and for a fee.
I don't see how what I'm suggesting is inconsistent with that. DRM-free doesn't necessarily imply patent-free. I also don't see how it's as apocalyptic as you paint it -- it's really Big Content's loss if I end up resorting to BitTorrent and a few indie productions which will let me pay for what I want.
Do you think for a second that if it weren't for DeCSS, sites like hulu.com would exist,
Do you think for a second that DeCSS has anything whatsoever to do with Hulu? And what makes Hulu so great? Only in certain countries, unskippable ads, and they're very likely moving to a subscription model soon.
or most of the digital downloads in Apple's app store,
I
The legal system has already caught up.
Not in the sense I'm talking about. I'm talking about either the relevant patents expiring, or broad patent reform. This is inevitable. What's not known is whether or not a better format than h.264 will be discovered, and I'd hate to think we went with the second-best technologically because of some short-term legal bullshit.
The patents on H.264 don't expire until 2025. So your proposal is that in 15 years time, the web will be ready for video.
No, my proposal is that in 15 years time, the H.264 patents specifically will become a moot point. Likely less, but I'm not sure.
I say the web is ready for video now and we already have open video formats to implement it. And as you say, in the future we'll have more open formats to choose from.
So I'd rather start using those now.
I agree more or less with your sentiment. The biggest problem I have with this attitude is Firefox' response, which has been to refuse to implement H.264 for no legal, monetary, or technical reason, but entirely as an ideological stand, to prevent H.264 from even being considered. This is the kind of behavior you'd find deplorable in proprietary software -- it would be as if IE refused to support PNG because they had a stake in the GIF patents.
Honestly, there is very little value in closed formats to you as an end user.
There's little value in them being closed, but vast value in specific formats.
H.264 has hardware support on every platform I am ever likely to use, including mobile platforms where it's actually needed. Theora doesn't.
H.264 has better video quality.
H.264 has thousands of videos encoded in it. I can download videos from YouTube, BitTorrent, and many other places, in H.264 format. If I want those same videos in Theora, I have to re-encode, thus taking Theora's quality hit plus the generational loss.
Give me a Theora video, and I either have to re-encode to H.264 to watch on a mobile device, or I have to likely crack it, install custom software, and burn battery. The custom software and battery life hits even apply to laptops.
If you want me to support Theora, give me technical reasons to do so. Make the quality and performance better than H.264. Get hardware vendors to support it. Get OS vendors to include it. And do it in less than 15 years, or H.264 becomes open anyway.
Luckily for you, the only formats that will succeed on the web are open formats.
That is incredibly naive. Were that really the case, would we see Flash video dominate, ever?
The claim that Ogg Theora is inferior is a myth [xiph.org].
You would do well to actually read that page.
The quality of video is virtually identical,
Maybe for a layman, and I know it's hard for me to see the difference. But it is not identical, and quality-per-bit matters. Do you really think Google is paying the h.264 royalties because they haven't done the research? I can't imagine Google enjoys wasting millions.
I thought I made myself clear. Yes, I unequivocally would.
I probably would also, where it made sense -- just as I advocate flac and vorbis over aac. However...
That's not to say that I would have advocated that browsers not implement PNG;
This is where I have the largest disagreement with Theora supporters right now, Mozilla in particular.
if you're willing and able to pony up the licensing fees, bully for you.
On Windows, Microsoft already paid the licensing fees. All Firefox has to do is support DirectShow.
Same with OS X -- Apple already paid the licensing fees. All Firefox has to do is support QuickTime.
On Linux, I tend not to care, just as I don't care that I've got DeCSS so I can play copy-protected DVDs. But Firefox doesn't have to care -- they can just support GStreamer. Maybe nVidia will even give me a GStreamer plugin that uses my video card to do the decoding, thus making it legal -- after all, nVidia already paid the licensing fees.
There is no technical or legal issue stopping this. Instead, there is the religious issue of Firefox wanting to do everything they can to make it difficult to run h.264 video in a video tag on Firefox, because they don't want h.264 to become the defacto video tag standard. So they're going to take the technologically inferior approach, one which will come back to bite them in the ass the second any other free format is released, or any proprietary format becomes free, and which may well result in Firefox being the only browser which won't support YouTube's HTML5 out of the box.
So I think we're in agreement about that much, at least.
Yes, even GIF is an open format these days as Unisys' patents expired in 2004.
Yes, let's try to remember that the h.264 patents will eventually expire, also. It'll be an annoying decade or so until it happens, granted, but there's something to be said for choosing the appropriate codec on technological grounds and letting the legal system catch up.
Let's not forget just how quickly the popularity of GIF plummeted once Unisys decided it would be a good idea to enforce its patents.
Let's also try to remember that GIFs hardly disappeared from the Internet at that time. Sure, it drove adoption of PNG, which is a good thing, but even today, PNG is not a complete replacement for GIF.
Question: Are we talking under ten percent of all browsers, or just browsers that support HTML5? Keep in mind that IE doesn't support HTML5, so it's not terribly relevant to that "percentage" calculation, unless you also want to compare the same numbers for Theora.
Just so, which is why I'm confused.
It's kind of like when some Christians whine about how they're being "censored" when they can't force everyone else to accept their views. "You can't require people to pray during science class," somehow gets twisted into "You can't open a Bible in school," which isn't true at all.
So yes -- there is currently no standard. This does not mean h.264 is the standard, it means h.264 is still a possible candidate, and that it would still be standard to deliver video in h.264 format -- and also in Theora, DivX, or anything else. Just like it's currently allowed to distribute images in PNG, GIF, or anything else.
Remember the GIF kerfuffle? Remember the JPG morass? Remember how long it took Microsoft to get a browser out there that supported PNG, which is a better image rendering codec,
And there's still a lot of it that they don't support... but that's beside the point. All modern browsers still support GIF and JPEG, for obvious reasons -- GIF can be animated, and PNG can't make up its mind about a proper animated standard, so animated PNGs tend not to work in browsers. And JPEG is lossy compression, which you do sometimes want.
Wouldn't it be nice if, just for once, we could bypass all of the stupidity and just settle on something up front that's easy and that everyone can support?
You're missing a third requirement -- that it be a better codec. Imagine for a moment that PNG had been the proprietary format, and only JPEG had been open. Would you really have advocated JPEG? Do you think anyone would've listened to you?
First, make Theora better than h.264. Then get hardware vendors to implement it. Then we can start making progress. In the mean time, I'd prefer h.264 YouTube videos in a <video> tag, rather than in a flash object.
Let me put it this way: Would you want the Web to be a place with BMPs and GIFs for image formats?
Of course not. But it's not specified. <img> supports pretty much anything, and it's up to the browsers and site authors to agree what to use. It's settled mostly on PNG, GIF, and JPEG, but you can still find BMPs out there, and they still work.
I'd rather have a Web which embraces the robustness principle of, "be conservative in what you send, liberal in what you accept" -- I don't want the Web to be dominated by h.264. However, if I've got an h.264 video, from whatever source -- pirate bay, camera, Blu-Ray rip, whatever -- I'd rather not have to castrate the quality by converting it to another format just to make the browser happy. If I have to transcode anyway to downgrade the quality, sure, I'll use whatever format makes sense, but I'd like the original format to be supported.
Let me put it as simply as I can: How would you like a VLC which only supported Theora? Maybe that will help you understand my disgust with a Firefox that only supports Theora.
If they have patens on 'math', think of new math :)
I don't think you understand how math works.